Beispiel #1
0
class WatchLiveTaskItemAdmin(WxModelView):
    Model = WatchLiveTaskItem
    form = WatchLiveTaskItemForm
    can_view_details = True
    details_modal = True
    column_details_list = ('wlt_id', 'product_id', 'product_num', 'title',  'identity')
    column_labels = dict(wlt_id=u'观看直播时长任务ID', product_id=u'物品', product_num=u'物品数量', title=u'商品描述',
                         identity=u'营销平台奖项ID')
    column_formatters = dict(
        wlt_id=lambda v, c, m, n: format_model(m, n, WatchLiveTask),
        product_id=lambda v, c, m, n: get_choices_desc(Product.all_products_for_admin(), m[n]),
    )

    def create_form(self, obj=None):
        form = super(WatchLiveTaskItemAdmin, self).create_form(obj)
        form.wlt_id.choices = WatchLiveTask.all_tasks_for_admin()
        form.product_id.choices = Product.all_products_for_admin()
        return form

    def edit_form(self, obj=None):
        form = super(WatchLiveTaskItemAdmin, self).edit_form(obj)
        form.wlt_id.choices = WatchLiveTask.all_tasks_for_admin()
        form.product_id.choices = Product.all_products_for_admin()
        return form

    def after_model_change(self, form, model, is_created):
        super(WatchLiveTaskItemAdmin, self).after_model_change(form, model, is_created)
        self.Model.clear_redis(form.wlt_id.data)
        self.Model.clear_redis(model['wlt_id'])

    def after_model_delete(self, model):
        super(WatchLiveTaskItemAdmin, self).after_model_delete(model)
        self.Model.clear_redis(model['wlt_id'])
Beispiel #2
0
 def create_form(self, obj=None):
     form = super(TaskAdmin, self).create_form(obj)
     form.product_id.choices = Product.all_products_for_admin()
     # aids = [('', u'不限定')]
     # aids.extend(ActivityConfig.activity())
     # form.activity_id.choices = aids
     return form
Beispiel #3
0
 def edit_form(self, obj=None):
     form = super(TaskAdmin, self).edit_form(obj)
     form.product_id.choices = Product.all_products_for_admin()
     # aids = [('', u'不限定')]
     # aids.extend(ActivityConfig.activity())
     # form.activity_id.choices = aids
     form.task_type.choices = filter(lambda x:x[0] == obj.task_type, TASK_TYPE)
     return form
Beispiel #4
0
class TaskAdmin(ModelView):
    form = TaskForm
    can_view_details = True
    details_modal = True
    column_details_list = ('title', 'description', 'image', 'task_type', 'action', 'activity_id',
                           'task_platform', 'game_id', 'num', 'product_id', 'product_num')
    column_list = ('title', 'description', 'image', 'task_type', 'action', 'task_platform', 'num',
                   'product_id', 'product_num')
    column_labels = dict(title=u'标题', description=u'描述', image=u'图片', task_type=u'任务类型',
                         action=u'任务条件', game_id=u'游戏ID', num=u'条件数值', product_id=u'奖励物品',
                         product_num=u'奖励物品数量', task_platform=u'任务平台', activity_id=u'活动ID')
    column_formatters = dict(
        image=format_image,
        task_type=lambda v, c, m, n: get_choices_desc(TASK_TYPE, m.task_type),
        action=lambda v, c, m, n: get_choices_desc(TASK_ACTION, m.action),
        game_id=format_game,
        product_id=lambda v, c, m, n: get_choices_desc(Product.all_products_for_admin(),
                                                       m.product_id),
        task_platform=lambda v, c, m, n: get_choices_desc(TASK_PLATFORMS, m.task_platform),
    )

    def create_form(self, obj=None):
        form = super(TaskAdmin, self).create_form(obj)
        form.product_id.choices = Product.all_products_for_admin()
        # aids = [('', u'不限定')]
        # aids.extend(ActivityConfig.activity())
        # form.activity_id.choices = aids
        return form

    def edit_form(self, obj=None):
        form = super(TaskAdmin, self).edit_form(obj)
        form.product_id.choices = Product.all_products_for_admin()
        # aids = [('', u'不限定')]
        # aids.extend(ActivityConfig.activity())
        # form.activity_id.choices = aids
        form.task_type.choices = filter(lambda x:x[0] == obj.task_type, TASK_TYPE)
        return form

    def after_model_change(self, form, model, is_created):
        super(TaskAdmin, self).after_model_change(form, model, is_created)
        Redis.delete(TASK_KEY)

    def after_model_delete(self, model):
        super(TaskAdmin, self).after_model_delete(model)
        UserTask.delete().where(UserTask.task_id==model.task_id).execute()
        Redis.delete(TASK_KEY)

    def create_model(self, form):
        if form.topest.data:
            Task.reset_topest_task()
        return super(TaskAdmin, self).create_model(form)

    def update_model(self, form, model):
        if form.topest.data:
            Task.reset_topest_task()
        return super(TaskAdmin, self).update_model(form, model)
