Example #1
0
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)
Example #2
0
File: views.py Project: BBie/amcat
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())
Example #3
0
File: views.py Project: BBie/amcat
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)
Example #4
0
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())
Example #5
0
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)
Example #6
0
 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])
Example #7
0
 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
Example #8
0
    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
Example #9
0
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())
Example #10
0
 def get_success_url(self):
     log_request_usage(self.request, "project", "create", self.result)
     return reverse('navigator:articleset-list', args=[self.result.id])
Example #11
0
 def get_success_url(self):
     log_request_usage(self.request, "project", "create", self.result)
     return reverse('navigator:articleset-list', args=[self.result.id])
Example #12
0
File: views.py Project: BBie/amcat
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)