def login(request): """ Try to log a user in. If method is GET, show empty login-form """ if not request.user.is_authenticated() and request.user.is_active: # User already logged in return _redirect_login(request) system = AmCAT.get_instance() announcements = [system.server_warning, system.global_announcement] announcement = "<hr/>".join(a for a in announcements if a is not None) if request.method == "POST": username = request.POST.get("username") passwd = request.POST.get("password") user = authenticate(username=username, password=passwd) if user is None or not user.is_active: # Credentials wrong or account disabled return _login(request, True, username, announcement) # Credentials OK, log user in auth_login(request, user) signals.user_logged_in.send(sender=user.__class__, request=request, user=user) log_request_usage(request, "account", "login") return _redirect_login(request) # GET request, send empty form return _login(request, False, None, announcement)
def register(request): """ Let the user fill in a registration form or process such a form. """ form = AddUserForm(request, data=request.POST or None) del form.fields['role'] del form.fields['affiliation'] user = None if form.is_valid(): user = create_user( form.cleaned_data['username'], form.cleaned_data['first_name'], form.cleaned_data['last_name'], form.cleaned_data['email'], Affiliation.objects.all()[0], form.cleaned_data['language'], Role.objects.get(id=1) ) form = AddUserForm(request) log_request_usage(request, "account" ,"register") return render(request, "accounts/register.html", locals())
def login(request): """ Try to log a user in. If method is GET, show empty login-form """ if not request.user.is_authenticated() and request.user.is_active: # User already logged in return _redirect_login(request) system = AmCAT.get_instance() announcements = [system.server_warning, system.global_announcement] announcement = "<hr/>".join(a for a in announcements if a is not None) if request.method == "POST": username = request.POST.get("username") passwd = request.POST.get("password") user = authenticate(username=username, password=passwd) if user is None or not user.is_active: # Credentials wrong or account disabled return _login(request, True, username, announcement) # Credentials OK, log user in auth_login(request, user) signals.user_logged_in.send(sender=user.__class__, request=request, user=user) log_request_usage(request, "account" ,"login") return _redirect_login(request) # GET request, send empty form return _login(request, False, None, announcement)
def register(request): """ Let the user fill in a registration form or process such a form. """ if not settings.ALLOW_REGISTER: raise django.core.exceptions.PermissionDenied("Please use the admin dashboard to create users") form_class = AddUserForm if settings.REGISTER_REQUIRE_VALIDATION else AddUserFormWithPassword form = form_class(request, data=request.POST or None) user = None if form.is_valid(): user = create_user( form.cleaned_data['username'], form.cleaned_data['first_name'], form.cleaned_data['last_name'], form.cleaned_data['email'], password=form.cleaned_data.get('password'), ) log_request_usage(request, "account" ,"register") if not settings.REGISTER_REQUIRE_VALIDATION: new_user = authenticate(username=user.username, password=form.cleaned_data['password']) auth_login(request, new_user) return HttpResponseRedirect("/") return render(request, "accounts/register.html", locals())
def logout(request): log_request_usage(request, "account", "logout") auth_logout(request) signals.user_logged_out.send(sender=request.user.__class__, request=request, user=request.user) return redirect(login)
def get_success_url(self): log.info(json.dumps({ "action": "project_added", "project_id": self.result.id, "name": self.result.name, "description": self.result.description, "insert_user": self.result.insert_user.username })) log_request_usage(self.request, "project", "create", self.result) return reverse('navigator:articleset-list', args=[self.result.id])
def get_context_data(self, **kwargs): context = super(HierarchicalViewMixin, self).get_context_data(**kwargs) try: project = self.get_project() except: project = None try: obj = self.get_object() obj = "{} {}: {}".format(obj.__class__.__name__, obj.id, str(obj)) except: obj = None log_request_usage(self.request, "view", self.get_view_name(), project, object=obj) context["object"] = self.get_object return context
def register(request): """ Let the user fill in a registration form or process such a form. """ form = AddUserForm(request, data=request.POST or None) del form.fields['role'] del form.fields['affiliation'] user = None if form.is_valid(): user = create_user( form.cleaned_data['username'], form.cleaned_data['first_name'], form.cleaned_data['last_name'], form.cleaned_data['email'], Affiliation.objects.all()[0], form.cleaned_data['language'], Role.objects.get(id=1)) form = AddUserForm(request) log_request_usage(request, "account", "register") return render(request, "accounts/register.html", locals())
def get_success_url(self): log_request_usage(self.request, "project", "create", self.result) return reverse('navigator:articleset-list', args=[self.result.id])
def logout(request): log_request_usage(request, "account" ,"logout") auth_logout(request) signals.user_logged_out.send(sender=request.user.__class__, request=request, user=request.user) return redirect(login)