def manage_group_owner(request, action, gid, **kwargs): myaccount = True template = "webadmin/group_form_owner.html" conn = None try: conn = kwargs["conn"] except: logger.error(traceback.format_exc()) info = {'today': _("Today is %(tday)s") % {'tday': datetime.date.today()}, 'myaccount':myaccount} eventContext = {'userName':conn.getEventContext().userName, 'isAdmin':conn.getEventContext().isAdmin, 'version': request.session.get('version')} controller = BaseGroup(conn, gid) if action == 'edit': permissions = controller.getActualPermissions() form = GroupOwnerForm(initial={'permissions': permissions, 'readonly': controller.isReadOnly()}) context = {'info':info, 'eventContext':eventContext, 'form':form, 'gid': gid, 'permissions': permissions, 'group':controller.group, 'owners':controller.getOwnersNames()} elif action == "save": if request.method != 'POST': return HttpResponseRedirect(reverse(viewname="wamyaccount", args=["edit", controller.group.id])) else: form = GroupOwnerForm(data=request.POST.copy()) if form.is_valid(): permissions = form.cleaned_data['permissions'] readonly = toBoolean(form.cleaned_data['readonly']) controller.updatePermissions(permissions, readonly) return HttpResponseRedirect(reverse("wamyaccount")) context = {'info':info, 'eventContext':eventContext, 'form':form, 'gid': gid} else: return HttpResponseRedirect(reverse("wamyaccount")) t = template_loader.get_template(template) c = Context(request, context) rsp = t.render(c) return HttpResponse(rsp)
def manage_group(request, action, gid=None, **kwargs): groups = True template = "webadmin/group_form.html" conn = None try: conn = kwargs["conn"] except: logger.error(traceback.format_exc()) info = {'today': _("Today is %(tday)s") % {'tday': datetime.date.today()}, 'groups':groups} if kwargs['firsttime']: info['message'] = kwargs["msg"] eventContext = {'userName':conn.getEventContext().userName, 'isAdmin':conn.getEventContext().isAdmin, 'version': request.session.get('version')} controller = BaseGroup(conn, gid) if action == 'new': form = GroupForm(initial={'experimenters':controller.experimenters, 'permissions': 0}) context = {'info':info, 'eventContext':eventContext, 'form':form} elif action == 'create': if request.method != 'POST': return HttpResponseRedirect(reverse(viewname="wamanagegroupid", args=["new"])) else: name_check = conn.checkGroupName(request.REQUEST.get('name')) form = GroupForm(initial={'experimenters':controller.experimenters}, data=request.POST.copy(), name_check=name_check) if form.is_valid(): logger.debug("Create group form:" + str(form.cleaned_data)) name = form.cleaned_data['name'] description = form.cleaned_data['description'] owners = form.cleaned_data['owners'] permissions = form.cleaned_data['permissions'] readonly = toBoolean(form.cleaned_data['readonly']) controller.createGroup(name, owners, permissions, readonly, description) return HttpResponseRedirect(reverse("wagroups")) context = {'info':info, 'eventContext':eventContext, 'form':form} elif action == 'edit': permissions = controller.getActualPermissions() form = GroupForm(initial={'name': controller.group.name, 'description':controller.group.description, 'permissions': permissions, 'readonly': controller.isReadOnly(), 'owners': controller.owners, 'experimenters':controller.experimenters}) context = {'info':info, 'eventContext':eventContext, 'form':form, 'gid': gid, 'permissions': permissions} elif action == 'save': if request.method != 'POST': return HttpResponseRedirect(reverse(viewname="wamanagegroupid", args=["edit", controller.group.id])) else: name_check = conn.checkGroupName(request.REQUEST.get('name'), controller.group.name) form = GroupForm(initial={'experimenters':controller.experimenters}, data=request.POST.copy(), name_check=name_check) if form.is_valid(): logger.debug("Update group form:" + str(form.cleaned_data)) name = form.cleaned_data['name'] description = form.cleaned_data['description'] owners = form.cleaned_data['owners'] permissions = form.cleaned_data['permissions'] readonly = toBoolean(form.cleaned_data['readonly']) controller.updateGroup(name, owners, permissions, readonly, description) return HttpResponseRedirect(reverse("wagroups")) context = {'info':info, 'eventContext':eventContext, 'form':form, 'gid': gid} elif action == "update": template = "webadmin/group_edit.html" controller.containedExperimenters() form = ContainedExperimentersForm(initial={'members':controller.members, 'available':controller.available}) if not form.is_valid(): #available = form.cleaned_data['available'] available = request.POST.getlist('available') #members = form.cleaned_data['members'] members = request.POST.getlist('members') controller.setMembersOfGroup(available, members) return HttpResponseRedirect(reverse("wagroups")) context = {'info':info, 'eventContext':eventContext, 'form':form, 'controller': controller} elif action == "members": template = "webadmin/group_edit.html" controller.containedExperimenters() form = ContainedExperimentersForm(initial={'members':controller.members, 'available':controller.available}) context = {'info':info, 'eventContext':eventContext, 'form':form, 'controller': controller} else: return HttpResponseRedirect(reverse("wagroups")) t = template_loader.get_template(template) c = Context(request, context) rsp = t.render(c) return HttpResponse(rsp)