Exemple #1
0
 def get_form_layout(self):
     if self.org_obj:
         self.form_layout = (Main(
             Fieldset('',
                      'username',
                      'password',
                      css_class='unsort no_title'),
             Fieldset(_('Personal info'), Row('first_name', 'last_name'),
                      'email'),
             Fieldset(_('Permissions'), 'groups', 'user_permissions'),
             Fieldset(_('Important dates'), 'last_login', 'date_joined'),
         ),
                             Side(
                                 Fieldset(
                                     _('Status'),
                                     'is_active',
                                     'is_staff',
                                     'is_superuser',
                                 ), ))
     return super(UserAdmin, self).get_form_layout()
Exemple #2
0
class PostAdmin(BaseOwnerAdmin):
    form = PostAdminForm

    list_display = [
        'title',
        'category',
        'status_show',
        'pv',
        'uv',
        'created_time',
        'operator',
    ]
    list_display_links = []

    list_filter = [
        'category',
    ]
    search_fields = ['title', 'category__name']
    save_on_top = True

    actions_on_top = True
    actions_on_bottom = True

    date_hierarchy = 'created_time'

    form_layout = (Fieldset(
        '基础信息',
        Row('title', 'category'),
        'status',
        'tag',
    ), Fieldset(
        '内容信息',
        'desc',
        'content',
    ))

    def operator(self, obj):
        return format_html('<a href="{}">编辑</a>',
                           reverse('xadmin:blog_post_change', args=(obj.id, )))

    operator.short_description = '操作'
Exemple #3
0
class ProjectAdmin(object):
    list_display = ['id', 'PrjName', 'company', 'city']
    search_fields = ['PrjName', 'company']
    list_filter = [('company')]
    show_bookmarks = False  #隐藏标签

    form_layout = (Fieldset(
        u'',
        Row('FDeptID', 'SSComName'),
        Row('SSComName', 'SSComID'),
        Row('PrjName', 'PrjState'),
        Row('xmjl', 'jsdw'),
        Row('kgrq', 'jgrq'),
        Row('company', 'city'),
    ))
Exemple #4
0
class PurchasingAssetAdmin(object):
    list_display = [
        "name", "configuration", "nums", "unit_price", "total_prices", "year",
        "applicaton_department", "applicants", "purchase_date"
    ]
    list_editable = ["is_account"]
    search_fields = ['name']
    list_filter = ['name', 'is_arrival', 'is_account', 'is_purchase']
    readonly_fields = ['total_prices']
    reversion_enable = True
    form_layout = (Main(
        Fieldset(
            "基本信息",
            Row("applicaton_department", "applicants"),
            Row("name", "apply_date"),
            Row("configuration", "nums"),
            Row("cost_types"),
            Row("description"),
        ),
        Fieldset(
            "扩展信息",
            Row("year", "total_prices"),
            Row(
                "invoice_num",
                "assets_num",
            ),
            Row("purchase_date", "unit_price"),
        ), Fieldset("", )),
                   Side(
                       Fieldset(('Status'), 'is_purchase', 'is_arrival',
                                'is_account'), ))
    actions = ['set_is_account']

    def set_is_account(modeladmin, request, queryset):
        selected = request.POST.getlist(admin.ACTION_CHECKBOX_NAME)
        PurchasingAsset.objects.filter(id__in=selected).update(is_account=True)

    set_is_account.short_description = "设置所选内容为已报销"
Exemple #5
0
class SellerAdmin(object):
    """
    运营商信息
    """
    list_display = ['id', 'name', 'telephone', 'address', 'org_code', 'parent']
    search_fields = ['name', 'telephone', 'address', 'org_code']
    list_display_links = ('name',)
    model_icon = 'fa fa-sitemap'
    list_export = ('xls', 'xml', 'json')
    save_on_top = False
    form_layout = (
        Fieldset(
            '基础信息',
            Row('name', 'org_code'),
            Row('address', 'short_name'),
            Row('contact_man', 'telephone'),
            Row('legal_person', 'id_card'),
        ),
        Fieldset(
            '公司银行信息',
            Row('bank_name', 'account_name'),
            Row('account_number', 'tax_number'),
        ),
        Fieldset(
            '其他信息',
            Row('parent', 'status'),
        )

    )

    def queryset(self):
        queryset = super(SellerAdmin, self).queryset()
        if self.request.user.seller:
            return queryset.filter(id=self.request.user.seller.id)
        elif self.request.user.station:
            return Seller.objects.none()
        return queryset

    def formfield_for_dbfield(self, db_field,  **kwargs):
        if db_field.name == 'parent':
            if not self.request.user.is_superuser:
                kwargs['queryset'] = Seller.objects.filter(id=self.request.user.seller.id)
        return super(SellerAdmin, self).formfield_for_dbfield(db_field,  **kwargs)
Exemple #6
0
 def get_form_layout(self):
     self.form_layout = (
         Main(
             Fieldset('机构信息',
                      'name', 'city',
                      Row('category', 'tags', 'course_nums'),
                      'image', 'address', 'desc',
                      ),
         ),
         Side(
             Fieldset('访问信息',
                      'fav_nums', 'click_nums', 'students', 'add_time',
                      ),
         ),
         Side(
             Fieldset('选择信息',
                      'is_gold', 'is_auth',
                      ),
         ),
     )
     return super(CourseOrgAdmin, self).get_form_layout()
