Example #1
0
    def post(request, lang, category_id):
        category_model = Category()
        category = category_model.get_by_id(category_id)
        groups = Group.get_all()
        category_count = category.video_set.all().count()
        category_count_en = category.videoen_set.all().count()

        try:
            if category_count == 0 and category_count_en == 0:
                category_model.delete_category(category_id)
                return HttpResponseRedirect(
                    '/{}/admin/categories'.format(lang))

        except:
            pass

        title = category.name_ja

        return TemplateResponse(
            request, 'category.html', {
                'title': title + ' | カテゴリー | FEED App 管理',
                'category': category,
                'groups': groups,
                'form_data': {},
                'error_messages': {
                    'delete': ['invalid']
                },
                'lang': lang,
            })
Example #2
0
 def GET(self, category_id=None):
     if category_id:
         category = Category.get_by_id(int(category_id))
         category.delete()
         
         clear_cache()
     
     return web.seeother('/admin/categories')
Example #3
0
 def GET(self, category_id=None):
     category = None
     if category_id:
         category = Category.get_by_id(int(category_id))
         title = u'修改分类'
     else:
         title = u'新增分类'
     
     return render('admin/category.html',category=category,title=title)
Example #4
0
 def POST(self):
     data = web.data()
     
     sorted_data = json.loads(data)
     for category_id, sort in sorted_data.iteritems():
         category = Category.get_by_id(int(category_id))
         category.sort = sort
         category.save()
     
     clear_cache()
     return json.dumps({'status': 'ok'})
Example #5
0
    def post(request, lang, category_id):

        category_model = Category()
        category = category_model.get_by_id(category_id)
        groups = Group.get_all()
        form = CategoryForm(request.POST)

        if category is None:
            return HttpResponseRedirect('/{}/admin/categories'.format(lang))

        if form.errors:
            messages.add_message(request, messages.INFO,
                                 dict(form.errors.items()))

        if form.is_valid():
            try:
                category_model.edit_category(
                    category_id, {
                        'name_ja': form.cleaned_data.get('name_ja'),
                        'name_en': form.cleaned_data.get('name_en'),
                        'image': form.cleaned_data.get('image'),
                        'order': form.cleaned_data.get('order'),
                        'group': Group.get_by_id(
                            form.cleaned_data.get('group')),
                    })

                return HttpResponseRedirect(
                    '/{}/admin/categories'.format(lang))

            except:
                pass

        title = category.name_ja

        return TemplateResponse(
            request, 'category.html', {
                'title': title + ' | カテゴリー | FEED App 管理',
                'category': category,
                'groups': groups,
                'form_data': form.cleaned_data,
                'error_messages': get_error_message(request),
                'lang': lang,
            })
Example #6
0
 def GET(self, category_name):
     if category_name.isdigit():
         category = Category.get_by_id(int(category_name))
     else:
         category = Category.all().filter('alias =', category_name).get()
     
     inp = web.input()
     # bookmark = inp.get('bookmark')
     # 
     # query = PagerQuery(Post).filter('hidden =', False)
     # query.filter('category =', category)
     # query.order('-date')
     # prev, posts, next = query.fetch(blog.post_pagesize, bookmark)
     page = inp.get('page')
     if not page:
         page = 1
     pager = Pager(Post, blog.post_pagesize).order('-date')
     pager.filter('hidden =', False)
     pager.filter('category =', category)
     posts = pager.fetch(page)
     
     return render('theme/index.html',posts=posts,pager=pager)#prev=prev,next=next)
Example #7
0
    def get(request, lang, category_id):

        category_model = Category()

        category = category_model.get_by_id(category_id)

        groups = Group.get_all()

        if category is None:
            raise Http404

        title = category.name_ja

        return TemplateResponse(
            request, 'category.html', {
                'title': title + ' | カテゴリー | FEED App 管理',
                'category': category,
                'groups': groups,
                'error_messages': {},
                'form_data': {},
                'lang': lang,
            })
Example #8
0
 def POST(self, category_id=None):
     if category_id:
         category = Category.get_by_id(int(category_id))
     else:
         category = Category()
         max_sort_category = Category.all().order('-sort').get()
         if max_sort_category:
             # max_sort_category = max_sort_category.pop()
             max_sort = max_sort_category.sort
             if not max_sort:
                 max_sort = 0
         else:
             max_sort = 0
         category.sort = max_sort + 1
     
     inp = web.input()
     category.name = inp.name
     category.alias = inp.get('alias')
     category.save()
     
     clear_cache()
     return web.seeother('/admin/categories')