示例#1
0
def VersionGroup(request, pk):
    # dictionary for initial data with
    # field names as keys


        context ={}

        # fetch the object related to passed id
        obj = get_object_or_404(Group, pk = pk)

        # pass the object as instance in form
        form = GroupForm(request.POST or None, instance = obj)

        # save the data from the form and
        # redirect to detail_view
        if form.is_valid():
                obj.pk = int(round(time.time() * 1000))
                form.instance.creator = request.user
                form.save()
                return HttpResponseRedirect(reverse("groups:all"))

        else:

                # add form dictionary to context
                context["form"] = form

                return render(request, "groups/group_form.html", context)
示例#2
0
def edit_group(request, name):
    # Requires edit on user
    group = Group.find(name)
    if not group:
        raise Http404()

    if not request.user.administrator:
        raise PermissionDenied

    if request.method == "POST":
        form = GroupForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            group.update(name=data['name'], username=request.user.name)
            return redirect('groups:home')
    else:
        initial_data = {'name': group.name}
        form = GroupForm(initial=initial_data)

    ctx = {
        "form": form,
        "group": group,
    }

    return render(request, 'groups/edit.html', ctx)
示例#3
0
def edit_group(request, name):
    """Edit a group (add/delete users)"""
    group = Group.find(name)
    if not group:
        raise Http404()

    if not request.user.administrator:
        raise PermissionDenied

    if request.method == "POST":
        form = GroupForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            group.update(name=data["name"], username=request.user.name)
            return redirect("groups:home")
    else:
        initial_data = {"name": group.name}
        form = GroupForm(initial=initial_data)

    ctx = {
        "form": form,
        "group": group,
    }

    return render(request, "groups/edit.html", ctx)
示例#4
0
def site_manage(request):

    # TODO add validation / checking functions for this
    # if request.method == 'POST':
    if request.method=='POST':
        m_form = ManagerForm(request.POST)
        g_form = GroupForm(request.POST)
        if m_form.is_valid():
            if m_form.cleaned_data.get('manager_name') != "":
                m_name = m_form.cleaned_data.get('manager_name')
                Group.objects.get(name='Site Manager').user_set.add(User.objects.get(username=m_name))
        if g_form.is_valid():
            if g_form.cleaned_data.get('group_name') != "":
                g_name = g_form.cleaned_data.get('group_name')
                new_group=Group.objects.create(name=g_name)
                new_group.user_set.add(request.user)
    m_list = Group.objects.get(name='Site Manager').user_set.all()
    u_list = User.objects.all()
    g_list = Group.objects.all()
    r_list = Report.objects.all()

    usr = User.objects.get(username=request.user)
    template = loader.get_template('homepage/manager.html')
    context = RequestContext(request, {
        'manager_list': m_list,
        'report_list': r_list,
        'user_list': u_list,
        'group_list': g_list,
        'usr': usr,
    })
    return HttpResponse(template.render(context))
示例#5
0
def create_group(request):
    if not request.user.is_authenticated:
        return HttpResponse('Unauthorized', status=401)
    if request.method == 'POST':
        form = GroupForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return redirect('groups')
    return HttpResponse('Bad Request', status=400)
示例#6
0
文件: test_forms.py 项目: Alek96/SZR
 def test_valid_data(self):
     form_data = {
         'name': "Group_name",
         'path': "Group_path",
         'description': "Description",
         'visibility': "private",
     }
     form = GroupForm(form_data)
     self.assertTrue(form.is_valid())
     for key, value in form_data.items():
         self.assertEqual(form.cleaned_data[key], value)
示例#7
0
def change_cover_group(request, id):
    if not request.user.is_authenticated:
        return HttpResponse('Unauthorized', status=401)
    if request.method == 'POST':
        form = GroupForm(request.POST,
                         request.FILES,
                         instance=get_object_or_404(Group, id=id))
        if form.is_valid():
            form.save()
            return HttpResponse('Success', status=200)
    return HttpResponse('Bad Request', status=400)
