Пример #1
0
 def get(self, action='', jobid='', tagname=''):
     """ Serve up job admin actions """
     job     = model.Job.get_by_id(int(jobid))
     
     j   = {'title':         job.title,
            'entry_date':    job.entry_date,
            'link':          job.link,
            'desc':          job.desc,
            'tags':          [jobreport._make_tags(tag) for tag in job.tag_info]}
     
     if action == 'deletejob':
         self.set_template('templates/admin/admindeletejob.html')
         self.add_template_value('jobid',jobid)
         self.add_template_value('job',j)
     elif action == 'deletejobconfirm':
         title   = job.title
         job.delete()
         
         self.set_template('templates/admin/admindeletejobconfirm.html')
         self.add_template_value('title',title)
     elif action == 'editjobtags':
         self.set_template('templates/admin/admineditjob.html')
         self.add_template_value('jobid',jobid)
         self.add_template_value('job',j)
     elif action == 'removetag':
         self.set_template('templates/admin/admineditjob.html')
         self.add_template_value('jobid',jobid)
         self.add_template_value('job',j)
         
     self.write_page()    
Пример #2
0
    def get(self):
        """ Serve up base admin page.
        """
        self.set_template('templates/admin/admin.html')

        jobs        = model.Job.all()

        records = []
        
        jobs.order("-entry_date")
        
        add_job = False
        
        bad_titles  = ['tech','paid','sale','associate','market']
        
        for job in jobs:
            short_desc  = jobreport._remove_html_tags(job.desc)
            
            # If tags are empty
            if len(job.tag_info) == 0:
                add_job = True
            
            for bad in bad_titles:
                if bad in job.title.lower():
                    add_job = True
            
            if add_job:
                    
                j   = {'key'    : job.key().id(),
                       'date'   : job.entry_date,
                       'title'  : job.title,
                       'link'   : job.link,
                       'short'  : (short_desc[:240]) if len(short_desc) > 240 else short_desc,
                       'tags'   : [jobreport._make_tags(tag) for tag in job.tag_info]}
                    
                records.append(j)
     
        self.add_template_value('jobs',records)        
        self.write_page()
Пример #3
0
 def get(self, jobid='', tagname=''):
     """ Handler for tag admin actions """
             
     job         = model.Job.get_by_id(int(jobid))
     
     newtaglist  = []
     actualtag   = ''
     
     if tagname  == 'objectivec':
         actualtag   = 'Objective C'
     elif tagname == 'cplus':
         actualtag   = 'C++'
     elif tagname == 'csharp':
         actualtag   = 'C#'
     else:
         actualtag   = tagname
     
     for tag in job.tag_info:
         if tag != actualtag:
             newtaglist.append(tag)
             
     job.tag_info    = newtaglist
     job.put()
     
     j   = {'title':         job.title,
            'entry_date':    job.entry_date,
            'link':          job.link,
            'desc':          job.desc,
            'tags':          [jobreport._make_tags(tag) for tag in newtaglist]}
             
     
     self.set_template('templates/admin/admineditjob.html')
     self.add_template_value('message', actualtag + " removed")
     self.add_template_value('jobid',jobid)
     
     self.add_template_value('job',j)
         
     self.write_page()
Пример #4
0
    def get(self, offset=''):
        """ Serve up base admin page.
        """
        self.set_template('templates/admin/admin.html')

        jobs        = model.Job.all()
        
        filter  = 'all'
        
        if filter != '':                    
            if filter != 'all':
                if filter == 'objectivec':
                    newfilter   = 'Objective C'
                elif filter == 'csharp':
                    newfilter   = 'C#'
                elif filter == 'cplus':
                    newfilter   = 'C++'
                else:
                    newfilter   = filter
                    
                jobs.filter("tag_info =", newfilter)
                self.add_template_value('skilltype', newfilter.upper())
            else:
                self.add_template_value('skilltype', '')
                
            if offset == '':
                current_offset  = 0
            else:
                current_offset  = int(offset)                
            
        else:            
            # If user is logged in, then display user preference.  If not, just
            # display most current job
            filter          = 'all'
            current_offset  = 0
            self.add_template_value('skilltype', '')

        records = []
        
        jobs.order("-entry_date")
        jobs.fetch(MAX_ITEMS)
        
        # Hacky, but limit and offset not working properly for me
        idx         = 0
        cur         = 0
        has_more    = False
        
        for job in jobs:
            if idx  >= current_offset and cur < MAX_ITEMS:
                short_desc  = jobreport._remove_html_tags(job.desc)
                    
                j   = {'key'    : job.key().id(),
                       'date'   : job.entry_date,
                       'title'  : job.title,
                       'link'   : job.link,
                       'short'  : (short_desc[:240]) if len(short_desc) > 240 else short_desc,
                       'tags'   : [jobreport._make_tags(tag) for tag in job.tag_info]}
                
                records.append(j)

                cur += 1
            elif cur == MAX_ITEMS:
                has_more    = True
                
            idx += 1
        
        if current_offset >= MAX_ITEMS:
            self.add_template_value('has_previous', True)
            self.add_template_value('filter',filter)
            self.add_template_value('previous_offset',(current_offset - MAX_ITEMS))
            
        if has_more:
            self.add_template_value('has_more', True)
            self.add_template_value('filter',filter)
            self.add_template_value('offset',(current_offset + MAX_ITEMS))        
                 
        self.add_template_value('jobs',records)        
        self.write_page()