Exemple #7
0
class PostAdmin(BaseOwnerAdmin):
    form = PostAdminForm

    list_display = [
        'title', 'category', 'status', 'created_time', 'operator', 'owner'
    ]
    list_display_links = []

    list_filter = ['category']  # 注意这里不是定义的filter类,而是字段名
    search_fields = ['title', 'catetory__name']

    actions_on_top = True
    # actions_on_bottom = True

    # 编辑页面
    # save_on_top = False
    exclude = ['owner']

    filter_horizontal = ('tag', )

    form_layout = (Fieldset(
        '基础配置',
        Row('title', 'category'),
        'status',
        'tag',
    ),
                   Fieldset(
                       '内容信息',
                       'desc',
                       'is_md',
                       'content_ck',
                       'content_md',
                       'content',
                   ))

    def operator(self, obj):
        return format_html('<a href="{}">编辑</a>',
                           reverse('xadmin:blog_post_change', args=(obj.id, )))

    operator.short_description = '操作'
Exemple #8
0
class SideBarAdmin(BaseOwnerAdmin):
    form = SideBarAdminForm
    list_display = [
        "title", "status", "display_type", "created_time", "operator"
    ]

    form_layout = (Fieldset(
        "基础信息",
        Row('title', 'status'),
        'display_type',
        'content',
    ), )

    exclude = ('author', )

    def operator(self, obj):
        return format_html(
            '<a href="{}">编辑</a>',
            reverse("cus_admin:config_sidebar_change", args=(obj.id, )))
        # 不加简短描述,管理界面会显示operator

    operator.short_description = "操作"
Exemple #9
0
class PostAdmin(BaseOwnerAdmin):
    form = PostAdminForm
    # 展示字段
    list_display = [
        'title',
        'category',
        'status',
        'created_time',
        'operator',
    ]
    list_display_links = []

    # 过滤器
    list_filter = ['category']
    #list_filter = [CategoryOwnerFilter]

    search_fields = ['title', 'category__name']

    actions_on_top = True
    actions_on_bottom = True

    from_layout = (Fieldset(
        '基础信息',
        Row("title", "category"),
        "status",
        "tag",
    ), Fieldset(
        '内容信息',
        'desc',
        'content',
    ))
    #filter_horizontal = ('tag', )
    filter_vertical = ('tag', )

    def operator(self, obj):
        return format_html('<a href="{}">编辑</a>',
                           reverse('xadmin:blog_post_change', args=(obj.id, )))

    operator.short_description = '操作'
Exemple #10
0
class PostAdmin(BaseOwnerAdmin):
    form = PostAdminForm

    list_display = [
        'title', 'category', 'status_show', 'pv', 'uv', 'owner',
        'created_time', 'operator'
    ]
    list_display_links = []
    exclude = ('html', 'owner', 'pv', 'uv')

    list_filter = [
        'category',
    ]
    search_fields = ['title', 'category__name']

    save_on_top = True
    # show_full_result_count = False

    actions_on_top = True
    actions_on_bottom = True

    # 编辑页面
    save_on_top = True

    form_layout = (Fieldset(
        "基础信息",
        'title',
        'desc',
        Row('category', 'status', 'is_markdown'),
        'content',
        'tags',
    ), )

    def operator(self, obj):
        return format_html(
            '<a href="{}">编辑</a>',
            reverse('cus_admin:blog_post_change', args=(obj.id, )))

    operator.short_description = '操作'
Exemple #11
0
 def get_form_layout(self):
     if self.org_obj:
         self.form_layout = (Main(
             Fieldset('',
                      'username',
                      'password',
                      css_class='unsort no_title'),
             Fieldset(
                 '个人信息',
                 Row(),
                 'name',
                 'mobile',
                 'email',
                 'card_number',
                 'card_number_attendance',
                 'wage_type',
                 'work_type',
                 'attendance_shift',
                 'position',
                 'attendance_shift',
             ),
             Fieldset('权限', 'groups', 'user_permissions'),
             Fieldset(
                 '重要日期',
                 'operator',
                 'operator_time',
                 'operator_last',
                 'operator_last_time',
                 'date_joined_company',
                 'last_login',
             ),
         ), Side(Fieldset(
             '状态',
             'is_active',
             'is_staff',
             'is_superuser',
         ), ))
     return super(MyUserAdmin, self).get_form_layout()
Exemple #12
0
class GroupClientsAdmin(object):
    """
    集团大客户
    """
    list_display = [
        'name',
        'contact_man',
        'telephone',
        'address',
        'bank_name',
        'account_name',
        'account_number',
        'tax_number',
        'legal_person',
    ]
    search_fields = ['name', 'telephone', 'account_name', 'legal_person']
    model_icon = 'fa fa-weixin'
    form_layout = (Main(
        Fieldset(
            '基本信息',
            Row('name', 'telephone'),
            Row('contact_man', 'address'),
            Row('legal_person', 'id_card'),
        ),
        Fieldset(
            '公司银行信息',
            Row('bank_name', 'account_name'),
            Row('account_number', 'tax_number'),
        ),
        Fieldset(
            '其他信息',
            Row(AppendedText('subscribe_fee', '元'),
                AppendedText('occupy_fee', '元')),
            Row(AppendedText('low_fee', '元'), 'low_restrict'),
        ),
    ),
                   Side(
                       Fieldset("优惠方案", "dicount", "is_reduction",
                                AppendedText("purchase_amount", "元"),
                                AppendedText("reduction", "元")), ))
