示例#1
0
    def form_valid(self, form):
        if form.cleaned_data['action'] == 'add':
            users = User.objects.filter(pk__in=form.cleaned_data['user'])
            relation_field = self.get_relationfield()
            for user in users:
                self.add_user_to_relation(user, relation_field, self.group)
            messages.info(self.request, "User added successfully")
            return redirect(self.get_success_url())

        elif form.cleaned_data['action'] == 'createuser':
            user_create_form = UserCreate(self.request.POST)
            if user_create_form.is_valid():
                user = user_create_form.save()
                self.add_user_to_relation(user, self.get_relationfield(),
                                          self.group)
                messages.info(self.request, _("User added successfully"))
                return redirect(self.get_success_url())
            else:
                self.object_list = self.get_queryset()
                context = self.get_context_data()
                context['user_create_form'] = user_create_form
                return render(self.request, self.template_name, context)

        elif form.cleaned_data['action'] == 'rmuser':
            users = User.objects.filter(
                pk__in=self.request.POST.getlist('user'))
            relation_field = self.get_relationfield()
            for user in users:
                self.remove_user_to_relation(user, relation_field, self.group)
            messages.info(self.request, _("Users removed successfully"))
            return redirect(self.get_success_url())
        else:
            self.search_user = form.cleaned_data['user']
            kwargs = {'lab_pk': self.lab}
            return self.get(self.request, **kwargs)
示例#2
0
def create_admins_user(request, pk):
    lab = get_object_or_404(Laboratory, pk=pk)
    message = None
    if request.method == 'POST':
        form = UserCreate(request.POST)
        if form.is_valid():
            user = User.objects.create_user(
                form.cleaned_data['username'],
                form.cleaned_data['email'],
                form.cleaned_data['password']
            )
            user.first_name = form.cleaned_data['first_name']
            user.last_name = form.cleaned_data['last_name']
            user.save()
            lab.lab_admins.add()
            message = _("User added successfully")
        else:
            message = _("Something went wrong")
    else:
        message = _("Sorry, wrong method")
    return render_admins_lab(request, lab.lab_admins.all(), lab, message=message)
示例#3
0
文件: access.py 项目: solvo/organilab
    def form_valid(self, form):
        if form.cleaned_data['action'] == 'add':
            users = User.objects.filter(pk__in=form.cleaned_data['user'])
            relation_field = self.get_relationfield()
            for user in users:
                self.add_user_to_relation(user, relation_field,
                                          self.group)
            messages.info(self.request, "User added successfully")
            return redirect(self.get_success_url())

        elif form.cleaned_data['action'] == 'createuser':
            user_create_form = UserCreate(self.request.POST)
            if user_create_form.is_valid():
                user = user_create_form.save()
                self.add_user_to_relation(user, self.get_relationfield(),
                                          self.group)
                messages.info(self.request, _("User added successfully"))
                return redirect(self.get_success_url())
            else:
                self.object_list = self.get_queryset()
                context = self.get_context_data()
                context['user_create_form'] = user_create_form
                              
                return render(self.request, self.template_name,
                              context)
                              
        elif form.cleaned_data['action'] == 'rmuser':
            users = User.objects.filter(
                pk__in=self.request.POST.getlist('user'))
            relation_field = self.get_relationfield()
            for user in users:
                self.remove_user_to_relation(user, relation_field, self.group)
            messages.info(self.request, _("Users removed successfully"))
            return redirect(self.get_success_url())
        else:
            self.search_user = form.cleaned_data['user']
            kwargs = {'lab_pk': self.lab}
            return self.get(self.request, **kwargs)
示例#4
0
def get_create_admis_user(request, pk):
    lab = get_object_or_404(Laboratory, pk=pk)
    usersearchform = UserSearchForm()
    usercreateform = UserCreate()
    return {
        'inner-fragments': {
            '#admin_lab_users': render_to_string(
                'ajax/lab_admins_create.html',
                context={
                    'usersearchform': usersearchform,
                    'usercreateform': usercreateform,
                    'lab': lab
                },
                request=request,
            )
        }
    }