Beispiel #1
0
def settings(request):
    """
    User editing their profile preferences
    """
    title = _("Profile Settings")
    form = ProfileForm(instance=request.user)

    if request.method == "POST":

        form = ProfileForm(request.POST, request.FILES, instance=request.user)

        if form.is_valid():
            user = form.save()
            messages.success(request, _("Settings saved"))
            User.refresh_nomail()

            if form.cleaned_data["password1"]:
                request.user.set_password(form.cleaned_data["password1"])
                request.user.save()

            lang = user.activate_locale()
            translation.activate(lang)
            request.session[translation.LANGUAGE_SESSION_KEY] = lang
            request.session["django_timezone"] = user.timezone

            return redirect(settings)
        else:
            messages.error(request, _("Error in profile data"))

    return render(request, "accounts/settings.html", locals())
Beispiel #2
0
def settings(request):
    """
    User editing their profile preferences
    """
    title = _("Profile Settings")
    form = ProfileForm(instance=request.user)

    if request.method == "POST":

        form = ProfileForm(request.POST, request.FILES, instance=request.user)

        if form.is_valid():
            user = form.save()
            messages.success(request, _("Settings saved"))
            User.refresh_nomail()

            if form.cleaned_data['password1']:
                request.user.set_password(form.cleaned_data['password1'])
                request.user.save()

            lang = user.activate_locale()
            translation.activate(lang)
            request.session[translation.LANGUAGE_SESSION_KEY] = lang
            request.session['django_timezone'] = user.timezone

            return redirect(settings)
        else:
            messages.error(request, _("Error in profile data"))

    return render(request, "accounts/settings.html", locals())
Beispiel #3
0
def init_session(request):
    """
    Initialize the session for the check-in interface.

    Only run for GET requests
    """
    if not request.user.is_authenticated():
        request.session.flush()

    if not Configuration.checkin_enabled():
        raise ConfigurationError(_('Check-in interface not enabled'))

    # initialize locale
    init_locale(request)

    # set test cookie
    request.session.set_test_cookie()

    # initialize vars
    request.session['checkin_device'] = None
    request.session['checkin_customer'] = None

    user = User.get_checkin_user()
    location = user.location

    if not request.session.get('company_name'):
        request.session['company_name'] = Configuration.conf('company_name')

    if request.user.is_authenticated():

        # these are our fallback defaults
        user = request.user
        location = user.location

        try:
            location_id = request.GET['l']
        except KeyError:
            # not given - try session, then default to user's location
            location_id = request.session.get('checkin_location', location.pk)
        finally:
            location = get_object_or_404(Location, pk=location_id)

        try:
            user_id = request.GET['u']
        except KeyError:
            # not given - default to session, then auth user
            user_id = request.session.get('checkin_user', user.pk)

        user = get_object_or_404(User, pk=user_id)
        request.session['checkin_locations'] = Location.get_checkin_list()

        checkin_users = User.get_checkin_group()
        queryset = checkin_users.filter(location=location)
        request.session['checkin_users'] = User.serialize(queryset)

    request.session['checkin_user'] = user.pk
    request.session['checkin_location'] = location.pk
    request.session['checkin_user_name'] = user.get_name()
    request.session['checkin_location_name'] = location.title
Beispiel #4
0
def register(request):
    """
    New user applying for access
    """
    form = RegistrationForm()
    data = {'title': _("Register")}

    if request.method == 'POST':

        form = RegistrationForm(request.POST)

        if form.is_valid():
            user = User(is_active=False)
            user.email = form.cleaned_data['email']
            user.last_name = form.cleaned_data['last_name']
            user.first_name = form.cleaned_data['first_name']
            user.set_password(form.cleaned_data['password'])
            user.save()

            messages.success(request,
                             _(u'Your registration is now pending approval.'))

            return redirect(login)

    data['form'] = form
    return render(request, 'accounts/register.html', data)
Beispiel #5
0
def register(request):
    """
    New user applying for access
    """
    form = RegistrationForm()
    data = {"title": _("Register")}

    if request.method == "POST":

        form = RegistrationForm(request.POST)

        if form.is_valid():
            user = User(is_active=False)
            user.email = form.cleaned_data["email"]
            user.last_name = form.cleaned_data["last_name"]
            user.first_name = form.cleaned_data["first_name"]
            user.set_password(form.cleaned_data["password"])
            user.save()

            messages.success(request, _(u"Your registration is now pending approval."))

            return redirect(login)

    data["form"] = form
    return render(request, "accounts/register.html", data)
