コード例 #1
0
ファイル: adminviews.py プロジェクト: Giiithub/davidblog
 def GET(self, id):
     entry = self.getEntry(id)
     if entry:
         f = entryForm()
         entry.tagList = ",".join([i.name for i in entry.tags])
         f.title.value = entry.title
         f.slug.value = entry.slug
         f.content.value = entry.content
         d['entry'] = entry
         d['f'] = f
         return render.entry_edit(**d)
コード例 #2
0
ファイル: adminviews.py プロジェクト: vTNT/webpy-blog
 def GET(self, id):
     entry = self.getEntry(id)
     if entry:
         f = entryForm()
         entry.tagList = ",".join([i.name for i in entry.tags])
         f.title.value = entry.title
         f.slug.value = entry.slug
         f.content.value = entry.content
         d['entry'] = entry
         d['f'] = f
         return render.entry_edit(**d)
コード例 #3
0
ファイル: adminviews.py プロジェクト: vTNT/webpy-blog
 def POST(self, id):
     f = entryForm()
     entry = self.getEntry(id)
     i = web.input(tags=None)
     if f.validates():
         if i.tags is not None:
             newTags = set([i.strip() for i in i.tags.split(',')])
             originalTags = set([i.name.strip() for i in entry.tags])
             tagsAdd = list(newTags - originalTags)
             tagsDel = list(originalTags - newTags)
             #添加tag
             if tagsAdd:
                 for tag in tagsAdd:
                     t = web.ctx.orm.query(Tag).filter(
                         'LOWER(name)=:name').params(name=tag).first()
                     if t:
                         entry.tags.append(t)
                     else:
                         entry.tags.append(Tag(tag))
             #删除tag
             if tagsDel:
                 for tag in tagsDel:
                     t = web.ctx.orm.query(Tag).filter(
                         'LOWER(name)=:name').params(name=tag).first()
                     if t:
                         if t.entry_num == 1:
                             web.ctx.orm.delete(t)
                         else:
                             t.entry_num = t.entry_num - 1
                         entry.tags.remove(t)
         entry.title = f.title.value
         entry.slug = f.slug.value
         entry.content = f.content.value
         entry.modified_time = datetime.now()
         return web.seeother('/entry/list/')
     else:
         d['f'] = f
         d['entry'] = entry
         return render.entry_edit(**d)
コード例 #4
0
ファイル: adminviews.py プロジェクト: Giiithub/davidblog
 def POST(self, id):
     f = entryForm()
     entry = self.getEntry(id)
     i = web.input(tags=None)
     if f.validates():
         if i.tags is not None:
             newTags = set([i.strip() for i in i.tags.split(',')])
             originalTags = set([i.name.strip() for i in entry.tags])
             tagsAdd = list(newTags - originalTags)
             tagsDel = list(originalTags - newTags)
             #添加tag
             if tagsAdd:
                 for tag in tagsAdd:
                     t = web.ctx.orm.query(Tag).filter('LOWER(name)=:name').params(name=tag).first()
                     if t:
                         entry.tags.append(t)
                     else:
                         entry.tags.append(Tag(tag))
             #删除tag
             if tagsDel:
                 for tag in tagsDel:
                     t = web.ctx.orm.query(Tag).filter('LOWER(name)=:name').params(name=tag).first()
                     if t:
                         if t.entry_num == 1:
                             web.ctx.orm.delete(t)
                         else:
                             t.entry_num = t.entry_num - 1
                         entry.tags.remove(t)
         entry.title = f.title.value
         entry.slug = f.slug.value
         entry.content = f.content.value
         entry.modified_time = datetime.now()
         return web.seeother('/entry/list/')
     else:
         d['f'] = f
         d['entry'] = entry
         return render.entry_edit(**d)