Ejemplo n.º 1
0
                    {
                        'name': 'player__acount',
                        'label': '玩家账号',
                        'editor': 'com-filter-text'
                    },
                    {
                        'name':
                        'agent__name',
                        'label':
                        '代理人',
                        'editor':
                        'com-filter-text',
                        'visible':
                        not has_permit(self.crt_user, '-agent_constraint')
                    },
                ]


class RechargeForm(ModelFields):
    class Meta:
        model = Recharge
        exclude = []


director.update({
    'recharge': RechargePage.tableCls,
    'recharge.edit': RechargeForm,
})

page_dc.update({'recharge': RechargePage})
Ejemplo n.º 2
0
            value=inst.value[:50]+'...'
        else:
            value=inst.value
        return {
            'value':cgi.escape(value)
        }

class KvTablePage(TablePage):
    tableCls=KVTable

class KvFields(ModelFields):
    class Meta:
        model=KVModel
        exclude=[]

class KvFormPage(FieldsPage):
    fieldsCls=KvFields
    def get_template(self, prefer=None):
        if prefer=='wx':
            return 'wx/kvform.html'
        else:
            return 'director/kvform.html'

# short_gen.regist_director(['kv','kv.wx'],KVModel)
page_dc.update({
    'kv':KvTablePage,
    'kv.edit':KvFormPage,
})

model_dc[KVModel]={'fields':KvFields}
Ejemplo n.º 3
0
from .xuncha import XunCha
from  shanghai_grid.geoinfo.polygon import dict2poly
from . import admin_key_region_statistic
# Register your models here.
class Forcast(object):
    template='key_region/forcast.html'
    def __init__(self,*args,**kw):
        pass
    
    def get_label(self,prefer=None):
        return '巡查区域预测'
    
    def get_context(self):
        xun_sys = XunCha()
        poly_list = xun_sys.forcast()
        out = []
        for poly_dc in poly_list:
            poly_cods =poly_dc['polygon']
            poly = dict2poly(poly_cods)
            circle = polygon2circle(poly)
            circle['probability']=poly_dc['probability']
            out.append(circle)
        return {
            'circles':out
        }



page_dc.update({
    'key_region.forcast':Forcast,
})
Ejemplo n.º 4
0
class BannerPage(TablePage):
    template = 'jb_admin/table_new.html'

    def get_label(self):
        return '宣传图画'

    class tableCls(ModelTable):
        pop_edit_field = 'id'
        model = Banners
        exclude = []

        def dict_head(self, head):
            if head['name'] == 'img':
                head['width'] = 500
            return head


class BannerForm(ModelFields):
    class Meta:
        model = Banners
        exclude = []


director.update({
    'banner': BannerPage.tableCls,
    'banner.edit': BannerForm,
})

page_dc.update({
    'banner': BannerPage,
})
Ejemplo n.º 5
0
from helpers.director.shortcut import TablePage, ModelFields, ModelTable, page_dc, director
from .models import FreePhone

class FreePhonePage(TablePage):
    class tableCls(ModelTable):
        model = FreePhone
        exclude = []

class FreePhoneForm(ModelFields):
    def __init__(self, dc={}, pk=None, crt_user=None, nolimit=False, *args, **kw): 
        return super().__init__(dc, pk, crt_user, nolimit= True, *args, **kw)
    class Meta:
        model = FreePhone
        exclude = []

director.update({
    'freephone': FreePhonePage.tableCls,
    'freephone.edit': FreePhoneForm,
})

page_dc.update({
    'freephone': FreePhonePage,
})
Ejemplo n.º 6
0
                '全部已读',
                'editor':
                'com-btn',
                'click_express':
                'cfg.show_load();ex.director_call("act_log.system_message.all_read",{}).then(()=>{cfg.hide_load(2000);scope.ps.search()})'
            }]
            return ops

        class filters(RowFilter):
            names = ['read', 'level']
            range_fields = ['createtime']


class SystemMessageForm(ModelFields):
    class Meta:
        model = SystemMessage
        exclude = []


@director_view('act_log.system_message.all_read')
def system_message_all_read():
    SystemMessage.objects.filter(read=False).update(read=True)


director.update({
    'system_message': SystemMessagePage.tableCls,
    'system_message.edit': SystemMessageForm,
})

