def edit_membership(request, group_id, membership_id): group = get_object_or_404(Releaser, is_group=True, id=group_id) membership = get_object_or_404(Membership, group=group, id=membership_id) if request.method == 'POST': form = GroupMembershipForm(request.POST, initial={ 'scener_nick': membership.member.primary_nick, 'is_current': membership.is_current, }) if form.is_valid(): member = form.cleaned_data['scener_nick'].commit().releaser # skip saving if the value of the member (scener) field duplicates an existing one on this group if not group.member_memberships.exclude(id=membership_id).filter( member=member).count(): membership.member = member membership.is_current = form.cleaned_data['is_current'] membership.save() group.updated_at = datetime.datetime.now() group.save() form.log_edit(request.user, member, group) return HttpResponseRedirect(group.get_absolute_edit_url() + "?editing=members") else: form = GroupMembershipForm( initial={ 'scener_nick': membership.member.primary_nick, 'is_current': membership.is_current, }) return render(request, 'groups/edit_membership.html', { 'group': group, 'membership': membership, 'form': form, })
def edit_membership(request, group_id, membership_id): group = get_object_or_404(Releaser, is_group=True, id=group_id) membership = get_object_or_404(Membership, group=group, id=membership_id) if request.method == 'POST': form = GroupMembershipForm(request.POST, initial={ 'scener_nick': membership.member.primary_nick, 'is_current': membership.is_current, }) if form.is_valid(): member = form.cleaned_data['scener_nick'].commit().releaser # skip saving if the value of the member (scener) field duplicates an existing one on this group if not group.member_memberships.exclude(id=membership_id).filter(member=member).count(): membership.member = member membership.is_current = form.cleaned_data['is_current'] membership.save() group.updated_at = datetime.datetime.now() group.save() form.log_edit(request.user, member, group) return HttpResponseRedirect(group.get_absolute_edit_url() + "?editing=members") else: form = GroupMembershipForm(initial={ 'scener_nick': membership.member.primary_nick, 'is_current': membership.is_current, }) return render(request, 'groups/edit_membership.html', { 'group': group, 'membership': membership, 'form': form, })