class t_aliexpress_refund_info_Admin(object):

    show_aliexpress_refund_info = True

    list_filter = ('ShopOrderNumber', 'ShopName', 'ProductSKU', 'Country',
                   'ClosingDate', 'Sale_price', 'Refund_price',
                   'Paypal_Account', 'dj_user', 'Refund_reason', 'Refund_id',
                   'Remarks', 'Update_time')
    search_fields = ('ShopOrderNumber', 'ShopName', 'ProductSKU', 'Country',
                     'Sale_price', 'Refund_price', 'Paypal_Account', 'dj_user',
                     'Refund_reason', 'Refund_id', 'Remarks')
    list_display = ('id', 'ShopOrderNumber', 'ShopName', 'ProductSKU',
                    'Country', 'ClosingDate', 'Sale_price', 'Refund_price',
                    'Paypal_Account', 'dj_user', 'Refund_reason', 'Refund_id',
                    'Remarks', 'Update_time')
    list_editable = ('Refund_id', 'Remarks')
    fields = ('id', 'ShopOrderNumber', 'ShopName', 'ProductSKU', 'Country',
              'ClosingDate', 'Sale_price', 'Refund_id', 'Refund_price',
              'Paypal_Account', 'Refund_reason', 'Update_time')
    #readonly_fields = ('ShopName','ProductSKU','Country','ClosingDate','Sale_price')
    form_layout = (
        Fieldset(u'查询条件', Row('ShopOrderNumber'), css_class='unsort '),
        Fieldset(u'普源实时查询内容',
                 Row('ProductSKU', 'ShopName'),
                 Row('Country', 'Sale_price'),
                 Row('ClosingDate'),
                 css_class='unsort '),
        Fieldset(u'人工填写内容',
                 Row('Refund_id', 'Refund_price'),
                 Row('Paypal_Account', 'Refund_reason'),
                 Row('Update_time'),
                 css_class='unsort '),
    )

    def save_models(self):
        obj = self.new_obj
        obj.Update_time = datetime.now()
        obj.dj_user = self.request.user.username
        obj.save()
Exemple #14
0
class PostAdmin(object):
    style_fields = {"content": "ueditor"}
    list_display = [
        'title', 'desc', 'content', 'status_show', 'owner', 'created_time',
        'pv', 'uv'
    ]
    list_display_links = []
    list_filter = ['category', 'title']
    # fields = ('name',)
    search_fields = ['title', 'category_name', 'owner_username']
    save_on_top = True
    show_full_result_count = True

    # actions_on_bottom = True
    # date_hierarchy = 'created_time'
    # list_editable = ('title',)
    exclude = ['html', 'pv', 'uv']

    # fields = (
    #     ('category','title'),
    #     'desc',
    #     'status',
    #     ('content', 'is_markdown'),
    #     'html',
    #     'tag',
    #     'owner',
    # )
    form_layout = (Fieldset(
        '基础信息',
        'title',
        'desc',
        Row('category', 'status', 'is_markdown'),
        'content',
        'tag',
        'owner',
    ), )
Exemple #15
0
 def get_form_layout(self):
     if self.org_obj:
         self.form_layout = (
             Main(
                 Fieldset('订单基本信息',
                          'order_date',
                          'sales','sale_source',
                          'useage', 'useage_detail',
                          'place','series_num','price'
                          ),
                 Fieldset('客户基本信息',
                          'customer',
                          'customer_source',
                          'province', 'city',
                          'wangwang'
                          ),
                 Fieldset('收件信息',
                          Row('reciever', 'phone'),
                          'address',
                          'remark'
                          ),
             ),
         )
     return super(OrderAdmin, self).get_form_layout()
Exemple #16
0
class InvoiceTitleAdmin(object):
    """
    发票抬头信息
    """
    list_display = [
        "name", "openid", "title", "category", "tax_number", "address",
        "telephone", "bank_account", "email", "is_write", "update_time",
        "add_time"
    ]
    search_fields = ["title", "name", "openid", "telephone"]
    list_filter = ['is_write']
    model_icon = 'fa fa-random'

    form_layout = (Fieldset(
        '发票抬头信息',
        Row('name', 'openid'),
        Row('title', 'category'),
        Row('tax_number', 'telephone'),
        Row('address'),
        Row('bank_account'),
        Row('email', None),
        Row('total_money', 'consume_money'),
    ), )

    def get_media(self):
        media = super().get_media()
        path = self.request.get_full_path()
        if "add" in path or 'update' in path:
            media.add_css({'screen': ('bill/bill.css', )})
            # media.add_js([self.static('stationmanager/js/xadmin.areacode.js')])
        return media

    def save_models(self):
        obj = self.new_obj
        if obj.is_write == 1 and obj.update_time is None:
            obj.update_time = datetime.datetime.now()
        super().save_models()
