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)
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)
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, ) } }