コード例 #1
0
ファイル: admin.py プロジェクト: yinzhigang/diarytype
 def POST(self, link_id=None):
     if link_id:
         link = Link.get_by_id(int(link_id))
     else:
         link = Link()
         max_sort_link = Link.all().order('-sort').get()
         if max_sort_link:
             # max_sort_category = max_sort_category.pop()
             max_sort = max_sort_link.sort
             if not max_sort:
                 max_sort = 1
         else:
             max_sort = 0
         link.sort = max_sort + 1
     
     inp = web.input()
     link.name = inp.name
     url = inp.get('url')
     if not url.startswith(('http://', 'https://')):
         url = 'http://' + url
     link.url = url
     link.save()
     
     clear_cache()
     
     return web.seeother('/admin/links')
コード例 #2
0
ファイル: serializers.py プロジェクト: t1waz/async_crawler
class LinkDataSerializer(Serializer):
    link = ForeignKeyField(slug_field='url',
                           queryset=lambda: Link.all(),
                           many=False)

    class Meta:
        model = LinkData
        fields = ('id', 'link', 'created')
        read_only_fields = ('created', )
コード例 #3
0
ファイル: widgets.py プロジェクト: yinzhigang/diarytype
 def body(self):
     content = memcache.get('widget_links')
     if not content:
         links = Link.all().order('sort')
         
         content = []
         write = content.append
         write('<ul>')
         for link in links:
             write('<li><a href="%s" target="_blank">%s</a></li>' %
                     (link.url, link.name))
         write('</ul>')
         content = '\n'.join(content)
         memcache.set('widget_links', content)
     
     return content
コード例 #4
0
ファイル: context.py プロジェクト: rosskarchner/eventgrinder
def site_context(request):
    site=get_site()
    additional_context={'site': site,
                        'user':get_current_profile(),
                        'admin':users.is_current_user_admin(),
                        'logout':users.create_logout_url(reverse('account-signout')),
                        'links':Link.all().filter('status =','approved').fetch(20)
                        
                }
                

    #additional_context['logo']=get_serving_url(str(site.original_logo.key()), 512)


    return additional_context
        
コード例 #5
0
ファイル: views.py プロジェクト: Hubble1/eventgrinder
def event_queue(request):
    
    def save_details(event):
        data=request.POST
        event.title=data['title']
        event.link=data['link'] or None
        event.cost=data['cost'] or None
        tz=request.site.tz
        event.start=tz.localize(parser.parse(data['start']))
        event.end=tz.localize(parser.parse(data['end']))
        
        if request.POST.has_key('tags'): 
            event.tags=[t.strip() for t in request.POST.get("tags","").lower().split(',')]
            
        event.put()
        
    
    
    timezone=pytz.timezone(request.site.timezone)
    pending_events=request.site.event_set.filter('status = ', 'submitted')
    today=utc.localize(datetime.utcnow()).astimezone(timezone).date()
    pending_events_future=pending_events.filter('local_start >=', today).order('local_start').fetch(50)
    if request.method == 'POST' and request.POST.has_key('button'):
        profile=get_current_profile()
        if request.POST['button'] == 'Reject' and (profile.userlevel == 10):
            event_results=request.site.event_set.filter(' __key__ =', db.Key(request.POST['event_key']) )
            event=event_results.get()
            event.status="rejected-%s" % request.POST.get('rejection-reason','unspecified')
            event.put()
            messages.add_message(request, messages.INFO,'Rejected! Feels good, right?')
            
        if request.POST['button'] == 'Save':
            event_results=request.site.event_set.filter(' __key__ =', db.Key(request.POST['event_key']) )
            event=event_results.get()
            if profile.userlevel == 10:
                save_details(event)
                messages.add_message(request, messages.INFO,'%s saved' % event.title)
                
        if request.POST['button'] == 'Approve':
            event_results= request.site.event_set.filter(' __key__ =', db.Key(request.POST['event_key']) )
            event=event_results.get()
            if profile.userlevel == 10: 
                event.status='approved'
                event.approved_by=profile
                event.approved_on=datetime.now()
                save_details(event)
                messages.add_message(request, messages.INFO,'%s approved' % event.title)
                
        if request.POST['button'] == 'Back to queue':  
              event_results= request.site.event_set.filter(' __key__ =', db.Key(request.POST['event_key']) )
              event=event_results.get()   
              if profile.userlevel == 10: 
                  event.status='submitted'
                  event.approved_by=None
                  event.approved_on=None
                  save_details(event)
                  messages.add_message(request, messages.INFO,'%s sent back' % event.title)
        request.site.expire_assets()
        if request.POST.has_key('return'):return HttpResponseRedirect(request.POST['return'])
        
    
    pending_events=request.site.event_set.filter('status = ', 'submitted')
    has_pending_sources=submitted_icals=ICalendarSource.all().filter('status =', 'submitted').get()
    has_pending_links=Link.all().filter('status =','submitted').get()
    return render_to_response('events/queue.html', locals(), context_instance=RequestContext(request))
    
