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)
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)
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)
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))
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)
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)
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)
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})
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))
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] )
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)
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)
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})
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)
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))
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)
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} )
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, })
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))
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 })
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})
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, })
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))
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})
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})
def test_init(self): GroupForm()
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())
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.'])