示例#8
0
def create_edit_group(request, group_id=None):
    group = None
    if group_id:
        group = get_object_or_404(Group, pk=group_id)
        if not group.is_editable:
            return HttpResponseForbidden("Access denied")
    if request.method == "POST":
        form = GroupForm(request.POST, instance=group)
        if form.is_valid():
            form.save()
            messages.info(request, "Group saved successfully")
            return HttpResponseRedirect(reverse("list-groups"))
    else:
        form = GroupForm(instance=group)
    return render(request, "groups/groups/create_edit.html", {"form": form, "group": group})
示例#9
0
文件: views.py 项目: RohitRepo/Schule
def RegisterGroup(request):
    if request.method == "POST":
        form = GroupForm(request.POST, request.FILES)

        if form.is_valid():
            newGroup = form.save(commit=False)
            newGroup.save(user=request.user)

            # No incident to be created here. Add creter to group followers once GroupMembership is updated.

            return redirect(reverse("group_home", args=(newGroup.id,)))  # Redirect after POST
    else:
        form = GroupForm()  # An unbound form

    return render_to_response("groups/register.html", {"form": form}, context_instance=RequestContext(request))
示例#10
0
	def test_form_validation_for_blank_items(self):
		form = GroupForm(data={'name': '', 'alias': '', 'tags': '', 'description': ''})
		self.assertFalse(form.is_valid())
		self.assertEqual(
			form.errors['name'],
			[ERRORS.EMPTY_NAME]
		)
		self.assertEqual(
			form.errors['alias'],
			[ERRORS.EMPTY_ALIAS]
		)
		self.assertEqual(
			form.errors['tags'],
			[ERRORS	.EMPTY_TAGS]
		)
示例#11
0
 def get(self, request, pk):
     data = {}
     group = Groups.objects.get(id=pk)
     form = GroupForm(instance=group)
     data['group'] = group
     data['form'] = form
     return render(request, self.template_name, data)
示例#12
0
 def get(self, request):
     data = {}
     form = GroupForm()
     data['form'] = form
     members = GolfUser.objects.filter(is_private=False).exclude(
         id=request.user.id)
     data['members'] = members
     return render(request, self.template_name, data)
示例#13
0
def groups_page(request, group_id=None):
    if request.method == 'POST':
        #print(request.POST)
        f = GroupForm(request.POST)
        if f.is_valid():
            f.save()
    elif group_id:
        group = Group.objects.get(pk=group_id)
        f = GroupForm(instance=group)
    else:
        f = GroupForm()

    groups = Group.objects.all().prefetch_related('students')
    return render(request, 'groups/groups.html', {'groups': groups, 'form': f})
示例#14
0
def new_group(request):
    if request.method == 'POST':
        form = GroupForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            group = Group.create(name=data.get("name"),
                                 username=request.user.name)
            messages.add_message(
                request, messages.INFO,
                "The group '{}' has been created".format(group.name))
            return redirect('groups:home')
    else:
        form = GroupForm()
    ctx = {
        "form": form,
    }

    return render(request, 'groups/new.html', ctx)
示例#15
0
def groups_edit(request, pk):
    """Edit an Group"""

    try:
        object = Group.objects.get(pk=pk)
    except:
        object = Group()

    if request.method == 'POST':  # If the form has been submitted...
        form = GroupForm(request.POST, instance=object)

        if form.is_valid():  # If the form is valid
            object = form.save()

            messages.success(request, 'The group has been saved.')

            return redirect(reverse('groups.views.groups_list'))
    else:
        form = GroupForm(instance=object)

    return render_to_response('groups/groups/edit.html', {'form': form}, context_instance=RequestContext(request))
示例#16
0
def new_group(request):
    """Display the form to create a new group"""
    if request.method == "POST":
        form = GroupForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            group = Group.create(name=data.get("name"),
                                 username=request.user.name)
            messages.add_message(
                request,
                messages.INFO,
                "The group '{}' has been created".format(group.name),
            )
            return redirect("groups:home")
    else:
        form = GroupForm()
    ctx = {
        "form": form,
    }

    return render(request, "groups/new.html", ctx)
