def get(self): session = Session() try: task = db.get(db.Key.from_path('Task', session['task_id'])) session.delete_item('task_id') client = db.get(db.Key.from_path('Client', session['client_tmp'])) session.delete_item('client_tmp') task.client = client task.put() values = {'task': 1} values.update(logged()) except: values = logged() self.response.out.write(template.render('client_confirm.html', values))
def default_form(self, new_values): ipinfo = IPInfo('please_enter_valid') geo = ipinfo.GetCity(self.request.remote_addr) # geo = ipinfo.GetCity('81.190.71.212') #Gdynia for localhost testing cities = db.GqlQuery("SELECT * FROM City WHERE name=:name LIMIT 1", name=geo['City']) if cities.count() == 0: cities = db.GqlQuery("SELECT * FROM City WHERE name=:name LIMIT 1", name='Warszawa') city = cities.fetch(1, 0)[0] miasto = city.name wojewodztwo = city.voivodeship.name miasta = city.voivodeship.city_set.order("-people") wojewodztwa = db.GqlQuery("SELECT * FROM Voivodeship ORDER BY name") values = { 'miasto': miasto, 'wojewodztwo': wojewodztwo, 'miasta': miasta, 'wojewodztwa': wojewodztwa, 'rules': 1, 'data': 1, 'spam': 1 } values.update(new_values) values.update(logged()) self.response.out.write(template.render('client_login.html', values))
def get(self): student = log_student() if not student: session = Session() session['after_student_login'] = '******' self.redirect('student_login.html') return categories = db.GqlQuery("SELECT * FROM Category ORDER BY name") wojewodztwa = db.GqlQuery("SELECT * FROM Voivodeship ORDER BY name") errors = Set() miasta = student.city.voivodeship.city_set.order("-people") miasto = student.city.name wojewodztwo = student.city.voivodeship.name values = { 'miasto': miasto, 'wojewodztwo': wojewodztwo, 'miasta': miasta, 'wojewodztwa': wojewodztwa, 'categories': categories, 'student': student, 'errors': errors } values.update(logged()) self.response.out.write(template.render('student_profile.html', values))
def get(self): id = self.request.get('id') if not id: #Zle wolanie msg = 1 else: try: client = db.get(db.Key(id)) if client.active: #Juz aktywny msg = 3 else: if self.request.get('del'): #Usuniecie client.delete() msg = 4 else: #Aktywacja for task in client.task_set: task.state = 1 task.put() client.active = True client.put() msg = 5 except: #Brak rekordu msg = 2 values = {'msg': msg} values.update(logged()) self.response.out.write(template.render('client_activate.html', values))
def get(self): student = log_student() if not student: session = Session() session['after_student_login'] = '******' self.redirect('student_login.html') return tasks = db.GqlQuery( "SELECT * FROM Task WHERE state = 1 ORDER BY time_added DESC LIMIT 100" ) dates_from = list() dates_to = list() utc = timezone('UTC') tz = timezone('Warsaw') for t in tasks: utct = t.time_added loct = utct.replace(tzinfo=utc).astimezone(tz) dates_from.append(loct) utct = t.time_valid loct = utct.replace(tzinfo=utc).astimezone(tz) dates_to.append(loct) values = { 'tasks': tasks, 'dates_from': dates_from, 'dates_to': dates_to } values.update(logged()) self.response.out.write(template.render('tasks_view.html', values))
def post(self): client = log_client() if not client: session = Session() session['after_client_login'] = '******' self.redirect('client_login.html') return wojewodztwa = db.GqlQuery("SELECT * FROM Voivodeship ORDER BY name") if self.request.get('form') == "2": #Voivodeship change voivodeships = db.GqlQuery("SELECT * FROM Voivodeship WHERE name=:name LIMIT 1", name = self.request.get('voivodeship')) voivodeship = voivodeships.fetch(1,0)[0] miasta = voivodeship.city_set.order("-people") client.city = miasta.fetch(1,0)[0] else: cities = db.GqlQuery("SELECT * FROM City WHERE name=:name LIMIT 1", name = self.request.get('city')) client.city = cities.fetch(1,0)[0] miasta = client.city.voivodeship.city_set.order("-people") errors = Set() client.type = int(self.request.get('type')) if not self.request.get('name'): errors.add('e_no_name') else: client.name = self.request.get('name') if not self.request.get('phone'): errors.add('e_no_phone') else: client.phone = self.request.get('phone') if self.request.get('old_password'): if not client.password == self.request.get('old_password'): errors.add('e_old_password') else: if not self.request.get('password'): errors.add('e_no_password') else: #Haslo sie nie zgadza if not self.request.get('password') == self.request.get('password2'): errors.add('e_password') else: client.password = self.request.get('password') client.spam = self.request.get('spam')=='on' client.notify = int(self.request.get('notify')) client.district = self.request.get('district') if self.request.get('form') == "1": client.put() miasto = client.city.name wojewodztwo = client.city.voivodeship.name values = {'miasto': miasto, 'wojewodztwo': wojewodztwo, 'miasta': miasta, 'wojewodztwa': wojewodztwa, 'client': client, 'errors': errors} values.update(logged()) self.response.out.write(template.render('client_profile.html', values))
def get(self): categories = db.GqlQuery("SELECT * FROM Category ORDER BY name") days = list() utc = timezone('UTC') tz = timezone('Warsaw') for x in range(1,15): utct = datetime.now() + timedelta(days=x) loct = utct.replace(tzinfo=utc).astimezone(tz) days.append(loct) values = {'categories': categories, 'days': days, 'valid_days': 7} values.update(logged()) self.response.out.write(template.render('task_add.html', values))
def get(self): client = log_client() if not client: session = Session() session['after_client_login'] = '******' self.redirect('client_login.html') return session = Session() try: task = db.get(db.Key.from_path('Task', session['task_id'])) except: self.redirect('/') return task.client = client task.state = 1 task.put() session.delete_item('task_id') self.response.out.write(template.render('task_confirm.html', logged()))
def post(self): errors = Set() clients = db.GqlQuery( "SELECT * FROM Client WHERE email=:email LIMIT 1", email=self.request.get('email')) if clients.count() == 0: errors.add('e_email') else: client = clients.fetch(1, 0)[0] message = template.render('client_remind.txt', {'password': client.password}) mail.send_mail(sender="SzybkaFucha.pl <*****@*****.**>", to=self.request.get('email'), subject="Przypomnienie hasła", body=message) errors.add('c_sent') values = {'email': self.request.get('email'), 'errors': errors} values.update(logged()) self.response.out.write(template.render('client_remind.html', values))
def post(self): errors = Set() if not self.request.get('title'): errors.add('e_no_title') if not self.request.get('description'): errors.add('e_no_description') if not self.request.get('price'): errors.add('e_no_price') else: price = self.request.get_range('price', 0, 9999, 0) if price == 0: errors.add('e_price') if len(errors) == 0: task = Task(state = 0, category = db.Key().from_path('Category', int(self.request.get('category'))), title = self.request.get('title'), description = self.request.get('description'), private_info = self.request.get('private_info'), price = price, time_valid = datetime.now() + timedelta(days=int(self.request.get('valid_days'))), ip_added = self.request.remote_addr) task.put() session = Session() session['task_id'] = task.key().id() self.redirect('task_confirm.html') return categories = db.GqlQuery("SELECT * FROM Category ORDER BY name") days = list() utc = timezone('UTC') tz = timezone('Warsaw') for x in range(1,15): utct = datetime.now() + timedelta(days=x) loct = utct.replace(tzinfo=utc).astimezone(tz) days.append(loct) values = {'categories': categories, 'days': days, 'category': int(self.request.get('category')), 'valid_days': int(self.request.get('valid_days')), 'title': self.request.get('title'), 'description': self.request.get('description'), 'private_info': self.request.get('private_info'), 'price': self.request.get('price'), 'errors': errors} values.update(logged()) self.response.out.write(template.render('task_add.html', values))
def get(self): self.response.out.write(template.render('commercials.html', logged()))
def get(self): self.response.out.write(template.render('law.html', logged()))
def post(self): errors = Set() if self.request.get('form') == "1": #Login clients = db.GqlQuery( "SELECT * FROM Client WHERE email=:email LIMIT 1", email=self.request.get('log_email')) if clients.count() == 0: errors.add('e_log_email') else: client = clients.fetch(1, 0)[0] if not client.password == self.request.get('log_password'): errors.add('e_log_password') else: if client.active == 0: errors.add('e_not_active') if len(errors) == 0: session = Session() session['client_id'] = client.key().id() try: self.redirect(session['after_client_login']) except: self.redirect('/') return else: values = { 'log_email': self.request.get('log_email'), 'errors': errors } self.default_form(values) return if self.request.get('form') == "3": #Voivodeship change voivodeships = db.GqlQuery( "SELECT * FROM Voivodeship WHERE name=:name LIMIT 1", name=self.request.get('voivodeship')) voivodeship = voivodeships.fetch(1, 0)[0] wojewodztwo = voivodeship.name miasta = voivodeship.city_set.order("-people") miasto = miasta.fetch(1, 0)[0].name wojewodztwa = db.GqlQuery( "SELECT * FROM Voivodeship ORDER BY name") values = { 'miasto': miasto, 'wojewodztwo': wojewodztwo, 'miasta': miasta, 'wojewodztwa': wojewodztwa, 'type': self.request.get('type'), 'name': self.request.get('name'), 'phone': self.request.get('phone'), 'email': self.request.get('email'), 'district': self.request.get('district'), 'rules': self.request.get('rules'), 'data': self.request.get('data'), 'spam': self.request.get('spam'), 'errors': Set() } values.update(logged()) self.response.out.write( template.render('client_login.html', values)) return #Register email = self.request.get('email').strip().lower() if not self.request.get('name'): errors.add('e_no_name') if not self.request.get('phone'): errors.add('e_no_phone') if not self.request.get('email'): errors.add('e_no_email') else: #Email juz uzyty clients = db.GqlQuery( "SELECT * FROM Client WHERE email=:email LIMIT 1", email=email) if clients.count() == 1: errors.add('e_email') if not self.request.get('password'): errors.add('e_no_password') else: #Haslo sie nie zgadza if not self.request.get('password') == self.request.get( 'password2'): errors.add('e_password') #Musisz zaakceptowac regulamin if not self.request.get('rules'): errors.add('e_rules') #Musisz zezwolic na przetwarzanie danych if not self.request.get('data'): errors.add('e_data') cities = db.GqlQuery("SELECT * FROM City WHERE name=:name LIMIT 1", name=self.request.get('city')) city = cities.fetch(1, 0)[0] if len(errors) == 0: client = Client(type=int(self.request.get('type')), name=self.request.get('name'), phone=self.request.get('phone'), email=email, password=self.request.get('password'), district=self.request.get('district'), spam=self.request.get('spam') == 'on', active=False, city=city, notify=1) client.put() message = template.render('client_confirm.txt', {'id': client.key()}) mail.send_mail(sender="SzybkaFucha.pl <*****@*****.**>", to=self.request.get('email'), subject="Potwierdzenie rejestracji", body=message) session = Session() if session.get('task_id'): session['client_tmp'] = client.key().id() self.redirect('client_confirm.html') return miasto = city.name wojewodztwo = city.voivodeship.name miasta = city.voivodeship.city_set.order("-people") wojewodztwa = db.GqlQuery("SELECT * FROM Voivodeship ORDER BY name") values = { 'miasto': miasto, 'wojewodztwo': wojewodztwo, 'miasta': miasta, 'wojewodztwa': wojewodztwa, 'type': self.request.get('type'), 'name': self.request.get('name'), 'phone': self.request.get('phone'), 'email': email, 'district': self.request.get('district'), 'rules': self.request.get('rules'), 'data': self.request.get('data'), 'spam': self.request.get('spam'), 'errors': errors } values.update(logged()) self.response.out.write(template.render('client_login.html', values))
def get(self): self.response.out.write(template.render('client_remind.html', logged()))
def post(self): student = log_student() if not student: session = Session() session['after_student_login'] = '******' self.redirect('student_login.html') return categories = db.GqlQuery("SELECT * FROM Category ORDER BY name") wojewodztwa = db.GqlQuery("SELECT * FROM Voivodeship ORDER BY name") if self.request.get('form') == "2": #Voivodeship change voivodeships = db.GqlQuery( "SELECT * FROM Voivodeship WHERE name=:name LIMIT 1", name=self.request.get('voivodeship')) voivodeship = voivodeships.fetch(1, 0)[0] miasta = voivodeship.city_set.order("-people") student.city = miasta.fetch(1, 0)[0] else: cities = db.GqlQuery("SELECT * FROM City WHERE name=:name LIMIT 1", name=self.request.get('city')) student.city = cities.fetch(1, 0)[0] miasta = student.city.voivodeship.city_set.order("-people") errors = Set() student.type = int(self.request.get('type')) if not self.request.get('name'): errors.add('e_no_name') else: student.name = self.request.get('name') if not self.request.get('phone'): errors.add('e_no_phone') else: student.phone = self.request.get('phone') if self.request.get('old_password'): if not student.password == self.request.get('old_password'): errors.add('e_old_password') else: if not self.request.get('password'): errors.add('e_no_password') else: #Haslo sie nie zgadza if not self.request.get('password') == self.request.get( 'password2'): errors.add('e_password') else: student.password = self.request.get('password') student.spam = self.request.get('spam') == 'on' if self.request.get("pic"): avatar = images.resize(self.request.get("pic"), 64, 64) student.avatar = db.Blob(avatar) categories_sel = [] for category in categories: if self.request.get('%d' % category.key().id()): categories_sel.append(category.key()) student.specialities = categories_sel student.description = self.request.get("description") student.notify = int(self.request.get('notify')) if self.request.get('form') == "1": student.put() miasto = student.city.name wojewodztwo = student.city.voivodeship.name values = { 'miasto': miasto, 'wojewodztwo': wojewodztwo, 'miasta': miasta, 'wojewodztwa': wojewodztwa, 'categories': categories, 'student': student, 'errors': errors } values.update(logged()) self.response.out.write(template.render('student_profile.html', values))
def get(self): self.response.out.write( template.render('student_confirm.html', logged()))