page_dc.update({'system_message': SystemMessagePage})
Ejemplo n.º 7
0
    #group = ImageGroup.objects.get(pk = group_id)
    #group.images.add(*images)
    #group.save()


#@director_view('imagegroup/insert_image')
#def insert_image(group_id,images):
#group = ImageGroup.objects.get(pk = group_id)
#ls =list( SourceImage.objects.filter(pk__in=images) )
#group.images.add(*ls)

#@director_view('imagegroup/list')
#def get_imagegroup_list():
#out = [ sim_dict(x) for x in  ImageGroup.objects.filter(status = 1)]
#return out

#@director_view('imagegroup/images')
#def get_imagegroup_images(id):
#out = [sim_dict(x) for x in SourceImage.objects.filter(imagegroup=id)]
#return out

director.update({
    'imagegroup_grid': ImageGroupPage.tableCls,
    'imagegroup_grid.edit': ImageGroupForm,
    'imagegroup_grid.ImageList': ImageList,
    'imagegroup_grid.imagepicker': ImagePicker,
    'imagegroup_grid.saver': ImagegroupSaver
})

page_dc.update({'imagegroup_grid': ImageGroupPage})
Ejemplo n.º 8
0

@director_view('workerinfo/submit_info')
def submit_info():
    user = get_request_cache()['request'].user
    info, _ = WorkInfo.objects.get_or_create(user=user)
    if info.status != 0:
        raise UserWarning('认证信息不能提交审核')
    if not info.name or not info.contact:
        raise UserWarning('请完善基本信息后再提交审核')
    if not info.id_face1 or not info.id_face2:
        raise UserWarning('请完上传身份证正反面')
    #if not info.service_agreement:
    #raise UserWarning('请上传自由职业者服务者协议')
    info.status = 1
    info.save()
    return info.status


director.update({
    'workinfo': WorkinfoPage.tableCls,
    'workinfo.edit': WorkinfoForm,
    'workinfo.base': WorkinfoBase,
    'workinfo.idface': WorkinfoIdFace,
    'workinfo.education': Workinfo_education,
    'workinfo.bankcard': WorkerBankInfo,
    #'workinfo.agreement':WorkinfoAgreement,
})

page_dc.update({'workinfo': WorkinfoPage})
Ejemplo n.º 9
0
                          (uid, channel, old_desp, desp))

    # 可能有些 callevent没有对应的 callrecord,这里把他们设置好
    obj = CallEvent.objects.create(uid=uid,
                                   channel=channel,
                                   code=code,
                                   desp=desp,
                                   sender_type=sender_type)
    latest = CallRecord.objects.filter(channel=OuterRef('channel'))
    #CallEvent.objects.filter(pk = obj.pk).annotate(record_me = Subquery(latest.values('pk')[:1])).update(record_id=F('record_me'))
    CallEvent.objects.filter(pk=obj.pk).update(
        record_id=Subquery(latest.values('pk')[:1]))

    if int(code) == 1:
        sim_signal.send('call.enter', uid=uid, channel=channel)
    if int(code) == 2:
        sim_signal.send('call.quit', uid=uid, channel=channel)


@director_view('call/rtcmap')
def user_rtc_map(channel, uid, rtcid):
    UserRtcMap.objects.create(channel=channel, uid=uid, rtcid=rtcid)


director.update({
    'callrecord': CallRecordPage.tableCls,
    'callevent-tab': CallEventTab
})