Exemple #17
0
class Culture_accountAdmin(object):
    list_display = [
        'id', 'limit_watch', 'watch_duration_min', 'watch_duration_max',
        'watch_times', 'date_joined'
    ]
    exclude = ['user']
    ordering = ['id']

    form_layout = (
        Main(  #中心内容
            Fieldset(
                '常规设置',
                Row('limit_watch', 'watch_duration_min',
                    'watch_duration_max')),
            Fieldset('随机时间暂停',
                     Row('watch_times', 'pause_time_min', 'pause_time_max')),
            Fieldset(
                '评论区功能',
                Row('comment_nice_probability', 'comment_nice_min_times',
                    'comment_nice_max_times')),
            Fieldset(
                '关注作者',
                Row('follow_author_probability',
                    'follow_author_pause_time_min',
                    'follow_author_pause_time_max'))),
        Side(  #侧边框
            Fieldset('点赞及评论概率', Row('nice_probability',
                                    'comment_probability')),
            Fieldset('转发概率', Row('forward_probability')),
        ))

    def queryset(self):
        qs = super(Culture_accountAdmin, self).queryset()
        if self.request.user.is_superuser:  # 超级用户可查看所有数据
            return qs
        else:
            return qs.filter(user_id=self.request.user)

    def save_models(self):
        self.new_obj.user = self.request.user
        super(Culture_accountAdmin, self).save_models()
Exemple #18
0
class ItManagerAdmin(object):
    inlines = [ItRecordInline]
    list_display = ['name','ip','username','dep','is_active']
    search_fields = ['name','ip','remarks','dep__two_department','is_active']
    list_filter = ['name','ip','remarks','is_active']
    reversion_enable = True
    form_layout = (
        Main(
            Fieldset('',
                     Row('name', 'model'),
                     Row('ip', 'system'),
                     Row('username', 'password'),
                     Row('link'),
                     Row('tel', 'application'),
                     Row('dep'),
                     Row('remarks'),
                     ),
        ),
        Side(
            Fieldset(('Status'),
                     'is_active'
                     ),
        )
    )
Exemple #19
0
class PostInline():
    form_layout = (Container(Row('title', 'desc')))
    extra = 1
    model = Post
Exemple #20
0
class PostAdmin(BaseOwnerAdmin):
    form = PostAdminForm
    list_display = [
        'title',
        'category',
        'tag',
        'status',
        'created_time',
        'owner',
        'operator',
        'is_top',
    ]

    list_display_links = []

    #list_filter=[CategoryOwnerFilter]

    list_filter = [
        'category',
        'tag',
        #('category', MultiSelectFieldListFilter),
        #('tag', MultiSelectFieldListFilter),
    ]
    search_fields = ['title', 'category__name', 'tag__name']

    actions_on_top = True
    actions_on_bottom = True

    save_on_top = True

    exclude = ('owner', )

    #fields=(
    #    ('category','title'),
    #    'desc',
    #    'status',
    #    'content',
    #    'tag',
    #)

    form_layout = (Fieldset(
        '基础信息',
        Row("title", "category"),
        'status',
        'tag',
        'is_top',
    ),
                   Fieldset(
                       '内容信息',
                       'desc',
                       'is_md',
                       'content_ck',
                       'content_md',
                       'content',
                   ))

    #filter_horizontal = ('tag', )
    #filter_vertical = ('tag', )
    #style_fields = {'tag': 'm2m_transfer'}

    def operator(self, obj):
        return format_html(
            '<a href="{}">编辑</a>',
            #reverse('cus_admin:blog_post_change',args=(obj.id,))
            reverse('xadmin:blog_post_change', args=(obj.id, )))

    operator.short_description = '操作'
