Revision a4233484 snf-astakos-app/astakos/im/views.py

b/snf-astakos-app/astakos/im/views.py
67 67
                              FeedbackForm, SignApprovalTermsForm,
68 68
                              ExtendedPasswordChangeForm, EmailChangeForm,
69 69
                              AstakosGroupCreationForm, AstakosGroupSearchForm,
70
                              AstakosGroupUpdateForm)
70
                              AstakosGroupUpdateForm, AddGroupMembersForm)
71 71
from astakos.im.functions import (send_feedback, SendMailError,
72 72
                                  invite as invite_func, logout as auth_logout,
73 73
                                  activate as activate_func,
......
733 733
    except AstakosGroup.DoesNotExist:
734 734
        return HttpResponseBadRequest(_('Invalid group.'))
735 735
    form = AstakosGroupUpdateForm(instance=group)
736
    search_form = AddGroupMembersForm()
736 737
    return object_detail(request,
737 738
                         AstakosGroup.objects.all(),
738 739
                         object_id=group_id,
739 740
                         extra_context={'quota': group.quota,
740
                                        'form': form}
741
                                        'form': form,
742
                                        'search_form': search_form}
741 743
                         )
742 744

  
743 745

  
......
753 755
    form = AstakosGroupUpdateForm(request.POST, instance=group)
754 756
    if form.is_valid():
755 757
        form.save()
758
    search_form = AddGroupMembersForm()
756 759
    return object_detail(request,
757 760
                         AstakosGroup.objects.all(),
758 761
                         object_id=group_id,
759 762
                         extra_context={'quota': group.quota,
760
                                        'form': form})
763
                                        'form': form,
764
                                        'search_form': search_form})
761 765

  
762 766
@signed_terms_required
763 767
@login_required
......
896 900
        messages.error(request, msg)
897 901

  
898 902

  
903

  
904

  
905
@signed_terms_required
906
@login_required
907
def add_members(request, group_id):
908
    if request.method != 'POST':
909
        return HttpResponseBadRequest(_('Bad method'))
910
    try:
911
        group = AstakosGroup.objects.select_related().get(id=group_id)
912
    except AstakosGroup.DoesNotExist:
913
        return HttpResponseBadRequest(_('Invalid group.'))
914
    search_form = AddGroupMembersForm(request.POST)
915
    if search_form.is_valid():
916
        users = search_form.get_valid_users()
917
        map(group.approve_member, users)
918
        search_form = AddGroupMembersForm()
919
    form = AstakosGroupUpdateForm(instance=group)
920
    return object_detail(request,
921
                         AstakosGroup.objects.all(),
922
                         object_id=group_id,
923
                         extra_context={'quota': group.quota,
924
                                        'form': form,
925
                                        'search_form' : search_form}
926
                         )
927

  
928

  
899 929
@signed_terms_required
900 930
@login_required
901 931
def resource_list(request):

Also available in: Unified diff