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())
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())
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
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)
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)
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
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()
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
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
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