Exemple #21
0
class t_product_questions_Adimin(object):
    
    def show_AttachmentUrls(self,obj) :
        attachmentUrl1="";
        attachmentUrl2="";
        attachmentUrl3="";
        attachmentUrl4="";
        attachmentUrl5="";
        attachmentUrl6="";
        rt=''
        if obj.AttachmentUrl1 is not None and str(obj.AttachmentUrl1).strip() !='' :
            attachmentUrl1 =  u'%s%s.%s/%s/%s/%s'%(PREFIX,BUCKETNAME_TORT,ENDPOINT_OUT,'questions',obj.id,str(obj.AttachmentUrl1))
            rt="%s附件一:<a href=%s>%s</a>;<br>"%(rt,attachmentUrl1,attachmentUrl1)
        if obj.AttachmentUrl2 is not None and str(obj.AttachmentUrl2).strip() !='' :
            attachmentUrl2 =  u'%s%s.%s/%s/%s/%s'%(PREFIX,BUCKETNAME_TORT,ENDPOINT_OUT,'questions',obj.id,str(obj.AttachmentUrl2))
            rt="%s附件二:<a href=%s>%s</a>;<br>"%(rt,attachmentUrl2,attachmentUrl2)
        if obj.AttachmentUrl3 is not None and str(obj.AttachmentUrl3).strip() !='' :
            attachmentUrl3 =  u'%s%s.%s/%s/%s/%s'%(PREFIX,BUCKETNAME_TORT,ENDPOINT_OUT,'questions',obj.id,str(obj.AttachmentUrl3))
            rt="%s附件三:<a href=%s>%s</a>;<br>"%(rt,attachmentUrl3,attachmentUrl3)
        if obj.AttachmentUrl4 is not None and str(obj.AttachmentUrl4).strip() !='' :
            attachmentUrl4 =  u'%s%s.%s/%s/%s/%s'%(PREFIX,BUCKETNAME_TORT,ENDPOINT_OUT,'questions',obj.id,str(obj.AttachmentUrl4))
            rt="%s附件四:<a href=%s>%s</a>;<br>"%(rt,attachmentUrl4,attachmentUrl4)
        if obj.AttachmentUrl5 is not None and str(obj.AttachmentUrl5).strip() !='' :
            attachmentUrl5 =  u'%s%s.%s/%s/%s/%s'%(PREFIX,BUCKETNAME_TORT,ENDPOINT_OUT,'questions',obj.id,str(obj.AttachmentUrl5))
            rt="%s附件五:<a href=%s>%s</a>;<br>"%(rt,attachmentUrl5,attachmentUrl5)
        if obj.AttachmentUrl6 is not None and str(obj.AttachmentUrl6).strip() !='' :
            attachmentUrl6 =  u'%s%s.%s/%s/%s/%s'%(PREFIX,BUCKETNAME_TORT,ENDPOINT_OUT,'questions',obj.id,str(obj.AttachmentUrl6))
            rt="%s附件六:<a href=%s>%s</a>;"%(rt,attachmentUrl6,attachmentUrl6)

        #rt =  "附件一:<a href=%s>%s</a>;<br>附件二:<a href=%s>%s</a><br>附件三:<a href=%s>%s</a><br>附件四:<a href=%s>%s</a><br>附件五:<a href=%s>%s</a><br>附件六:<a href=%s>%s</a>;"%(attachmentUrl1,attachmentUrl1,attachmentUrl2,attachmentUrl2,attachmentUrl3,attachmentUrl3,attachmentUrl4,attachmentUrl4,attachmentUrl5,attachmentUrl5,attachmentUrl6,attachmentUrl6)
        return mark_safe(rt)
    show_AttachmentUrls.short_description = u'附件'
    
    
    list_display=('id','PTitle','Type','Priority','LevelNumber','SubmitDay','ExpectedDay','Status','StaffIDSubmit','StaffIDCheck','StaffIDHandle','ExecutedDay','StaffID','Description','show_AttachmentUrls','UpdateTime',)
    list_display_links=('id',)
    search_fields=('id','Type','PTitle','Priority','LevelNumber','Status','StaffIDSubmit','StaffIDHandle','StaffID','Description','StaffIDCheck',)
    list_filter = ('PTitle','Type','Priority','LevelNumber','SubmitDay','ExpectedDay','Status','StaffIDSubmit','StaffIDHandle','StaffID','Description','UpdateTime','StaffIDCheck','ExecutedDay')
    readonly_fields = ('id','UpdateTime',)
    list_editable = ('PTitle','Type','Priority','LevelNumber','SubmitDay','ExpectedDay','Status','StaffIDSubmit','StaffIDHandle','StaffID','Description','StaffIDCheck','ExecutedDay',)

    form_layout = (
        Fieldset(u'基本信息',
                       Row('id','StaffID',),
                       Row('PTitle','Type','Status',),
                       Row('Priority','SubmitDay','ExpectedDay',),
                       Row('StaffIDSubmit','StaffIDCheck'),
                       Row('StaffIDHandle','ExecutedDay',),
                       css_class = 'unsort '
                ),
        Fieldset(u'问题描述',
                       Row( 'AttachmentUrl1','AttachmentUrl2'),
                       Row( 'AttachmentUrl3','AttachmentUrl4'),
                       Row( 'AttachmentUrl5','AttachmentUrl6'),
                       Row( 'Description',),
                       css_class = 'unsort  '
                ),
        Fieldset(u'更新时间',
                       Row('UpdateTime',),
                       css_class = 'unsort '
                )
                  )
    
    def get_list_queryset(self):
        request = self.request
        qs = super(t_product_questions_Adimin, self).get_list_queryset()
        return qs.exclude(Status="已完成")

        logger = logging.getLogger('sourceDns.webdns.views')
    #def save_model(self, request, obj, form, change):
    def save_models(self):
        obj = self.new_obj
        request = self.request
        import datetime
        now = datetime.datetime.now()
        
        auth = oss2.Auth(ACCESS_KEY_ID, ACCESS_KEY_SECRET)
        bucket = oss2.Bucket(auth, ENDPOINT,BUCKETNAME_TORT)
        try:

            if obj.AttachmentUrl1 is not None and str(obj.AttachmentUrl1).strip() !='' :
                bucket.put_object(u'%s/%s/%s'%('questions',obj.id,str(obj.AttachmentUrl1)),obj.AttachmentUrl1)

            if obj.AttachmentUrl2 is not None and str(obj.AttachmentUrl2).strip() !='' :
                bucket.put_object(u'%s/%s/%s'%('questions',obj.id,str(obj.AttachmentUrl2)),obj.AttachmentUrl2)

            if obj.AttachmentUrl3 is not None and str(obj.AttachmentUrl3).strip() !='' :
                bucket.put_object(u'%s/%s/%s'%('questions',obj.id,str(obj.AttachmentUrl3)),obj.AttachmentUrl3)

            if obj.AttachmentUrl4 is not None and str(obj.AttachmentUrl4).strip() !='' :
                bucket.put_object(u'%s/%s/%s'%('questions',obj.id,str(obj.AttachmentUrl4)),obj.AttachmentUrl4)

            if obj.AttachmentUrl5 is not None and str(obj.AttachmentUrl5).strip() !='' :
                bucket.put_object(u'%s/%s/%s'%('questions',obj.id,str(obj.AttachmentUrl5)),obj.AttachmentUrl5)

            if obj.AttachmentUrl6 is not None and str(obj.AttachmentUrl6).strip() !='' :
                bucket.put_object(u'%s/%s/%s'%('questions',obj.id,str(obj.AttachmentUrl6)),obj.AttachmentUrl6)
        except:
            pass
         
        obj.StaffID = request.user.username
        obj.save()
        if request.method == 'POST':
            files = request.FILES.getlist('myfiles')
            for f in files :
                path = MEDIA_ROOT + 'questions_pic/' + str(obj.id)
                if not os.path.exists(path):
                    os.mkdir(path)
                destination = open(path + '/' +  f.name,'wb+')
                for chunk in f.chunks():
                  destination.write(chunk)
                destination.close()

    def get_list_queryset(self):
        request = self.request
        qs = super(t_product_questions_Adimin, self).get_list_queryset()
        return qs.filter(IT_IN_OUT='IN')
