示例#1
0
文件: handlers.py 项目: eldog/man-up
 def post(self, key):
     post = self.request.POST
     form_data = dict((k, post.get(k, ''))
                       for k in ('title', 'author', 'date', 'body'))
     template_dict = {'form_data': form_data, 'key': key, 'show_form' : True}
     if 'delete_article' in post:
         try:
             NewsArticle.get(Key(key)).delete()
         except datastore_errors.Error:
             template_dict['message'] = \
                 'Could not delete article with key %r.' % key
         else:
             template_dict['message'] = 'Article deleted.'
             template_dict['show_form'] = False
     else:
         try:
             date = utils.parse_date(form_data['date'])
         except ValueError:
             template_dict['message'] = \
                 'Date is not in the correct format (YYYY-MM-DD).'
         else:
             if key == 'new':
                 try:
                     article = NewsArticle(title=form_data['title'],
                                           author=form_data['author'],
                                           date=date,
                                           body=form_data['body'])
                     article.put()
                 except datastore_errors.Error:
                     template_dict['message'] = \
                         'Could not create new article.'
                 else:
                     template_dict['message'] = 'Article created.'
                     template_dict['show_form'] = False
             else:
                 try:
                     article = NewsArticle.get(Key(key))
                 except BadKeyError:
                     template_dict['message'] = \
                         'Could not find article with key %r.' % key
                 else:
                     article.title = form_data['title']
                     article.author = form_data['author']
                     article.date = date
                     article.body = form_data['body']
                     try:
                         article.put()
                     except datastore_errors.Error:
                         template_dict['message'] = \
                             'Could not save changes to article.'
                     else:
                         template_dict['form_data'] = article
                         template_dict['message'] = 'Changes saved.'
     self.render_template('edit', template_dict)
示例#2
0
 def post(self, key):
     post = self.request.POST
     form_data = dict(
         (k, post.get(k, '')) for k in ('title', 'author', 'date', 'body'))
     template_dict = {'form_data': form_data, 'key': key, 'show_form': True}
     if 'delete_article' in post:
         try:
             NewsArticle.get(Key(key)).delete()
         except datastore_errors.Error:
             template_dict['message'] = \
                 'Could not delete article with key %r.' % key
         else:
             template_dict['message'] = 'Article deleted.'
             template_dict['show_form'] = False
     else:
         try:
             date = utils.parse_date(form_data['date'])
         except ValueError:
             template_dict['message'] = \
                 'Date is not in the correct format (YYYY-MM-DD).'
         else:
             if key == 'new':
                 try:
                     article = NewsArticle(title=form_data['title'],
                                           author=form_data['author'],
                                           date=date,
                                           body=form_data['body'])
                     article.put()
                 except datastore_errors.Error:
                     template_dict['message'] = \
                         'Could not create new article.'
                 else:
                     template_dict['message'] = 'Article created.'
                     template_dict['show_form'] = False
             else:
                 try:
                     article = NewsArticle.get(Key(key))
                 except BadKeyError:
                     template_dict['message'] = \
                         'Could not find article with key %r.' % key
                 else:
                     article.title = form_data['title']
                     article.author = form_data['author']
                     article.date = date
                     article.body = form_data['body']
                     try:
                         article.put()
                     except datastore_errors.Error:
                         template_dict['message'] = \
                             'Could not save changes to article.'
                     else:
                         template_dict['form_data'] = article
                         template_dict['message'] = 'Changes saved.'
     self.render_template('edit', template_dict)
示例#3
0
文件: handlers.py 项目: eldog/man-up
 def get(self, key):
     template_dict = {'key': key, 'show_form' : True}
     if key == 'new':
         template_dict['form_data'] = {
             'title': '',
             'author': Member.get_current_member().handle,
             'date': datetime.date.today(),
             'body': ''}
     else:
         try:
             template_dict['form_data'] = NewsArticle.get(Key(key))
         except BadKeyError:
             template_dict['message'] = \
                 'Could not find article with key %r.' % key
             template_dict['show_form'] = False
     self.render_template('edit', template_dict)
示例#4
0
 def get(self, key):
     template_dict = {'key': key, 'show_form': True}
     if key == 'new':
         template_dict['form_data'] = {
             'title': '',
             'author': Member.get_current_member().handle,
             'date': datetime.date.today(),
             'body': ''
         }
     else:
         try:
             template_dict['form_data'] = NewsArticle.get(Key(key))
         except BadKeyError:
             template_dict['message'] = \
                 'Could not find article with key %r.' % key
             template_dict['show_form'] = False
     self.render_template('edit', template_dict)
示例#5
0
文件: handlers.py 项目: eldog/man-up
    def post(self):
        articles_deleted = 0
        for article_key in self.request.POST.getall('delete_article'):
            try:
                article_key = Key(article_key)
            except BadKeyError:
                # Wrong syntax for a key, move on to next key.
                continue
            article = NewsArticle.get(article_key)
            if article:
                article.delete()
                articles_deleted += 1
            # Else, not article has this key.

        self.render_template('admin_news',
            {'news_list': NewsArticle.all().order('-date'),
             'delete_successful': '%d article(s) deleted.' % articles_deleted})
示例#6
0
 def post(self):
     post = self.request.POST
     if "delete_article" in post:
         output = post.getall('delete_article')
         try:
             counter = 0
             for articleKey in output:
                 article = NewsArticle.get(Key(articleKey))
                 article.delete()
                 counter += 1
             message = '%d Article(s) deleted.' % counter
         except datastore_errors.Error:
             message = 'Database error, a subset of your selection might have been deleted'
     else:
         message = 'No articles selected, congratulations, you wasted some CPU time.'
     news_list = NewsArticle.all().order('-date'); 
     self.render_template('admin_news', { 'news_list' : news_list, 'delete_successful' : message })
示例#7
0
 def post(self):
     post = self.request.POST
     if "delete_article" in post:
         output = post.getall('delete_article')
         try:
             counter = 0
             for articleKey in output:
                 article = NewsArticle.get(Key(articleKey))
                 article.delete()
                 counter += 1
             message = '%d Article(s) deleted.' % counter
         except datastore_errors.Error:
             message = 'Database error, a subset of your selection might have been deleted'
     else:
         message = 'No articles selected, congratulations, you wasted some CPU time.'
     news_list = NewsArticle.all().order('-date')
     self.render_template('admin_news', {
         'news_list': news_list,
         'delete_successful': message
     })