page_dc.update({'callrecord': CallRecordPage})
Ejemplo n.º 10
0
    ]
    '''
    general_log.debug('调用更新用户语音助手,接收到参数uid=%(uid)s的语音助手' % locals())
    instacne = Accountinfo.objects.filter(uid=uid).first()
    if instacne:
        general_log.debug('更新用户%(uid)s的语音助手%(tone_list)s' % locals())
        instacne.reject_tone = json.dumps(tone_list, ensure_ascii=False)
        instacne.save()
    else:
        raise UserWarning('用户不存在')


@director_view('account/get-reject-tone')
def get_reject_tone(uid):
    instacne = Accountinfo.objects.filter(uid=uid).first()
    if instacne:
        if instacne.reject_tone:
            return json.loads(instacne.reject_tone)
        else:
            return []
    else:
        raise UserWarning('用户不存在')


director.update({
    'accountinfo': AccountInfoPage.tableCls,
    'accountinfo.edit': AccountForm
})

page_dc.update({'accountinfo': AccountInfoPage})
Ejemplo n.º 11
0
        def inn_filter(self, query):
            return query.annotate(nums_task = Count('ttaskinfo'), \
                                  nums_finish_task = Count(Case(When(ttaskinfo__status = 9 , then= 1) )))

        def dict_row(self, inst):

            return {
                '_case_list':
                '/pc/enterprise_case.caseadmin?ENT_NAME=%s' % inst.ENT_NAME,
                'nums_task': inst.nums_task,
                'nums_finish_task': inst.nums_finish_task,
            }

        class filters(RowFilter):
            range_fields = ['ttaskinfo__discovertime']

            def getExtraHead(self):
                return [{
                    'name': 'ttaskinfo__discovertime',
                    'editor': 'com-date-range-filter',
                    'label': '日期',
                }]


director.update({
    'Enterprise.table': EnterprisePage.tableCls,
})

page_dc.update({
    'Enterprise.table': EnterprisePage,
})
Ejemplo n.º 12
0
                'cfg_baidu_API_KEY':get_json('cfg_baidu_API_KEY',''),
                'cfg_baidu_SECRECT_KEY':get_json('cfg_baidu_SECRECT_KEY','')
            }
        
        def save_form(self):
            set_json('cfg_channel_heartbeat',self.kw.get('cfg_channel_heartbeat'))
            set_json('cfg_push_call_record',self.kw.get('cfg_push_call_record'))
            set_json('cfg_baidu_APPID',self.kw.get('cfg_baidu_APPID'))
            set_json('cfg_baidu_API_KEY',self.kw.get('cfg_baidu_API_KEY'))
            set_json('cfg_baidu_SECRECT_KEY',self.kw.get('cfg_baidu_SECRECT_KEY'))

@director_view('system/config')
def get_config():
    return {
        'channel_heartbeat':get_json('cfg_channel_heartbeat',30),
        'agora_appid':settings.AGORA.get('appID'),
        'baiduai_key':{
            'APPID':get_json('cfg_baidu_APPID',''),
            'API_KEY':get_json('cfg_baidu_API_KEY',''),
            'SECRECT_KEY':get_json('cfg_baidu_SECRECT_KEY',''),
        }
    }

director.update({
    'config':ConfigFormPage.fieldsCls
})

page_dc.update({
    'config':ConfigFormPage
})
        
Ejemplo n.º 13
0
from helpers.director.shortcut import TablePage, ModelTable, page_dc, director, ModelFields
from ..models import MainPageItem


class MainPageItemPage(TablePage):
    def get_label(self):
        return '主页设置'

    def get_template(self, prefer=None):
        return 'jb_admin/table.html'

    class tableCls(ModelTable):
        model = MainPageItem
        exclude = ['id']
        pop_edit_field = 'label'


class MainPageForm(ModelFields):
    class Meta:
        model = MainPageItem
        exclude = []


director.update({
    'mainpage_cfg': MainPageItemPage.tableCls,
    'mainpage_cfg.edit': MainPageForm,
})
page_dc.update({
    'mainpage_cfg': MainPageItemPage,
})
Ejemplo n.º 14
0
            bounding = self._adapt_polygon_obj(self.instance.bounding)
            dc={
                'display':display,
                'bounding':bounding
            }
            return to_dict(self.instance,filt_attr=dc)
        
        def _adapt_polygon_obj(self,polygon_obj):
            if polygon_obj:
                polygon_arr = list(polygon_obj.coords[0])
                polygon_arr.pop()
                return json.dumps(polygon_arr)
            else:
                return ''
        
        def dict_head(self, head):
            if head['name'] in ['display','bounding']:
                head['type']='polygon-input'
            
        

        
    fieldsCls = BlockPolygonForm
    template='geoinfo/blockpolygon_form.html'

model_dc[BlockPolygon]={'fields':BlockPolygonFormPage.BlockPolygonForm}

page_dc.update({
    'geoinfo.blockpolygon':BlockPolygonTablePage,
    'geoinfo.blockpolygon.edit':BlockPolygonFormPage,
})
Ejemplo n.º 15
0
                      cfg.hide_load();
                      cfg.toast("操作成功");
                      scope.ps.vc.par_row.status=2
                      })
                      '''
        }, {
            'editor':
            'com-op-van-btn',
            'type':
            'info',
            'label':
            '项目完结',
            'show':
            'scope.vc.row.status==3',
            'action':
            '''cfg.show_load();scope.ps.vc.row.status=4; scope.ps.vc.submit().then(()=>{
                      cfg.hide_load();
                      cfg.toast("操作成功");
                      scope.ps.vc.par_row.status=4
                      })'''
        }]


