def registerGuest(request): if request.method == "POST": form = GuestSimplifiedForm(request.POST) if form.is_valid(): try: guard = Guard.objects.get(staff=request.user.staff) branchoffice = GuardsToBranchoffice.objects.filter(guard=guard).filter(is_active=True) except Guard.DoesNotExist: messages.add_message( request, messages.ERROR, "Usted %s no tiene permisos para registrar personas" % request.user ) return HttpResponseRedirect("/register/guest_form/") val_document = form.cleaned_data["val_document"] reason = form.cleaned_data["reason"] try: guest = Guest.objects.get(val_document=val_document) except Guest.DoesNotExist: type_document = request.POST.get("type_document") city = request.POST.get("city") first_name = request.POST.get("first_name") last_name = request.POST.get("last_name") gender = request.POST.get("gender") guest = Guest( first_name=first_name, last_name=last_name, type_document=type_document, issue_document=city, val_document=val_document, gender=gender, ) guest.save() gr = GuestRegistration( guest=guest, reason=reason, branchoffice=branchoffice[0].branchoffice, owner=request.user ) gr.save() return HttpResponseRedirect("/register/guest_form/") else: try: guard = Guard.objects.get(staff=request.user.staff) branchoffice = GuardsToBranchoffice.objects.filter(guard=guard).filter(is_active=True) reg_without_exit = ( GuestRegistration.objects.filter(branchoffice=branchoffice[0].branchoffice) .filter(time_out__isnull=True) .order_by("-time_entry") ) form = GuestSimplifiedForm() return render(request, "guest_form.html", {"form": form, "rwe": len(reg_without_exit)}) except Guard.DoesNotExist: messages.add_message( request, messages.WARNING, "Usted %s no tiene permisos para registrar personas" % request.user ) reg_without_exit = GuestRegistration.objects.filter(time_out__isnull=True).order_by("-time_entry") form = GuestSimplifiedForm() return render(request, "guest_form.html", {"form": form, "rwe": len(reg_without_exit)})
def post(self, request): form = RegisterForm(request.POST) if form.is_valid(): data = form.cleaned_data user = Guest() user.email = data['email'] user.set_password(data['password1']) user.first_name = data['first_name'] user.last_name = data['last_name'] user.save() confirmation_token = ConfirmationToken() confirmation_token.user = user confirmation_token.token = generate_unique_token() confirmation_token.expires = datetime.now() + timedelta(days=1) confirmation_token.save() user.send_email("Confirm your email", "http://" + get_current_site( request).domain + "/auth/confirm/?token=" + confirmation_token.token) new_user = authenticate(username=data['email'], password=data['password1']) login(request, new_user) return redirect("index") data = dict(login_form=LoginForm(), register_form=form) return render(request, self.template_name, data)
def booking(request): if request.method == 'POST': form = ReservationForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'].lower() email_liste = [] for each in Guest.objects.all(): if each.email is not None: email_liste.append(each.email.lower()) if email not in email_liste: guest = Guest(email=email, first_name=form.cleaned_data['first_name'], last_name=form.cleaned_data['last_name']) guest.save() else: guest = Guest.objects.all().get(email=email) success = make_reservation(Restaurant.objects.first(), guest, form.cleaned_data['start_date_time'], form.cleaned_data['number_of_people'], 0, reminder=form.cleaned_data['reminder']) if success: send_confirmation( guest, Reservation.objects.all().get(id=success['reservation'])) return render(request, 'reservations/success.html') else: return render(request, 'not_success.html') else: form = ReservationForm() return render(request, 'booking.html', {'form': form})
def post(self): email = self.request.get('email') error = check_email_valid(email) if not error and Guest.query(Guest.email == email).get(): error = u"Данный Email уже существует" if error: invite = Invite.query(Invite.url == self.request.path[1:]).get() template_values = { 'error': error, 'title': invite.title, 'url': invite.url, } template = JINJA_ENVIRONMENT.get_template('invite.html') self.response.write(template.render(template_values)) return path = self.request.get('url') invite = Invite.query(Invite.url == path).get() if invite.count == invite.users_count: self.redirect('/') return invite.users_count += 1 invite.put() token = hashlib.md5(u'%s-%s' % (datetime.now(), email)).hexdigest() guest = Guest(email=email, token=token, date=datetime.now(), invite=invite) guest.put() self.response.set_cookie('token', token, max_age=3600) template = JINJA_ENVIRONMENT.get_template('sign.html') self.response.write(template.render())
def walkin(request): form = WalkinForm(request.POST) if form.is_valid(): guest = Guest(email='*****@*****.**', first_name=form.cleaned_data['first_name'], last_name=' ') guest.save() start_date = form.cleaned_data['start_date'] start_time = datetime.strptime(str(form.cleaned_data['start_time']), "%H:%M").time() start_date_time = datetime.combine(start_date, start_time) success = make_reservation(Restaurant.objects.first(), guest, start_date_time, form.cleaned_data['number_of_people'], 1, 0) if success: return True else: return False
def booking(request): form = ReservationForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'].lower() email_liste = [] for each in Guest.objects.all(): if each.email is not None: email_liste.append(each.email.lower()) if email not in email_liste: guest = Guest(email=email, first_name=form.cleaned_data['first_name'], last_name=form.cleaned_data['last_name']) guest.save() else: guest = Guest.objects.all().get(email=email) start_date = form.cleaned_data['start_date'] start_time = datetime.strptime(str(form.cleaned_data['start_time']), "%H:%M").time() start_date_time = datetime.combine(start_date, start_time) success = make_reservation(Restaurant.objects.first(), guest, start_date_time, form.cleaned_data['number_of_people'], 0, reminder=form.cleaned_data['reminder']) if success: send_confirmation( guest, Reservation.objects.all().get(id=success['reservation'])) return True else: return False else: form = ReservationForm() return render(request, 'newwalkin.html', {'form': form})
def post(self): email = self.request.get('email') pattern = re.compile("[^@]+@[^@]+\.[^@]+") if not pattern.match(email): self.redirect('/invite_view') return path = self.request.get('url') invite = Invite.query(Invite.url == path).get() if invite.count == invite.users_count: self.redirect('/') return invite.users_count += 1 invite.put() token = hashlib.md5(u'%s-%s' % (datetime.now(), email)).hexdigest() guest = Guest(email=email, token=token, date=datetime.now(), invite=invite) guest.put() self.response.set_cookie('token', token, max_age=3600) template = JINJA_ENVIRONMENT.get_template('sign.html') self.response.write(template.render())
def guest_page(request): if request.method == 'POST': reservation_form = ReservationForm(request.POST) if reservation_form.is_valid(): email = reservation_form.cleaned_data['email'].lower() email_liste = [] for guestobj in Guest.objects.all(): if guestobj.email is not None: email_liste.append(guestobj.email.lower()) if email not in email_liste: guest = Guest( email=email, first_name=reservation_form.cleaned_data['first_name'], last_name=reservation_form.cleaned_data['last_name']) guest.save() else: guest = Guest.objects.all().get(email=email) if reservation_form.is_valid(): start_date = reservation_form.cleaned_data['start_date'] start_time = datetime.strptime( str(reservation_form.cleaned_data['start_time']), "%H:%M").time() start_date_time = datetime.combine(start_date, start_time) success = make_reservation( Restaurant.objects.first(), guest, start_date_time, reservation_form.cleaned_data['number_of_people'], False, reminder=reservation_form.cleaned_data['reminder']) if success: send_confirmation( guest, Reservation.objects.all().get( id=success['reservation'])) messages.success(request, 'Reservasjonen din er registrert') reservation_form = ReservationForm() return render(request, 'guestpage.html', {'form': reservation_form}) else: messages.warning(request, 'Noe gikk galt. Vennligst prøv igjen') reservation_form = ReservationForm() return render(request, 'guestpage.html', {'form': reservation_form}) else: messages.error(request, 'Det er noe galt med utfyllingen av feltene') reservation_form = ReservationForm() return render(request, 'guestpage.html', {'form': reservation_form}) else: reservation_form = ReservationForm() return render(request, 'guestpage.html', {'form': reservation_form})
def activate(request, code=None): if request.POST: gf = GuestFormCreate(request.POST) if gf.is_valid(): g = Guest() g.uid = gf.cleaned_data['uid'] g.mail = request.session['validated_mail'] g.givenName = gf.cleaned_data['givenName'] g.sn = gf.cleaned_data['sn'] g.userPassword = ssha(gf.cleaned_data['userPassword']) # ssha the new password g.save() del request.session['validated_mail'] messages.add_message(request, messages.SUCCESS, _('Account %(uid)s created.') % {'uid': g.uid}) request.session['uid'] = g.uid return redirect('guest.views.me') else: try: obj = signing.loads(code) except signing.BadSignature: messages.add_message(request, messages.ERROR, _("The activation link is broken. Are you shure you've entered it correctly?")) logger.error('User entered broken activation link. Possible user copy/paste error.') return redirect('guest.views.home') if time.time() - obj['time'] > 60*60*settings.LINK_EXPIRY: messages.add_message(request, messages.ERROR, _('The activation link has expired. Please register again to recieve a new one.')) logger.error('User entered expired activation link. Possible server clock error. If not, consider increasing the LINK_EXPIRY setting.') return redirect('guest.views.home') else: if 'uid' in obj: g = get_object_or_404(Guest, uid=obj['uid']) g.mail = obj['mail'] g.save() request.session['uid'] = g.uid messages.add_message(request, messages.SUCCESS, _('Mail updated.')) return redirect('guest.views.me') else: request.session['validated_mail'] = obj['mail'] gf = GuestFormCreate() return render(request, 'guest/form.html', { 'form': gf, 'title': _('Activate account'), })
def seed(self): for i in range(10): first_name = names.get_first_name() last_name = names.get_full_name() guest = Guest() guest.role = "GUEST" guest.email = "*****@*****.**" % str(i) guest.set_password('password') guest.first_name = first_name guest.last_name = last_name guest.is_active = True guest.is_confirmed = True guest.is_staff = False guest.is_superuser = False guest.save()