Ejemplo n.º 1
0
def set_defaults(sender, instance, **kwargs):
    """ Give (meta) fields default values on model save. """
    if not instance.pub_date:
        instance.pub_date = timezone.now()
    if not instance.owner:
        instance.owner = get_current_user()
    instance.last_modified_by = get_current_user()
Ejemplo n.º 2
0
    def get_form(self, step=None, data=None, files=None):
        form = super(WhoWhatWhereWizard, self).get_form(step, data, files)
        step = step or self.steps.current

        if step == '0':
            help_text = get_help_text('evenement', reverse("race:event_create"))
            form.fields['event'].help_text = help_text

        if step == '1':
            data = self.storage.get_step_data('0')
            event_pk = data.get('0-event')
            event = Event.objects.get(pk=event_pk)
            form.fields['date'].label = "Wanneer is %s?" % event.name
            form.fields['date'].help_text = "Format: DD-MM-YYYY"
            form.fields['user'].choices = [ (user.id, user.get_full_name()) for user in User.objects.all()]
            form.fields['user'].initial = get_current_user()

        return form
Ejemplo n.º 3
0
def user_login(request, user_id):
    user = User.objects.get(pk=unquote(user_id))
    current_user = get_current_user()

    if isinstance(la_settings.CAN_LOGIN_AS, six.string_types):
        can_login_as = _load_module(la_settings.CAN_LOGIN_AS)
    elif hasattr(la_settings.CAN_LOGIN_AS, "__call__"):
        can_login_as = la_settings.CAN_LOGIN_AS
    else:
        raise ImproperlyConfigured(
            "The CAN_LOGIN_AS setting is neither a valid module nor callable.")

    print("User", current_user, "login as", user)
    if not can_login_as(request, user):
        messages.error(request,
                       _("You do not have permission to do that."),
                       extra_tags=la_settings.MESSAGE_EXTRA_TAGS)
        return redirect(request.META.get("HTTP_REFERER", "/"))

    login_as(user, request)

    return redirect(la_settings.LOGIN_REDIRECT)