コード例 #6
0
ファイル: views.py プロジェクト: t1waz/async_crawler
 def get_queryset(self):
     return Link.all()
コード例 #7
0
ファイル: admin.py プロジェクト: yinzhigang/diarytype
 def GET(self):
     links = Link.all().order('sort')
     
     return render('admin/links.html', links=links)
コード例 #8
0
def event_queue(request):
    def save_details(event):
        data = request.POST
        event.title = data['title']
        event.link = data['link'] or None
        event.cost = data['cost'] or None
        tz = request.site.tz
        event.start = tz.localize(parser.parse(data['start']))
        event.end = tz.localize(parser.parse(data['end']))

        if request.POST.has_key('tags'):
            event.tags = [
                t.strip()
                for t in request.POST.get("tags", "").lower().split(',')
            ]

        event.put()

    timezone = pytz.timezone(request.site.timezone)
    pending_events = request.site.event_set.filter('status = ', 'submitted')
    today = utc.localize(datetime.utcnow()).astimezone(timezone).date()
    pending_events_future = pending_events.filter(
        'local_start >=', today).order('local_start').fetch(50)
    if request.method == 'POST' and request.POST.has_key('button'):
        profile = get_current_profile()
        if request.POST['button'] == 'Reject' and (profile.userlevel == 10):
            event_results = request.site.event_set.filter(
                ' __key__ =', db.Key(request.POST['event_key']))
            event = event_results.get()
            event.status = "rejected-%s" % request.POST.get(
                'rejection-reason', 'unspecified')
            event.put()
            messages.add_message(request, messages.INFO,
                                 'Rejected! Feels good, right?')

        if request.POST['button'] == 'Save':
            event_results = request.site.event_set.filter(
                ' __key__ =', db.Key(request.POST['event_key']))
            event = event_results.get()
            if profile.userlevel == 10:
                save_details(event)
                messages.add_message(request, messages.INFO,
                                     '%s saved' % event.title)

        if request.POST['button'] == 'Approve':
            event_results = request.site.event_set.filter(
                ' __key__ =', db.Key(request.POST['event_key']))
            event = event_results.get()
            if profile.userlevel == 10:
                event.status = 'approved'
                event.approved_by = profile
                event.approved_on = datetime.now()
                save_details(event)
                messages.add_message(request, messages.INFO,
                                     '%s approved' % event.title)

        if request.POST['button'] == 'Back to queue':
            event_results = request.site.event_set.filter(
                ' __key__ =', db.Key(request.POST['event_key']))
            event = event_results.get()
            if profile.userlevel == 10:
                event.status = 'submitted'
                event.approved_by = None
                event.approved_on = None
                save_details(event)
                messages.add_message(request, messages.INFO,
                                     '%s sent back' % event.title)
        request.site.expire_assets()
        if request.POST.has_key('return'):
            return HttpResponseRedirect(request.POST['return'])

    pending_events = request.site.event_set.filter('status = ', 'submitted')
    has_pending_sources = submitted_icals = ICalendarSource.all().filter(
        'status =', 'submitted').get()
    has_pending_links = Link.all().filter('status =', 'submitted').get()
    return render_to_response('events/queue.html',
                              locals(),
                              context_instance=RequestContext(request))