Beispiel #5
0
class UserOrderAdmin(ModelView):
    form = UserOrderForm
    can_create = False
    can_delete = False
    can_view_details = True
    details_modal = True
    column_details_list = ('order_id', 'user_id', 'item_id', 'store_id', 'store_type',
                           'campaign_id', 'title', 'product_id', 'product_num', 'status',
                           'result', 'recid', 'create_at')
    column_list = ('order_id', 'user_id', 'title', 'product_num', 'store_id', 'status')
    column_labels = dict(order_id=u'订单ID', user_id=u'用户', item_id=u'商品', store_id=u'商店',
                         store_type=u'商店类型', campaign_id=u'营销平台活动ID', title=u'商品描述',
                         product_id=u'物品', product_num=u'物品数量', status=u'状态',
                         result=u'抽奖结果', recid=u'营销平台兑换订单', create_at=u'创建时间')
    column_formatters = dict(
        store_id=lambda v, c, m, n: get_choices_desc(store.Store.all_stores_for_admin(),
                                                     m.store_id),
        product_id=lambda v, c, m, n: get_choices_desc(Product.all_products_for_admin(),
                                                       m.product_id),
        store_type=lambda v, c, m, n: get_choices_desc(store.STORE_TYPE, m.store_type),
        status=lambda v, c, m, n: get_choices_desc(store.STATUS, m.status),
        user_id=format_user
    )
    column_filters = (
        'user_id',
        PeeweeEqualFilter(
            column=store.UserOrder.store_id, name='商店',
            options=store.Store.all_stores_for_admin()
        ),
        PeeweeEqualFilter(
            column=store.UserOrder.status, name='订单状态',
            options=store.STATUS
        ),
        PeeweeEqualFilter(
            column=store.UserOrder.product_id, name='物品',
            options=Product.all_products_for_admin()
        ),
    )
Beispiel #6
0
class StoreItemAdmin(ModelView):
    form = StoreItemForm
    can_view_details = True
    details_modal = True
    column_details_list = ('store_id', 'product_id', 'product_num', 'title', 'credit_type',
                           'credit_value', 'total_num', 'use_num', 'left_num', 'order', 'identity')
    column_list = ('store_id', 'product_id', 'product_num', 'credit_type', 'credit_value',
                   'left_num', 'order', 'identity')
    column_labels = dict(store_id=u'商店', product_id=u'物品', product_num=u'物品数量', title=u'商品描述',
                         credit_type=u'价格类型', credit_value=u'价格数值', total_num=u'总库存',
                         use_num=u'已用库存', left_num=u'剩余库存', order=u'显示顺序', identity=u'营销平台奖项ID')
    column_formatters = dict(
        store_id=lambda v, c, m, n: get_choices_desc(store.Store.all_stores_for_admin(),
                                                     m.store_id),
        product_id=lambda v, c, m, n: get_choices_desc(Product.all_products_for_admin(),
                                                       m.product_id),
        credit_type=lambda v, c, m, n: get_choices_desc(store.CREDIT_TYPE, m.credit_type),
    )
    column_filters = ('store_id',)

    def create_form(self, obj=None):
        form = super(StoreItemAdmin, self).create_form(obj)
        form.store_id.choices = store.Store.all_stores_for_admin()
        form.product_id.choices = Product.all_products_for_admin()
        return form

    def edit_form(self, obj=None):
        form = super(StoreItemAdmin, self).edit_form(obj)
        form.store_id.choices = filter(lambda x: x[0] == obj.store_id, store.Store.all_stores_for_admin())
        # form.store_id.choices = store.Store.all_stores_for_admin()
        form.product_id.choices = Product.all_products_for_admin()
        return form

    def after_model_change(self, form, model, is_created):
        super(StoreItemAdmin, self).after_model_change(form, model, is_created)
        key = store.STORE_ITEM_KEY % ({'store_id': model.store_id})
        Redis.delete(key)

    def after_model_delete(self, model):
        super(StoreItemAdmin, self).after_model_delete(model)
        key = store.STORE_ITEM_KEY % ({'store_id': model.store_id})
        Redis.delete(key)
Beispiel #7
0
 def edit_form(self, obj=None):
     form = super(WatchLiveTaskItemAdmin, self).edit_form(obj)
     form.wlt_id.choices = WatchLiveTask.all_tasks_for_admin()
     form.product_id.choices = Product.all_products_for_admin()
     return form
Beispiel #8
0
 def edit_form(self, obj=None):
     form = super(StoreItemAdmin, self).edit_form(obj)
     form.store_id.choices = filter(lambda x: x[0] == obj.store_id, store.Store.all_stores_for_admin())
     # form.store_id.choices = store.Store.all_stores_for_admin()
     form.product_id.choices = Product.all_products_for_admin()
     return form
Beispiel #9
0
 def create_form(self, obj=None):
     form = super(StoreItemAdmin, self).create_form(obj)
     form.store_id.choices = store.Store.all_stores_for_admin()
     form.product_id.choices = Product.all_products_for_admin()
     return form