示例#17
0
    def post(self, request, pk, format=None):
        group = Groups.objects.get(id=pk)

        form = GroupForm(request.POST, instance=group)
        if form.is_valid():
            obj = form.save(commit=False)
            obj.modified_by = request.user
            obj.save()

            coverImageId = request.POST.get('cover_image')
            if coverImageId:
                cover_image = GroupImages.objects.get(id=int(coverImageId))
                obj.cover_image = cover_image
            obj.save()
            searchindex = IndexObject('group', obj.id)

            return HttpResponseRedirect(reverse('ajax_groups_home'))
        return render(request, self.template_name, {
            'form': form,
            'data': data
        })
def group(request):
    '''Creates a view of group to add a new group reading the user posted data.'''
    groups = Group.objects.all()
    if request.method == 'POST':
        form = GroupForm(request.POST)
        if form.is_valid():
            group_code = form.cleaned_data['group_code']
            name = form.cleaned_data['name']
            description = form.cleaned_data['description']
            try:
                group = Group()
                group.group_code = group_code
                group.name = name
                group.description = description
                group.save()
            except:
                pass
            return HttpResponseRedirect(reverse('index'))
    else:
        form = GroupForm()
    return render(request, 'groups/group.html', {'groups' : groups, 'form' : form} )
示例#19
0
def create_edit_group(request, group_id=None):
    group = None
    if group_id:
        group = get_object_or_404(Group, pk=group_id)
        if not group.is_editable:
            return HttpResponseForbidden('Access denied')
    if request.method == 'POST':
        form = GroupForm(request.POST, instance=group)
        if form.is_valid():
            form.save()
            messages.info(request, 'Group saved successfully')
            return HttpResponseRedirect(reverse('list-groups'))
    else:
        form = GroupForm(instance=group,
                         initial={'objects': group.contacts.all(),
                                  'name': group.name,
                                  'slug': group.slug,
                                  'description': group.description})
    return render(request, 'groups/groups/create_edit.html', {
        'form': form,
        'group': group,
    })
示例#20
0
def create_edit_group(request, group_id=None):
    groups = Group.objects.annotate(count=Count('contacts'))

    group = None
    if group_id:
        group = get_object_or_404(Group, pk=group_id)
        if not group.is_editable:
            return HttpResponseForbidden('Access denied')
    if request.method == 'POST':
        form = GroupForm(request.POST, instance=group)
        if form.is_valid():
            form.save()
            messages.success(request, "Group saved successfully")
            return HttpResponseRedirect(reverse('list-groups'))
    else:
        form = GroupForm(instance=group)
        #print form
    context = {
        'groups': groups.order_by('name'),
        'group': group,
        'form': form,
    }
    return render_to_response('groups/groups/list.html', context,
                              context_instance=RequestContext(request))
示例#21
0
def group(request):
    '''Creates a view of group to add a new group reading the user posted data.'''
    groups = Group.objects.all()
    if request.method == 'POST':
        form = GroupForm(request.POST)
        if form.is_valid():
            group_code = form.cleaned_data['group_code']
            name = form.cleaned_data['name']
            description = form.cleaned_data['description']
            try:
                group = Group()
                group.group_code = group_code
                group.name = name
                group.description = description
                group.save()
            except:
                pass
            return HttpResponseRedirect(reverse('index'))
    else:
        form = GroupForm()
    return render(request, 'groups/group.html', {
        'groups': groups,
        'form': form
    })
示例#22
0
def groups_page(request,group_id=None):
    if request.method == 'POST':
       #print(request.POST)
       f = GroupForm(request.POST)
       if f.is_valid():
            f.save()
    elif group_id:
        group = Group.objects.get(pk=group_id)
        f = GroupForm(instance=group)
    else:
        f = GroupForm()
        
    groups = Group.objects.all().prefetch_related('students')
    return render(request, 'groups/groups.html', {'groups': groups, 'form': f})