Exemple #22
0
class PostInLine:
    form_layout = (Container(Row('title', 'desc')))
    extra = 0  # 额外控制多少个
    model = Post
Exemple #23
0
class Equipmentmoel(Baseadminmodel):
    inlines = [Equipment_barInline]
    is_add_eb_persmodal = True
    mymodel = Equipment
    list_filter = mymodel.get_fields() + Prgsheet.get_fields(
        True) + Contract.get_fields(True)
    ordering = ['-updatetime']
    model_icon = 'fa fa-list'
    form_layout = (Fieldset((u''),
                            'prgsheet',
                            'owner',
                            'contract',
                            'comment',
                            Row('total_number', 'sc_total_number',
                                'total_money', 'isfinish'),
                            Row('createtime', 'updatetime', 'finishtime'),
                            'finishtime_recorde',
                            css_class='unsort notitle'), )

    def get_btns(self):
        bnt1_per, bnt1_text = get_tupple(self.obj,
                                         messagesender.EP_FINISH_AND_FLOWTO_JF)
        bnt2_per, bnt2_text = get_tupple(self.obj,
                                         messagesender.DISPENSE_TO_LGYG)
        btns = [
            {
                'text': '点击已配齐',
                'candialog': True,
                'd_title': '手动更新配齐状态',
                'd_hasper': bnt1_per,
                'd_text': bnt1_text,
                'd_url':
                self.get_submit_url(messagesender.EP_FINISH_AND_FLOWTO_JF),
                'has_msg': True,
            },
            {
                'text': '分发配单人',
                'candialog': True,
                'd_title': '分发给当前配单人',
                'd_hasper': bnt2_per,
                'd_text': bnt2_text,
                'd_url': self.get_submit_url(messagesender.DISPENSE_TO_LGYG),
                'has_msg': True,
            },
            {
                'text': '返回列表页',
                'candialog': False,
                'd_url': self.obj.get_model_url('list'),
            },
        ]
        return btns

    def save_models(self):  # 保存时生成合同
        obj = self.new_obj
        obj.contract = obj.prgsheet.contract
        obj.save()

    def get_media(self):
        path = self.request.get_full_path()
        media = super().get_media()
        if "add" in path or "update" in path:
            media = media + self.vendor('xadmin.utils.personnel_choose.js')
        return media
    list_display_links = ('id',)
    list_display = ('campaign_state', 'show_pic', 'show_sku_detail', 'sales_price', 'bid', 'max_budget',
                    'spend', 'paid_impressions', 'sales', 'gmv', 'spend_gmv', 'sales_paid',
                    'show_campaign_date', 'show_keywords', 'survey_remark', 'operation_remark', 'show_product_detail',)

    list_editable = {'survey_remark', 'operation_remark', 'StoreName'}
    '''list_editable = ('product_id', 'keywords', 'bid', 'max_budget', 'start_time', 'end_time',
                     'auto_renew', 'survey_remark', 'operation_remark')'''

    fields = ('shopname', 'product_id', 'max_budget', 'bid', 'start_time', 'end_time',
              'auto_renew', 'StoreName', 'keywords', 'survey_remark', 'operation_remark'
              )

    form_layout = (
        Fieldset(u'选填信息', Row('shopname')
                 ),
        Fieldset(u'关键信息',
            Row('product_id'),
            Row('max_budget'),
            Row('bid'),
            Row('auto_renew', 'StoreName'),
            Row('start_time', 'end_time'),
            Row('survey_remark', 'operation_remark'),
            css_class='unsort'
        ),
        Fieldset(u'关键词建议', Row('keywords'))
    )

    def getPid_byRating(self, rstart, rend):
        if not rstart and not rend:
Exemple #25
0
class PostInline:
    form_layout = (Container(Row('title', 'desc'), ))
    extra = 1  # 控制额外多几个
    model = Post