director.update({
    'applyrecord': ApplyRecordPage.tableCls,
    'applyrecord.edit': ApplyRecordFrom,
    'applyrecord.company': ApplyRecordFormCompany,
})

page_dc.update({'applyrecord': ApplyRecordPage})
Ejemplo n.º 16
0

class StoreRecordPage(TablePage):
    def get_label(self):
        return '积分商城记录'

    def get_template(self, prefer=None):
        return 'jb_admin/table.html'

    class tableCls(ModelTable):
        model = StoreRecord
        exclude = []

        class filters(RowFilter):
            names = ['player__acount']
            icontains = ['player__acount']
            range_fields = ['createtime']

            def getExtraHead(self):
                return [{
                    'name': 'player__acount',
                    'label': '玩家',
                }]


director.update({
    'admin_store': StoreRecordPage.tableCls,
})

page_dc.update({'admin_store': StoreRecordPage})
Ejemplo n.º 17
0
            #ls = []
            #for row in JianduCase.objects.all().values('keepersn').annotate(nums_case = Count('id')):
                #ls.append(row)
            #return ls
        def statistics(self, query): 
            """
            
            """
            return query.values('keepersn', 'keepersn__name').exclude(Q(status = 5) | Q(status = 10)|\
                                                                      Q(keepersn__isnull=True))\
                   .annotate(nums_case = Count('id'))\
                   .annotate(nums_simple = Count(Case(When(Q(deptcode = F('executedeptcode')) & Q( deptcode = '20601'), then= 1)) ))\
                   .annotate(nums_normal = F('nums_case') - F('nums_simple'))\
                   .annotate(nums_bujian = Count(Case(When(infotypeid = 0, then= 1))))\
                   .annotate(nums_shijian = Count(Case(When(infotypeid = 1, then= 1))))\
              
        
        class filters(RowFilter):
            range_fields = ['subtime']
            
            def dict_head(self, head):
                if head['name']=='subtime':
                    head['editor']='com-date-datetimefield-range-filter'
                return head
    
director.update({
    'keeper.caseStatic': KeeperCaseStatic.tableCls,
})
page_dc.update({
    'keeper.caseStatic': KeeperCaseStatic,
})
Ejemplo n.º 18
0
                'old_selected': old_selected,
                'last': inst.dispatched.last,
                'last_time': localstr(inst.dispatched.last_time)
            }
            return dc

            # return {
            # 'blocks':[to_dict(x,form=True) for x in inst.blocks.all()]
            # }

    tableCls = BlockGroupTable
    template = 'geoscope/blockgroup_dispatch.html'


director.update({
    'geoscope.blockpolygon.edit':
    BlockPolygonFormPage.BlockPolygonForm,
})

model_dc[BlockPolygon] = {'fields': BlockPolygonFormPage.BlockPolygonForm}
model_dc[BlockGroup] = {
    'fields': BlockGroupFormPage.BlockGroupFormPage_normal.BlockGroupForm
}

page_dc.update({
    'geoscope.blockpolygon': BlockPolygonTablePage,
    'geoscope.blockpolygon.edit': BlockPolygonFormPage,
    'geoscope.blockgroup': BlockGroupTablePage,
    'geoscope.blockgroup.edit': BlockGroupFormPage,
    'geoscope.dispatch': BlockGroupDispatchPage,
})
Ejemplo n.º 19
0

class PageForm(ModelFields):
    class Meta:
        model = Page
        exclude = []

    def dict_head(self, head):
        if head['name'] == 'content':
            head['editor'] = 'com-field-json-edit'
        return head

    def after_save(self):
        save_ui_editor_data()


@director_view('uie/page')
def uie_page(name):
    inst = Page.objects.get(name=name)
    return json.loads(inst.content)


#if 'collectstatic' in sys.argv:
if 'makemigrations' not in sys.argv and\
   'migrate' not in sys.argv:
    check_and_import()

