Example #1
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()
Example #2
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()