Exemple #26
0
class Contractmodel(Baseadminmodel):
    mymodel = Contract
    required_fields = ['deadline', 'deadline_date']
    required_update_or_add = "add"
    list_filter = mymodel.get_fields() + Custom.get_fields(
        True) + Prgsheet.get_fields(True) + Equipment.get_fields(True)
    ordering = ['-updatetime']
    model_icon = 'fa fa-book'
    list_bookmarks = [{
        "title": "合同截止日期提醒",
        "query": {
            "deadline_date__lt":
            (datetime.date.today() + datetime.timedelta(days=60)),
            'contract_type__exact':
            '资质合同',
            'prgsheet__isfinish__exact':
            0
        }
    }]
    form_layout = (
        Fieldset((u'通用'),
                 'custom',
                 "num",
                 Row('name', 'status'),
                 'singman',
                 'signdate',
                 'year',
                 'total_price',
                 'contract_type',
                 Row('file', 'file_to_pdf'),
                 'update_by',
                 'comment',
                 'founder',
                 Row('createtime', 'updatetime', 'finishtime',
                     'propellingtime'),
                 css_class='unsort'),
        Fieldset(
            '解除或补充合同',
            Row('bcfile', 'bcfile_to_pdf'),
            Row('jcfile', 'jcfile_to_pdf'),
            css_class='unsort',
        ),
        Fieldset(
            '收款单自动汇总',
            Row('Accepted', 'receivable'),
            'isfinish',
            css_class='unsort',
        ),
        Fieldset('资质合同专项',
                 Row('deadline', 'deadline_date'),
                 Row('deadline_text', 'ispropelling'),
                 'itemcontent',
                 'payment',
                 css_class='unsort'),
    )

    def get_btns(self):
        bnt1_per, bnt1_text = get_tupple(self.obj,
                                         messagesender.CT_FINISH_AND_FLOWTO_CW)
        bnt2_per, bnt2_text = get_tupple(self.obj, messagesender.FLOW_TO_JFZJ)

        btns = [
            {
                'text': '点击已收结',
                'candialog': True,
                'd_title': '手动更新收结状态',
                'd_hasper': bnt1_per,
                'd_text': bnt1_text,
                'd_url':
                self.get_submit_url(messagesender.CT_FINISH_AND_FLOWTO_CW),
                'has_msg': False,
            },
            {
                'text': '推送给消化',
                'candialog': True,
                'd_title': '推送给消化进行办理',
                'd_hasper': bnt2_per,
                'd_text': bnt2_text,
                'd_url': self.get_submit_url(messagesender.FLOW_TO_JFZJ),
                'has_msg': True,
            },
            {
                'text': '返回列表页',
                'candialog': False,
                'd_url': self.obj.get_model_url('list'),
            },
        ]
        return btns

    # def has_change_permission(self, obj=None):
    #     perm = super().has_change_permission(obj)
    #     if obj:
    #         perm = self.user.is_superuser or (perm and not obj.isfinish)
    #     return perm

    def save_models(self):  # 保存时生成合同名称
        obj = self.new_obj
        custom_name = obj.custom.name
        contract_name = custom_name + obj.contract_type + obj.num
        if obj.name != contract_name: obj.name = contract_name
        obj.save()

    def get_form_datas(self):
        params = super(Contractmodel, self).get_form_datas()
        if not self.org_obj and self.request.method != 'POST':
            year = time.strftime('%y')
            params['initial']['num'] = f"G{year}-"
        return params
Exemple #27
0
class Prgsheetmoel(Baseadminmodel):
    list_select_related = ['owner', 'contract', 'contract__custom']
    import_export_args = {
        'import_resource_class': Prg_im_resource,
        'export_resource_class': Prg_ex_resource
    }
    mymodel = Prgsheet
    list_filter = mymodel.get_fields() + Contract.get_fields(
        True) + Equipment.get_fields(True)
    model_icon = 'fa fa-circle'
    ordering = ['-updatetime']
    required_fields = [
        'progress',
        'approval_dep',
        'approval_address',
        'type',
        'prg_explain',
        'jianzaoshi',
        'jsfzr',
        'gongchengshi',
        'jigong',
        'sanleirenyuan',
        'tezhonggong',
        'ohter',
    ]
    form_layout = (
        Fieldset((u'进度表'),
                 'contract',
                 Row('ownerrecord', 'owner'),
                 Row('approval_dep', 'approval_address'),
                 Row(
                     'type',
                     'progress',
                 ),
                 'totalcost',
                 Row('file', 'file_to_pdf'),
                 'prg_explain',
                 Row('createtime', 'updatetime', 'finishtime',
                     'propellingtime'),
                 Row('isfinish', 'ispropelling'),
                 css_class='unsort'),
        Fieldset(
            '人员配备相关',
            'jianzaoshi',
            'jsfzr',
            'gongchengshi',
            'jigong',
            'sanleirenyuan',
            'tezhonggong',
            'ohter',
            css_class='unsort',
        ),
    )

    def set_form_obj_requird(self):
        if self.required_update_or_add in self.request.get_full_path(
        ) and self.user.department != "交付总监":
            for field in self.required_fields:
                self.form_obj.fields[field].required = True

    def get_btns(self):
        bnt1_per, bnt1_text = get_tupple(self.obj,
                                         messagesender.PG_FINISH_AND_FLOWTO_KF)
        bnt2_per, bnt2_text = get_tupple(self.obj,
                                         messagesender.DISPENSE_TO_JFYG)
        bnt3_per, bnt3_text = get_tupple(self.obj, messagesender.FLOW_TO_LGZJ)
        d_text = "将手动修改该进度表收结状态,请核实后点击确认!"

        btns = [
            {
                'text': '点击已办结',
                'candialog': True,
                'd_title': '手动更新收结状态',
                'd_hasper': bnt1_per,
                'd_text': bnt1_text,
                'd_url':
                self.get_submit_url(messagesender.PG_FINISH_AND_FLOWTO_KF),
                'has_msg': False,
            },
            {
                'text': '分发做单人',
                'candialog': True,
                'd_title': '分发给当前做单人',
                'd_hasper': bnt2_per,
                'd_text': bnt2_text,
                'd_url': self.get_submit_url(messagesender.DISPENSE_TO_JFYG),
                'has_msg': True,
            },
            {
                'text': '推送给猎管',
                'candialog': True,
                'd_title': '推送给猎管部门进行办理',
                'd_hasper': bnt3_per,
                'd_text': bnt3_text,
                'd_url': self.get_submit_url(messagesender.FLOW_TO_LGZJ),
                'has_msg': True,
            },
            {
                'text': '返回列表页',
                'candialog': False,
                'd_url': self.obj.get_model_url('list'),
            },
        ]
        return btns

    def has_change_permission(self, obj=None):
        codename = get_permission_codename('change', self.opts)
        perm = super().has_change_permission(obj)
        if obj:
            perm = self.user.is_superuser or (perm and not obj.isfinish)
        return perm
