def test_url_for_with_anchor(self): app = get_app() request = get_request(app, base_url='http://foo.com') app.match_url(request) assert url_for('home', _anchor='my-little-anchor') == '/#my-little-anchor' assert url_for('home', _full=True, _anchor='my-little-anchor') == 'http://foo.com/#my-little-anchor'
def post(self, **kwargs): redirect_url = self.redirect_path() if self.auth_current_user: # User is already registered, so don't display the signup form. return redirect(redirect_url) if self.form.validate(): username = self.form.username.data password = self.form.password.data remember = self.form.remember.data user = self.auth_get_user_entity(username=username) if user is not None and user.disabled is not None and user.disabled is True: self.set_message('error', 'Your account has been disabled. You can request a new account if you like. ', life=None) else : res = self.auth_login_with_form(username, password, remember) if self.auth_current_user and self.auth_current_user.assigned_to is not None: logging.log(logging.INFO, "assigned to client " + self.auth_current_user.assigned_to) self.session['client'] = self.auth_current_user.assigned_to redirect_url = url_for("clients-pretty") if self.auth_current_user and self.auth_current_user.is_admin: redirect_url = url_for("admin-dashboard") if res: return redirect(redirect_url) self.set_message('error', 'Authentication failed. Please try again.', life=None) return self.get(**kwargs)
def post(self, **kwargs): redirect_url = self.redirect_path() if self.auth_current_user: # User is already registered, so don't display the signup form. return redirect(redirect_url) if self.form.validate(): username = self.form.username.data password = self.form.password.data remember = self.form.remember.data user = self.auth_get_user_entity(username=username) if user is not None and user.disabled is not None and user.disabled is True: self.set_message( 'error', 'Your account has been disabled. You can request a new account if you like. ', life=None) else: res = self.auth_login_with_form(username, password, remember) if self.auth_current_user and self.auth_current_user.assigned_to is not None: logging.log( logging.INFO, "assigned to client " + self.auth_current_user.assigned_to) self.session['client'] = self.auth_current_user.assigned_to redirect_url = url_for("clients-pretty") if self.auth_current_user and self.auth_current_user.is_admin: redirect_url = url_for("admin-dashboard") if res: return redirect(redirect_url) self.set_message('error', 'Authentication failed. Please try again.', life=None) return self.get(**kwargs)
def get(self, **kwargs): if self.auth_current_user: if self.auth_current_user.is_admin or self.auth_current_user.is_staff: return self.redirect(url_for('admin-dashboard')) else: return self.redirect(url_for('clients-pretty')) else: return self.redirect(url_for('auth/login'))
def test_url_for2(self): app = get_app() request = get_request(app, base_url='http://foo.com') app.match_url(request) assert url_for('profile', username='******') == '/people/calvin' assert url_for('profile', username='******') == '/people/hobbes' assert url_for('profile', username='******') == '/people/moe'
def get(self, **kwargs): redirect_url = self.redirect_path() if self.auth_current_user: return redirect(redirect_url) opts = {'continue': self.redirect_path()} context = { 'form': self.form, 'facebook_login_url': url_for('auth/facebook', **opts), 'google_login_url': url_for('auth/google', **opts), } return self.render_response('user/login.html', **context)
def get(self, **kwargs): redirect_url = self.redirect_path() if self.auth_current_user: # User is already registered, so don't display the signup form. return redirect(redirect_url) opts = {'continue': self.redirect_path()} context = { 'form': self.form, 'facebook_login_url': url_for('auth/facebook', **opts), 'google_login_url': url_for('auth/google', **opts), 'twitter_login_url': url_for('auth/twitter', **opts), } return self.render_response('users/login.html', **context)
def post(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) ids = self.request.form.get('jobids').split(',') logging.log(logging.INFO, " ids: %s" % self.request.form.get('jobids') ) if len(ids) > 0: invoice = InvoiceModel() invoice.CreatedBy = self.auth_current_user upload_files = self.get_uploads('invoice') blob_info = upload_files[0] invoice.File = str(blob_info.key()) logging.log(logging.INFO, "set uploaded file as %s" % blob_info.key()) invoice.Client = ClientModel.get(self.request.form.get('clientid')) invoice.put() for id in self.request.form.get('jobids').split(','): job = JobModel.get(id) job.Invoiced = True job.Invoice = invoice job.OrderStage = OrderStatus.Invoiced job.put() self.set_message('success', 'Successfully created invoice. ', flash=True, life=5) response = redirect_to('admin-invoices') # Clear the response body. response.data = '' return response
def get(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) clientid = kwargs['clientid'] jobs = JobModel.all() jobs.filter("Client = ", ClientModel.get(clientid)) jobs.filter("Invoiced != " , True) context = [] if self.request.is_xhr: for job in jobs: os = None js = None if job.OrderStage and lstOrderStages[job.OrderStage]: os = lstOrderStages[job.OrderStage] if job.JobStage: js = lstJobStages[job.JobStage] context.append({ 'name' : job.Nickname, 'jobstage': js, 'orderstage': os, 'id' : str(job.key()), 'created': job.Created.strftime("%b %d %Y"), 'quote' : job.Quote }); return render_json_response(context) else: return render_response('hello.html', **context)
def get(self, **kwargs): results = GameVersion.all().fetch(10) templateValues = {'gameVersions' : results, 'create_url' : url_for('version/create')} return self.render_page('game-versions.html', **templateValues)
def get(self, **kwargs): race = db.get(kwargs['id']) templateValues = {'title' : 'Update Race', 'submit_url' : url_for('race/update', id=kwargs['id']), 'existingRace' : get_property_dict(race)} templateValues['existingRace']['imageUrl'] = race.imageUrl return self.render_page('race-form.html', **templateValues)
def sendAccountRequested(username, emailfrom, companyname, message): mail.send_mail( sender="Brentwood Printing Account Management<*****@*****.**>", to="*****@*****.**", subject="A Request for an account has been submitted.", body=""" A client has submitted a request for an account to be created for them. The information they supplied: requested username: """ + username + """ email address: """ + emailfrom + """ company name: """ + companyname + """ message: """ + message + """ <a href='http://brentwood-printing.appspot.com""" + url_for('admin-clients') + """'>log in</a> to create this account. """)
def get(self, **kwargs): templateValues = {'title' : 'Create Buildable', 'submit_url' : url_for('buildable/create'), 'races' : Race.all().fetch(10), 'gameVersions' : GameVersion.all().fetch(10)} return self.render_page('buildable-form.html', **templateValues)
def get(self, file_key=None, **kwargs): template = 'admin/files/new.html' context = { 'form': self.form, 'upload_url': blobstore.create_upload_url(url_for('blobstore/upload')) } return self.render_response(template, **context)
def get(self, exception=None, handler=None): # Always log exceptions. logging.exception(exception) # Get the exception code and description, if it is an HTTPException, # or assume 500. code = getattr(exception, "code", 500) message = getattr(exception, "description", None) if self.app.dev and code not in (404,): # Raise the exception in dev except for NotFound. raise if code in (403, 404): # Render a special template for these codes. template = "base/error_%d.html" % code else: # Render a generic 500 template. template = "base/error_500.html" # Set breadcrumbs to follow rest of the site. self.request.context["breadcrumbs"] = [(url_for("home/index", area_name=self.area.name), i18n._("Home"))] # Render the template using the exception message, if any, and set # the status code. response = self.render_response(template, message=message) response.status_code = code return response
def get(self, exception=None, handler=None): logging.exception(exception) # Initial breadcrumbs for this app. self.request.context['breadcrumbs'] = [ (url_for('home/index', area_name=self.area.name), i18n._('Home')) ] kwargs = {} code = 500 template = 'base/error_500.html' if isinstance(exception, HTTPException): kwargs = {} code = exception.code if code in (404, 500): if exception.description != exception.__class__.description: kwargs['message'] = exception.description template = 'base/error_%d.html' % code else: kwargs['message'] = exception.description response = self.render_response(template, **kwargs) response.status_code = code return response
def post(self): entity=db.get(db.Key(self.request.form.get('entity_key'))) entity.status=self.request.form.get('new_status') entity.put() return redirect(url_for('links/review'))
def get(self, **kwargs): query = Race.all() results = query.fetch(10) templateValues = {'races' : results, 'create_url' : url_for('race/create')} return self.render_page('races.html', **templateValues)
def get(self, **kwargs): tasks = self._getTasks() context = { 'tasks': tasks, 'add_task_url': url_for('tasks-new'), } return self.render_response('tasks/index.html', **context)
def get(self, **kwargs): redirect_url = self.redirect_path() if self.auth_current_user: # User is already registered, so don't display the signup form. return redirect(redirect_url) opts = {'continue': self.redirect_path()} context = { 'form': self.form, 'facebook_login_url': url_for('auth/facebook', **opts), 'friendfeed_login_url': url_for('auth/friendfeed', **opts), 'google_login_url': url_for('auth/google', **opts), 'twitter_login_url': url_for('auth/twitter', **opts), 'yahoo_login_url': url_for('auth/yahoo', **opts), } return self.render_response('login.html', **context)
def get(self): upload_url = blobstore.create_upload_url(url_for('cashblob/upload')) html = '' html += '<html><body>' html += '<form action="%s" method="POST" enctype="multipart/form-data">' % upload_url html += """Upload File: <input type="file" name="file"><br> <input type="submit" name="submit" value="Submit"> </form></body></html>""" return Response(html, mimetype='text/html')
def get(self): download_url = url_for('cashblob/download') html = '' html += '<html><body>' html += '<form action="%s" method="POST">' % download_url html += """Account: <input type="text" name="account"><br> <input type="submit" name="submit" value="Submit"> </form></body></html>""" return Response(html, mimetype='text/html')
def get(self, **kwargs): buildable = db.get(kwargs['id']) templateValues = {'title' : 'Update Unit', 'submit_url' : url_for('buildable/update', id=kwargs['id']), 'races' : Race.all(), 'gameVersions' : GameVersion.all(), 'existingBuildable' : get_property_dict(buildable)} templateValues['existingBuildable']['imageUrl'] = buildable.imageUrl return self.render_page('buildable-form.html', **templateValues)
def getPages(self): pages = Page.gql('ORDER BY sequenceNumber') processedPages=[] for page in pages: p={ 'url': url_for('page_def', number=page.pageLabel), 'name': 'Page %s' % (page.pageLabel), } processedPages.append(p) return processedPages
def get(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) #kwargs['stages'] = lstStages #kwargs['stagesEnum'] = Stages() invoices = InvoiceModel.all(); invoices.order('Client') kwargs['invoices'] = invoices return self.render_response('admininvoices.html', **kwargs)
def get(self, number='1', size='24'): pageLabel=number sizeIndex=int(size) #pageLabel = kwargs.get('number') pages = Page.gql("WHERE pageLabel=:1", pageLabel) page = pages.get() #if (page.loginRequired): # logging.debug("loginRequired:") # if not self.auth_current_user: # logging.debug("failed:") # return redirect(self.auth_login_url()) url = images.get_serving_url(page.blobKey, size=IMG_SERVING_SIZES[sizeIndex], crop=False) if (containsAny(pageLabel, '0123456789')): pageSequence = int(pageLabel)+ 13 else: pageSequence = fromRoman(pageLabel)-1 arguments={ 'pageImageURL':url, } if(pageSequence>0): prevLabel = getPageLabel(pageSequence - 1) arguments['hasPrevious']=1 arguments['previousURL']=url_for('page', number=prevLabel, size=size) if (pageSequence<223): nextLabel = getPageLabel(pageSequence + 1) arguments['hasNext']=1 arguments['nextURL']=url_for('page', number=nextLabel, size=size) if(sizeIndex>0): sizeStr=str(sizeIndex-1) arguments['hasSmaller']=1 arguments['smallerURL']=url_for('page', number=number, size=sizeStr) if(sizeIndex<29): sizeStr=str(sizeIndex+1) arguments['hasBigger']=1 arguments['biggerURL']=url_for('page', number=number, size=sizeStr) return self.render_response('Page.html', **arguments)
def get(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) if kwargs and kwargs['clientid']: form = RegistrationForm(clients=kwargs['clientid']) form.clients.choices = getClientChoices() else: form=self.form return self.render_response('adduser.html', form=form)
def create_login_url(self, dest_url): """Returns the login URL for this request and specified destination URL. By default returns the URL for the endpoint :attr:`login_endpoint`. :param dest_url: String that is the desired final destination URL for the user once login is complete. :return: An URL to perform login. """ return url_for(self.login_endpoint, redirect=dest_url, full=True)
def get(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) kwargs['StatusInfo'] = { 'OrderStages': OrderStatus(), 'JobStages' : JobStatus(), 'allOrderStages' : lstOrderStages, 'allJobStages' : lstJobStages } kwargs['upload_url'] = blobstore.create_upload_url('/admin/createinvoice') return self.render_response('admininvoicing.html', **kwargs)
def get(self, **kwargs): u = users.get_current_user() if models.Reviewer.all(keys_only = True).filter('user ='******'review-start'))) q = models.Quote.all().filter('accepted =', False).order('creation_date') if q.count(1) == 0: return redirect_to('home') return render_response('cppbash/review.html', quotes = q)
def get(self, **kwargs): redirect_url = self.redirect_path() if self.auth_current_user: # User is already registered, so don't display the signup form. logging.info('login handler: user found, so redirecting to: %s' % redirect_url) return redirect(redirect_url) opts = {'continue': self.redirect_path()} context = { 'form': self.form, 'facebook_login_url': url_for('auth/facebook', **opts), 'facebook_server_flow_login_url': url_for('auth/facebookserverflow', **opts), 'friendfeed_login_url': url_for('auth/friendfeed', **opts), 'google_login_url': url_for('auth/google', **opts), 'twitter_login_url': url_for('auth/twitter', **opts), 'yahoo_login_url': url_for('auth/yahoo', **opts), } context['facebook_api_key'] = self.app.get_config( 'tipfy.ext.auth.facebook', 'api_key') return self.render_response('login.html', **context)
def get(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) logging.log(logging.INFO, "searching for " + kwargs['term']) clients = db.GqlQuery("SELECT FROM ClientModel WHERE Name >= :1 AND Name < :2", kwargs['term'], u"%s" % kwargs['term'] + u"\ufffd") context = [] if self.request.is_xhr: for client in clients: context.append({'value' : client.Name, 'id' : str(client.key()) }); return render_json_response(context) else: return render_response('hello.html', **context)
def create_wiki_link(path): """Creates a wiki link given a path.""" anchor = None parts = path.split('#', 1) if len(parts) > 1: path = parts[0] anchor = parts[1] page_path = WikiPath(path).normalized_path url = url_for('wiki/index', page_path=page_path, area_name=area.name) if anchor: url += '#' + url_quote(anchor) return url
def get(self, **kwargs): upload_url = blobstore.create_upload_url(url_for('blobstore/upload')) p = Poof.all().filter('username = '******'' if p.picture: image_url=images.get_serving_url(str(p.picture.key()))+"=s200" if p.is_active: for j in p.poofers: job_list.append(j) if (date.today() - p.end_date) >= timedelta (days = 0): finish = True return self.render_response('content.html', section='content', up_url=upload_url, picture = image_url, poof =p, job_collection = job_list, finish = finish) return self.render_response('content.html', section='content', up_url=upload_url, poof=Poof())
def post(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) if self.request.form.get('invoiceid'): invoice = InvoiceModel.get(self.request.form.get('invoiceid')) invoice.Paid = True invoice.put() jobs = JobModel.all() jobs.filter("Invoice = ", invoice) for job in jobs: job.OrderStage = OrderStatus.Paid job.put() context = {'invoiced': True } if self.request.is_xhr: return render_json_response(context)
def get(self): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) """Simply returns a rendered template with an enigmatic salutation.""" auth_session = None if 'id' in self.auth_session: auth_session = self.auth_session template_values = { 'auth_session': auth_session, 'user' : self.auth_current_user, 'current_user': self.auth_current_user, 'login_url': self.auth_login_url(), 'logout_url': self.auth_logout_url(), 'current_url': self.request.url, 'clients' : getClientsAndUsers() } return self.render_response('adminclients.html', **template_values)
def get(self): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) clients = ClientModel.all().order("Name") context = [] if self.request.is_xhr: for client in clients: users_query = db.Query(User).filter("assigned_to", str(client.key())) logging.log(logging.INFO, "users: " + str(users_query.count())) u = [] if users_query.count() > 0: for user in users_query: u.append({'Username' : user.username, 'Email' : user.email, 'Key': str(user.key())}) context.append({'Name' : client.Name, 'Key' : str(client.key()), 'Address': client.Address, 'Email' : client.Email, 'PhoneNumber': client.PhoneNumber, 'Users' : u}); return render_json_response(context) else: return render_response('hello.html', **context)
def post(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) #get the client or create new if new if self.request.form.get('key') is not None: c = ClientModel.get(self.request.form.get('key')) else : c = ClientModel() #set the client properties and save # c.Changed = datetime.now() c.Name = self.request.form.get('name') c.Address = self.request.form.get('address') if self.request.form.get('phone') is not None: c.PhoneNumber = self.request.form.get('phone') c.Email = self.request.form.get('email') c.CreatedBy = self.auth_current_user c.put() add_history("a client was updated", self.auth_current_user, None, c.key()) self.set_message('success', 'Successfully saved your changes. ', flash=True, life=5) #create the user username = self.request.form.get('username') password = self.request.form.get('password') context = {} if username and password: auth_id = 'own|%s' % username user = self.auth_create_user(username, auth_id, password=password, assigned_to=str(c.key()), email=self.request.form.get('email')) #create the result if user: context = {'clientadded': True, 'key': str(c.key()), 'user' : str(user.key()) } add_history("user was created", self.auth_current_user, None, c.key(), user.key()) self.set_message('success', 'The user was created. ', flash=True, life=5) else : context = {'clientadded': True, 'key' : str(c.key()) } if self.request.is_xhr: return render_json_response(context) else: return redirect(self.request.form.get('redirect'))
def post(self, **kwargs): if str(self.auth_current_user.key()) == kwargs['userid'] or self.auth_current_user.is_admin or self.auth_current_user.is_staff: username = self.form.username.data email = self.form.email.data password = self.form.password.data password_confirm = self.form.password_confirm.data if password != password_confirm: self.set_message('error', "Password confirmation didn't match.", life = None) return self.get(**kwargs) olduser = User.get(kwargs['userid']) olduser.email = email if password is not None and len(password) > 0: olduser.set_password(password) self.set_message('success', 'The users password was changed. ', flash=True, life=5) add_history("user password was changed", self.auth_current_user, None, olduser.assigned_to, olduser.key()) olduser.put() add_history("user was modified", self.auth_current_user, None, olduser.assigned_to, olduser.key()) self.set_message('success', 'The user was successfully updated. ', flash=True, life=5) return self.get(**kwargs) else: return self.redirect_to(url_for('auth/login'))
def get(self, **kwargs): if str(self.auth_current_user.key()) == kwargs['userid'] or self.auth_current_user.is_admin or self.auth_current_user.is_staff: form = self.form user = User.get(kwargs['userid']) kwargs['user'] = user history = JobHistoryModel.all() history.filter("CreatedBy =", User.get(kwargs['userid'])) history.order("-Created").fetch(20); kwargs['history'] = history if user.assigned_to: kwargs['client'] = ClientModel.get(user.assigned_to) if user: obj = { 'username' : user.username, 'key' : str(user.key()), 'email' : user.email } logging.log(logging.INFO, 'editing user: '******'form'] = form return self.render_response('edituser.html', **kwargs) else: return self.redirect_to(url_for('account/login'))
def get(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) kwargs['client'] = ClientModel.get(kwargs['clientid']) # kwargs['history'] = db.Query("SELECT * FROM JobHistoryModel WHERE Client=:client ORDER BY Created LIMIT 30", client=ClientModel.get(kwargs['clientid'])) history = JobHistoryModel.all() history.filter("Client =", ClientModel.get(kwargs['clientid'])) history.order("-Created").fetch(200) kwargs['history'] = history kwargs['stages'] = lstStages kwargs['stagesEnum'] = Stages() jobs = JobModel.all() jobs.filter("Client =", ClientModel.get(kwargs['clientid'])) try: if kwargs['order']: jobs.order(kwargs['order']) else: jobs.order('Stage') except: jobs.order('Stage') kwargs['jobs'] = jobs return self.render_response('adminclient.html', **kwargs)
def get(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) kwargs['history'] = JobHistoryModel.all().order('-Created').fetch(20) for h in kwargs['history']: h.Created = h.Created.replace(tzinfo=pytz.timezone('US/Eastern')).astimezone(timezone("US/Eastern")) kwargs['StatusInfo'] = { 'OrderStages': OrderStatus(), 'JobStages' : JobStatus(), 'allOrderStages' : lstOrderStages, 'allJobStages' : lstJobStages } jobs = JobModel.all() try: if kwargs['order']: jobs.order(kwargs['order']) else: jobs.order('OrderStage') except: jobs.order('OrderStage') try: if kwargs['clientid']: jobs.filter("Client = " , ClientModel.get(kwargs['clientid'])) except: pass kwargs['jobs'] = jobs kwargs['clients'] = ClientModel.all() for job in kwargs['jobs']: job.Created = job.Created.replace(tzinfo=pytz.timezone('US/Mountain')).astimezone(timezone("US/Mountain")) return self.render_response('admindashboard.html', **kwargs)