mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-03 08:21:07 +00:00
groups: group-leave bug fixes (most things have to be static-bound, when somethign is deleted it causes errors on dom listeners). also make second-most-recent-member the new leader if the leaver is leader
This commit is contained in:
parent
f9a978d043
commit
770af3c4d4
2 changed files with 15 additions and 9 deletions
|
|
@ -84,12 +84,18 @@ module.exports.app = (appExports, model, app) ->
|
|||
else e.at().remove clear
|
||||
|
||||
appExports.groupLeave = (e,el) ->
|
||||
uid = user.get('id')
|
||||
group = model.at "groups.#{$(el).attr('data-id')}"
|
||||
index = group.get('members').indexOf(user.get('id'))
|
||||
index = group.get('members').indexOf(uid)
|
||||
if index != -1
|
||||
group.remove 'members', index, 1, ->
|
||||
if _.isEmpty group.get('members') # last member out, delete the party
|
||||
updated = group.get()
|
||||
# last member out, delete the party
|
||||
if _.isEmpty(updated.members)
|
||||
group.del ->location.reload()
|
||||
# assign new leader, so the party is editable #TODO allow old leader to assign new leader, this is just random
|
||||
else if (updated.leader is uid)
|
||||
group.set "leader", updated.members[0], ->location.reload()
|
||||
else location.reload()
|
||||
|
||||
###
|
||||
|
|
|
|||
|
|
@ -27,9 +27,9 @@
|
|||
<div class='tab-pane' id="groups-guilds">
|
||||
<ul class="nav nav-pills">
|
||||
<li class=active><a data-toggle='tab' data-target="#groups-guilds-public">Public Guilds</a></li>
|
||||
{#each _guilds as :guild}
|
||||
<li><a data-toggle='tab' data-target="#groups-guild-{:guild.id}">{:guild.name}</a></li>
|
||||
{/}
|
||||
{{#each _guilds as :guild}}
|
||||
<li><a data-toggle='tab' data-target="#groups-guild-{:guild.id}">{{:guild.name}}</a></li>
|
||||
{{/}}
|
||||
<li><a data-toggle='tab' data-target="#groups-guild-create">Create Guild</a></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
|
|
@ -47,11 +47,11 @@
|
|||
<app:groups:public-groups />
|
||||
</div>
|
||||
|
||||
{#each _guilds as :guild}
|
||||
<div class="tab-pane" id="groups-guild-{:guild.id}">
|
||||
<app:groups:group group={:guild} />
|
||||
{{#each _guilds as :guild}}
|
||||
<div class="tab-pane" id="groups-guild-{{:guild.id}}" >
|
||||
<app:groups:group group={{:guild}} />
|
||||
</div>
|
||||
{/}
|
||||
{{/}}
|
||||
|
||||
<div class='tab-pane' id='groups-guild-create'>
|
||||
<app:groups:create-group type='guild' />
|
||||
|
|
|
|||
Loading…
Reference in a new issue