director.update({'webpage': PagePage.tableCls, 'webpage.edit': PageForm})

page_dc.update({'webpage': PagePage})
Ejemplo n.º 20
0
from helpers.director.shortcut import TablePage, ModelTable, ModelFields, page_dc, director
from .models import YewuGroup

class YewuGroupPage(TablePage):
    template = 'jb_admin/table.html'
    def get_label(self): 
        return '业务分组'
    
    class tableCls(ModelTable):
        pop_edit_field = 'id'
        model = YewuGroup
        exclude = []

class YewuGroupForm(ModelFields):
    class Meta:
        model = YewuGroup
        exclude = []
        
        
director.update({
    'yewugroup': YewuGroupPage.tableCls,
    'yewugroup.edit': YewuGroupForm,
})
page_dc.update({
    'yewugroup': YewuGroupPage,
})
Ejemplo n.º 21
0
    def get_label(self):
        return '条状图'

    class fieldsCls(ModelFields):
        class Meta:
            model = TBTaskBridge
            exclude = []

        def get_context(self):
            return {
                'bar_data': {
                    'kind': ['立面三乱', '黄土见天', '暴露垃圾', '河滩垃圾', '其他'],
                    'month': [
                        '2018-01', '2018-02', '2018-03', '2018-04', '2018-05',
                        '2018-06'
                    ],
                    'series': [[5, 6, 7, 4, 6, 4], [8, 2, 4, 5, 1, 2],
                               [2, 3, 2, 1, 0, 4], [1, 4, 5, 2, 1, 4],
                               [5, 2, 3, 6, 4, 3]]
                }
            }


director.update({
    'district_pie': DistrictPie.fieldsCls,
    'timetask_bar': TimeTaskBar.fieldsCls
})

page_dc.update({'district_pie': DistrictPie, 'timetask_bar': TimeTaskBar})
Ejemplo n.º 22
0
from helpers.director.shortcut import page_dc


class EngineHome(object):
    def __init__(self, request, engin):
        self.request = request
        self.engin = engin

    def get_label(self):
        return '首页'

    def get_template(self):
        return 'jb_admin/live.html'

    def get_context(self):
        return {
            'editor': 'com-engin-home',
            'editor_ctx': {
                'title': self.engin.title
            }
        }


page_dc.update({'enginhome': EngineHome})
Ejemplo n.º 23
0
        row = ModelFields.get_row(self)
        row['create_time'] = self.instance.create_time.strftime(
            '%Y-%m-%d %H:%M:%S')
        row['proc_time'] = self.instance.proc_time.strftime(
            '%Y-%m-%d %H:%M:%S')
        return row

    def get_heads(self):
        heads = ModelFields.get_heads(self)
        heads.append({
            'name': 'create_time',
            'label': '创建时间',
            'type': 'linetext',
            'readonly': True
        })
        return heads

    def save_form(self):
        ModelFields.save_form(self)
        self.instance.manager = self.crt_user
        self.instance.save()


director.update({
    'dianzi_weilan.realtime_warning': RealTimeWaringPage.tableCls,
    'dianzi_weilan.realtime_warning.edit': RealTimeWarningForm,
})

page_dc.update({
    'dianzi_weilan.realtime_warning': RealTimeWaringPage,
})
Ejemplo n.º 24
0
                    }, {
                        'name': 'new_name',
                        'label': '新名称',
                        'editor': 'linetext',
                        'required': True,
                    }],
                },
            ]

        def get_row(self):
            return {
                '_director_name': self.get_director_name(),
                'cunwei_names': get_value('cunwei_names'),
                'enterprise_names': get_value('enterprise_names'),
                'hotline_name_map': get_value('hotline_name_map'),
            }

        def save_form(self):
            ls = ['cunwei_names', 'enterprise_names', 'hotline_name_map']
            for k, v in self.kw.items():
                if k in ls:
                    set_value(k, v)


director.update({
    'HotlineData': HotlineData.fieldsCls,
})

page_dc.update({
    'HotlineData': HotlineData,
})
Ejemplo n.º 25
0
from helpers.director.shortcut import page_dc


class Home(object):
    template = 'hello/home.html'

    def __init__(self, request, engin):
        pass

    def get_context(self):
        return {}