示例#23
0
def create_edit_group(request, group_id=None):
    group = None
    if group_id:
        group = get_object_or_404(Group, pk=group_id)
        if not group.is_editable:
            return HttpResponseForbidden('Access denied')
    if request.method == 'POST':
        form = GroupForm(request.POST, instance=group)
        if form.is_valid():
            form.save()
            messages.info(request, 'Group saved successfully')
            return HttpResponseRedirect(reverse('list-groups'))
    else:
        form = GroupForm(instance=group)
    return render(request, 'groups/groups/create_edit.html', {
        'form': form,
        'group': group,
    })
示例#24
0
def RegisterGroup(request):
    if request.method == 'POST':
        form = GroupForm(request.POST, request.FILES)

        if form.is_valid():
            newGroup = form.save(commit=False)
            newGroup.save(user=request.user)

            #No incident to be created here. Add creter to group followers once GroupMembership is updated.

            return redirect(reverse(
                'group_home', args=(newGroup.id, )))  # Redirect after POST
    else:
        form = GroupForm()  # An unbound form

    return render_to_response('groups/register.html', {
        'form': form,
    },
                              context_instance=RequestContext(request))
示例#25
0
def groups_edit(request, pk):
    """Edit an Group"""

    try:
        object = Group.objects.get(pk=pk)
    except:
        object = Group()

    if request.method == 'POST':  # If the form has been submitted...
        form = GroupForm(request.POST, instance=object)

        if form.is_valid():  # If the form is valid
            object = form.save()

            messages.success(request, 'The group has been saved.')

            return redirect(reverse('groups.views.groups_list'))
    else:
        form = GroupForm(instance=object)

    return render_to_response('groups/groups/edit.html', {'form': form},
                              context_instance=RequestContext(request))
示例#26
0
def upsert(request):
    user = request.user
    # 管理権限以外はエラー (403)
    if user.role != 'admin':
        return HttpResponseForbidden()

    # (POST) upsert
    if request.method == 'POST':
        try:
            id_ = request.POST.get('id_')
            if len(id_) == 0:
                # id_ 指定なしの場合は新規作成
                group = Group()
                stip_user = request.user
                group.creator = stip_user
            else:
                # id_ 指定ありの場合はupdate (creator変更なし)
                group = Group.objects.get(id=int(id_))
            form = GroupForm(request.POST, instance=group)
            group.en_name = request.POST.get('en_name')
            group.local_name = request.POST.get('local_name')
            group.description = request.POST.get('description')
            if len(group.en_name) == 0:
                raise Exception(_('Fill Group Name (Common) Field.'))
            if len(group.local_name) == 0:
                raise Exception(_('Fill Group Name (Local) Field.'))
            group.locale = request.user.language
            group.save()
            # member 追加
            members = []
            for member_id in request.POST['members'].split(','):
                if len(member_id) == 0:
                    continue
                members.append(STIPUser.objects.get(id=member_id))
            group.members = members
            group.save()
            messages.add_message(request, messages.SUCCESS, _('Your Group was successfully edited.'))
        except Exception as e:
            import traceback
            traceback.print_exc()
            messages.add_message(request, messages.ERROR, str(e))
    # (GET)変更フォーム作成
    elif request.method == 'GET':
        # id_指定がない場合は新規作成
        if 'id_' not in request.GET:
            form = GroupForm()
        # id_指定がある場合はDBから初期状態取得
        else:
            id_ = int(request.GET['id_'])
            group = Group.objects.get(id=id_)
            member_list = []
            for member in group.members.all():
                member_list.append(str(member.id))
            form = GroupForm(instance=group, initial={
                'id_': id_,
                'en_name': group.en_name,
                'local_name': group.local_name,
                'description': group.description,
                'members': ','.join(member_list),
            })
    else:
        return HttpResponseForbidden()

    users = STIPUser.objects.filter(is_active=True).exclude(username='******').order_by('username')
    return render(request, 'groups/upsert.html', {'form': form, 'users': users})
