Exemplo n.º 1
0
    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'
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
 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'))
Exemplo n.º 5
0
    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'
Exemplo n.º 6
0
 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')) 
Exemplo n.º 7
0
 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)
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
    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
Exemplo n.º 10
0
    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)
Exemplo n.º 11
0
  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)
Exemplo n.º 12
0
 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)
Exemplo n.º 13
0
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. 





""")
Exemplo n.º 14
0
  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)
Exemplo n.º 15
0
 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)
Exemplo n.º 16
0
    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
Exemplo n.º 17
0
    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
Exemplo n.º 18
0
	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'))
		
		
Exemplo n.º 19
0
  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)
Exemplo n.º 20
0
 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)
Exemplo n.º 21
0
    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)
Exemplo n.º 22
0
    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)
Exemplo n.º 23
0
    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')
Exemplo n.º 24
0
    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')
Exemplo n.º 25
0
 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)
Exemplo n.º 26
0
 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
Exemplo n.º 27
0
 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)
Exemplo n.º 28
0
    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)
Exemplo n.º 29
0
    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)
Exemplo n.º 30
0
    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)
Exemplo n.º 31
0
 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)
Exemplo n.º 32
0
 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)
Exemplo n.º 33
0
    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)
Exemplo n.º 34
0
    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)            
Exemplo n.º 35
0
    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
Exemplo n.º 36
0
 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())
Exemplo n.º 37
0
 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)
Exemplo n.º 38
0
    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)
Exemplo n.º 39
0
    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)
Exemplo n.º 40
0
    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'))
Exemplo n.º 41
0
 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'))
Exemplo n.º 42
0
 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'))
Exemplo n.º 43
0
    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)
Exemplo n.º 44
0
    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)