Exemple #28
0
from django.utils.translation import ugettext as _
from xadmin.layout import Fieldset, Main, Side, Row
StaffLayout = \
    (
        Main(
            Fieldset(_('职工状态'),
                     'at_post',
                     ),
            Fieldset(_('个人信息'),
                     'personal_name',
                     'personal_gender',
                     'personal_id_num',
                     'personal_birth_date',
                     'personal_soc_ins',
                     'personal_soc_ins_id',
                     Row('personal_folk', 'personal_reg_location'),
                     'personal_current_location',
                     'personal_is_marry',
                     'personal_status',
                     Row('personal_phone', 'personal_phone_other'),
                     Row('personal_emer_phone', 'personal_emer_people'),
                     ),
            Fieldset(_('工作信息'),
                     Row('work_enter_date', 'work_dismiss_date'),
                     'work_hire_method',
                     'personal_on_market',
                     'work_department',
                     'work_duty',
                     'work_duty_hire_date',
                     ),
            Fieldset(_('职称信息'),
Exemple #29
0
class PostInline:
    form_layout = (Container(Row("title", "desc"), ))
    extra = 1  # 控制额外多几个
    model = Post
Exemple #30
0
class HostAdmin(object):
    def open_web(self, instance):
        return """<a href="http://%s" target="_blank">Open</a>""" % instance.ip

    open_web.short_description = "Acts"
    open_web.allow_tags = True
    open_web.is_column = True

    list_display = (
        "name",
        "idc",
        "guarantee_date",
        "service_type",
        "status",
        "open_web",
        "description",
        "ip",
    )
    list_display_links = ("name", )

    raw_id_fields = ("idc", )
    style_fields = {"system": "radio-inline"}

    search_fields = ["name", "ip", "description", "idc__name"]
    list_filter = [
        "idc",
        "guarantee_date",
        "status",
        "brand",
        "model",
        "cpu",
        "core_num",
        "hard_disk",
        "memory",
        (
            "service_type",
            xadmin.filters.MultiSelectFieldListFilter,
        ),
    ]

    list_quick_filter = ["service_type", {"field": "idc__name", "limit": 10}]
    # list_quick_filter = ["idc_id"]
    list_bookmarks = [{
        "title": "Need Guarantee",
        "query": {
            "status__exact": 2
        },
        "order": ("-guarantee_date", ),
        "cols": ("brand", "guarantee_date", "service_type"),
    }]

    show_detail_fields = ("idc", )
    list_editable = ("name", "idc", "guarantee_date", "service_type",
                     "description", "ip")
    save_as = True

    aggregate_fields = {"guarantee_date": "min"}
    grid_layouts = ("table", "thumbnails")

    form_layout = (Main(
        TabHolder(
            Tab(
                "Comm Fields",
                Fieldset(
                    "Company data",
                    "name",
                    "idc",
                    description="some comm fields, required",
                ),
                Inline(MaintainLog),
            ),
            Tab(
                "Extend Fields",
                Fieldset(
                    "Contact details", "service_type", Row("brand", "model"),
                    Row("cpu", "core_num"),
                    Row(AppendedText("hard_disk", "G"),
                        AppendedText("memory", "G")), "guarantee_date"),
            ),
        ), ), Side(Fieldset("Status data", "status", "ssh_port", "ip"), ))
    inlines = [MaintainInline]
    reversion_enable = True

    data_charts = {
        "host_service_type_counts": {
            'title': u"Host service type count",
            "x-field": "service_type",
            "y-field": ("service_type", ),
            "option": {
                "series": {
                    "bars": {
                        "align": "center",
                        "barWidth": 0.8,
                        'show': True
                    }
                },
                "xaxis": {
                    "aggregate": "count",
                    "mode": "categories"
                },
            },
        },
    }