示例#27
0
def create_group(request):
    base = BaseUser.objects.get(user=request.user)
    if request.method == 'POST':
        form = GroupForm(request.POST)
        if form.is_valid():
            group_name = form.cleaned_data['group_name']
            member_list_temp = form.cleaned_data['member_list']
            report_list_temp = form.cleaned_data['report_list']
            member_list = []
            member_list_temp = member_list_temp.split(",")
            for mem in member_list_temp:
                member_list += [mem.strip()]
            member_list = member_list + [request.user.username]

            report_list = []
            report_list_temp = report_list_temp.split(",")
            for r in report_list_temp:
                report_list += [r.strip()]

            is_duplicate = len(Group.objects.filter(group_name=group_name))

            if is_duplicate > 0:
                # a group with this name already exists
                return render(request, 'group/create_group.html', {
                    'duplicate_name': True,
                    'type': base.user_role
                })
                # raise Error("group duplicate, group names must be unique")

            base_user_list = []
            report_obj_list = []

            for m in member_list:
                try:
                    user = User.objects.get(username__iexact=m)
                    base_user = BaseUser.objects.get(user=user)
                    print("adding ", m)
                    base_user_list += [base_user]
                except User.DoesNotExist:
                    return render(
                        request,
                        'group/create_group.html',
                        {
                            'invalid_user': True,
                            'type': base.user_role,
                            'invalid_name': m
                        },
                    )
                    # raise forms.ValidationError(_('Invalid receiver name. Try again.'), code='invalid')

            users_private_reports = Report.objects.filter(
                owner_id=request.user, private=True)

            if len(users_private_reports) == 0:
                return render(request, 'group/create_group.html', {
                    'no_reports': True,
                    'type': base.user_role
                })

            for r in report_list:
                try:
                    # print(r)
                    # pass in a list of report objects, and return the object
                    # with the matching name
                    report_obj = find_report(users_private_reports, r)
                    # print(report_obj)

                    if report_obj is None:
                        return render(
                            request, 'group/create_group.html', {
                                'invalid_private_report_name': True,
                                'invalid_report_private': r,
                                'type': base.user_role
                            })

                    report_obj_list += [report_obj]
                except Report.DoesNotExist:
                    return render(
                        request,
                        'group/create_group.html',
                        {
                            'invalid_report': True,
                            'invalid_report_name': r,
                            'type': base.user_role
                        },
                    )

            group = Group.objects.create(group_name=group_name)

            for o in base_user_list:
                group.member_list.add(o)

            # add every report to the groups model
            for o in report_obj_list:
                group.report_list.add(o)

            # add every user other than the current one to each report
            for o in base_user_list:
                if not o.user == request.user:
                    for r in report_obj_list:
                        o.reports.add(r)

            # group.save()

            # print(group.member_list.all())

            # print(len(group.report_list.all()))

            base_user = BaseUser.objects.get(user=request.user)
            groups = Group.objects.filter(member_list=base_user)
            return render(request, 'group/view_group.html', {
                'groups': groups,
                'type': base.user_role
            })

        return render(request, 'group/create_group.html', {
            'invalid_entry': True,
            'type': base.user_role
        })
    else:
        return render(request, 'group/create_group.html',
                      {'type': base.user_role})
示例#28
0
文件: test_forms.py 项目: Alek96/SZR
 def test_init(self):
     GroupForm()
示例#29
0
	def test_form_item_input_has_placeholder_and_css_classes(self):
		form = GroupForm()
		self.assertIn('placeholder="Entre o nome do grupo"', form.as_p())
		self.assertIn('class="form-control input-medium"', form.as_p())
示例#30
0
文件: test_forms.py 项目: Alek96/SZR
 def test_blank_data(self):
     form = GroupForm({})
     self.assertFalse(form.is_valid())
     self.assertEqual(form.errors['name'], ['This field is required.'])
     self.assertEqual(form.errors['path'], ['This field is required.'])