Beispiel #6
0
def register(request):
    """
    New user applying for access
    """
    form = RegistrationForm()
    data = {'title': _("Register")}

    if request.method == 'POST':

        form = RegistrationForm(request.POST)

        if form.is_valid():
            user = User(is_active=False)
            user.email = form.cleaned_data['email']
            user.last_name = form.cleaned_data['last_name']
            user.first_name = form.cleaned_data['first_name']
            user.set_password(form.cleaned_data['password'])
            user.save()

            messages.success(request, _(u'Your registration is now pending approval.'))

            return redirect(login)

    data['form'] = form
    return render(request, 'accounts/register.html', data)
Beispiel #7
0
def init_session(request):
    # initialize some basic vars
    if not request.user.is_authenticated():
        request.session.flush()

    # initialize locale
    init_locale(request)

    request.session['checkin_device']   = None
    request.session['checkin_customer'] = None

    user = User.get_checkin_user()
    location = user.location

    if not request.session.get('company_name'):
        request.session['company_name'] = Configuration.conf('company_name')

    if request.user.is_authenticated():

        # these are our fallback defaults
        user = request.user
        location = user.location

        try:
            location_id = request.GET['l']
        except KeyError:
            # not given - try session, then default to user's location
            location_id = request.session.get('checkin_location', location.pk)
        finally:
            location = get_object_or_404(Location, pk=location_id)

        try:
            user_id = request.GET['u']
        except KeyError:
            # not given - default to session, then auth user
            user_id = request.session.get('checkin_user', user.pk)
        
        user = get_object_or_404(User, pk=user_id)
        request.session['checkin_locations'] = Location.get_checkin_list()

        checkin_users = User.get_checkin_group()
        queryset = checkin_users.filter(location=location)
        request.session['checkin_users'] = User.serialize(queryset)
    
    request.session['checkin_user'] = user.pk
    request.session['checkin_location'] = location.pk
    request.session['checkin_user_name'] = user.get_name()
    request.session['checkin_location_name'] = location.title
Beispiel #8
0
def get_checkin_locations(user):
    """
    Return possible checkin location choices for this user.
    """
    if user.is_authenticated:
        return user.locations.enabled()
    else:
        return User.get_checkin_user().locations.enabled()
Beispiel #9
0
def reset_session(request):

    # initialize some basic vars
    if not request.user.is_authenticated():
        request.session.flush()

    # initialize locale
    init_locale(request)

    request.session['checkin_device'] = None
    request.session['checkin_customer'] = None

    if not request.session.get('company_name'):
        request.session['company_name'] = Configuration.conf('company_name')

    if request.user.is_authenticated():

        if request.GET.get('u'):
            user = User.objects.get(pk=request.GET['u'])
        else:
            user = request.user

        if request.GET.get('l'):
            location = Location.objects.get(pk=request.GET['l'])
        else:
            location = user.location

        checkin_users = User.get_checkin_group()
        request.session['checkin_users'] = User.get_checkin_group_list()
        request.session['checkin_locations'] = request.user.get_location_list()

        queryset = checkin_users.filter(location=location)
        request.session['checkin_users'] = User.serialize(queryset)

    else:
        user = User.get_checkin_user()
        location = user.location
    
    request.session['checkin_user'] = user.pk
    request.session['checkin_location'] = location.pk
    request.session['checkin_user_name'] = user.get_name()
    request.session['checkin_location_name'] = location.title
Beispiel #10
0
    def save(self, **kwargs):
        users = []
        string = u''
        cd = self.cleaned_data
        data = cd['datafile'].read()

        for i in ('utf-8', 'latin-1',):
            try:
                string = data.decode(i)
            except:
                pass

        if not string:
            raise ValueError(_('Unsupported file encoding'))

        sio = io.StringIO(string, newline=None)

        for l in sio.readlines():
            cols = l.strip().split("\t")
            if len(cols) < 2:
                continue # Skip empty rows

            user = User(username=cols[2])
            user.first_name = cols[0]
            user.last_name = cols[1]
            user.email = cols[3]
            user.set_password(cols[4])
            user.save()

            user.location = cd['location']
            user.timezone = user.location.timezone
            user.groups.add(cd['group'])
            user.queues = cd['queues']
            user.save()

            users.append(user)

        return users
Beispiel #11
0
    def save(self, **kwargs):
        users = []
        string = u''
        cd = self.cleaned_data
        data = cd['datafile'].read()

        for i in (
                'utf-8',
                'latin-1',
        ):
            try:
                string = data.decode(i)
            except:
                pass

        if not string:
            raise ValueError(_('Unsupported file encoding'))

        sio = io.StringIO(string, newline=None)

        for l in sio.readlines():
            cols = l.strip().split("\t")
            if len(cols) < 2:
                continue  # Skip empty rows

            user = User(username=cols[2])
            user.first_name = cols[0]
            user.last_name = cols[1]
            user.email = cols[3]
            user.set_password(cols[4])
            user.save()

            user.location = cd['location']
            user.timezone = user.location.timezone
            user.groups.add(cd['group'])
            user.queues = cd['queues']
            user.save()

            users.append(user)

        return users