page_dc.update({'home': Home})
Ejemplo n.º 26
0
            
            def dict_head(self, head):
                if head['name'] == 'inst_pk':
                    head['editor'] = 'com-filter-exact-text'
                    head['options'] =[]
                return head
            def clean_search_args(self, search_args):
                if search_args.get('content'):
                    if getattr(settings,'DB_FULL_SEARCH',False):
                        search_args['content__search'] = search_args.pop('content')
                return search_args            
            
            

class BackendOperationForm(ModelFields):
    class Meta:
        model = BackendOperation
        exclude = []
    
    def dict_head(self, head):
        head['readonly'] = True
        return head

director.update({
    'backendoperation_log':BackendOperationPage.tableCls,
    'backendoperation_log.edit':BackendOperationForm
})

page_dc.update({
    'backendoperation_log':BackendOperationPage
})
Ejemplo n.º 27
0
        if head['name'] =='colors':
            head.update({
                'editor':'com-field-table-list',
                'table_heads':[{'name':'color1','label':'色彩值','editor':'com-table-pop-fields-local'},
                               {'name':'show_color','label':'色彩','editor':'com-table-color-color','value_field':'color1'},
                               {'name':'order','label':'','editor':'com-table-change-order'}],
                'fields_heads':[{'name':'color1','label':'选择色彩','editor':'com-field-color','required':True}]
                })
        return head
    
    def clean_save(self):
        self.instance.kind =0
            
@director_view('palette/all')
def get_palette():
    rows = []
    for inst in Palette.objects.all():
        dc={
            'colors':json.loads(inst.colors) if inst.colors else []
        }
        rows.append(sim_dict(inst,filt_attr=dc))
    return rows

director.update({
    'palette':PalettePage.tableCls,
    'palette.edit':PaletteForm
})

page_dc.update({
    'palette':PalettePage
})
Ejemplo n.º 28
0
            return head


model_dc[JianFangInfo] = {'fields': JianFangInfoFormPage.JianFangInfoForm}
model_dc[CunWei] = {'fields': CunWeiFormPage.CunWeiForm}
model_dc[Policy] = {'fields': PolicyFormPage.PolicyForm}
model_dc[ApplyTable] = {'fields': ApplyTableFormPage.ApplyTableForm}
model_dc[YinJiZhengGai] = {'fields': YinJiFormPage.YinjiForm}
model_dc[JianguanInfo] = {'fields': JianguanInfoFormPage.fieldsCls}

page_dc.update({
    'liantang.jianfanginfo': JianFangInfoTablePage,
    'liantang.jianfanginfo.edit': JianFangGroup,  #JianFangInfoFormPage,
    'liantang.cunwei': CunWeiTablePage,
    'liantang.cunwei.edit': CunWeiFormPage,
    'liantang.policy': PolicyTablePage,
    'liantang.policy.edit': PolicyFormPage,
    'liantang.applytable': ApplyTableTablePage,
    'liantang.applytable.edit': ApplyTableFormPage,
    'liantang.yinji.edit': YinJiFormPage,
})

permit_list.append(CunWei)
permit_list.append(JianFangInfo)
permit_list.append(YinJiZhengGai)
permit_list.append(Policy)
permit_list.append(ApplyTable)
permit_list.append(JianguanInfo)
permit_list.append({
    'name':
    'liantang',
Ejemplo n.º 29
0
                    row_dict[k]['count_wei'] = v

            for k, v in pda_dict.items():
                if k not in row_dict:
                    dc = {
                        'three': k,
                        'count_keeper': v,
                    }
                    rows.append(dc)
                    row_dict[k] = dc
                else:
                    row_dict[k]['count_keeper'] = v
            return rows

        def getRowFilters(self):
            return [{
                'name': 'data_time',
                'label': '日期',
                'editor': 'com-filter-date',
            }]


director.update({
    'hotline_report': Hotline.tableCls,
    'GridReport': GridReport.tableCls,
})

page_dc.update({
    'hotline_report': Hotline,
    'GridReport': GridReport,
})
Ejemplo n.º 30
0
from helpers.director.shortcut import FieldsPage, page_dc


class home(FieldsPage):
    template = 'hello/home.html'

    def get_label(self):
        return '主页'

    def get_context(self):
        return {}


page_dc.update({
    'home': home,
})