示例#1
0
文件: basedata.py 项目: RockyLiys/erp
def base_education_page(request):
    request.dbapp_url = dbapp_url
    apps = get_all_app_and_models()
    searchform = get_searchform(request, Education)
    if searchform:
        has_header = True
    else:
        has_header = False

    return render_to_response(
        EducationPage._template,
        RequestContext(
            request, {
                "app_label": "personnel",
                "dbapp_url": dbapp_url,
                "MEDIA_ROOT": MEDIA_ROOT,
                "apps": apps,
                "myapp": [a for a in apps if a[0] == "personnel"][0][1],
                "menu_focus": "BaseDataPage",
                "current_app": "personnel",
                "model_name": EducationPage._model_name,
                "has_header": has_header,
                "searchform": searchform,
                "position": EducationPage._position,
                "help_model_name": "base_data_page"
            }))
示例#2
0
def PageView(request, app_name, model):
    page = model["page"](request)
    menu_group = page.app_menu
    PageName = page.__class__.__name__

    if request.REQUEST.has_key("pure"):
        m_urlparams = dict(request.GET)
        del m_urlparams["pure"]
        m_params = []
        for e in m_urlparams.keys():
            m_value = m_urlparams[e]
            if type(m_value) == type([]):
                m_value = ','.join(m_value)
            m_params.append({"name": str(e), "value": str(m_value)})
        #        if not m_params:
        #            m_params = '[]'
        response_context = {
            'app_label': menu_group,
            'model_name': PageName,
            'urlparams': m_params,
            'select_fieldname': request.GET.get('fieldname', ''),
            'ids': request.GET.get('ids', ''),
            'verbose_name': page.verbose_name
        }
    #        if not page.template.endswith('_window.html'):
    #            page.template = page.template.replace(".html","_pure.html")
    else:
        apps = get_all_app_and_models()
        app = dict(apps)[app_name]
        request.dbapp_url = dbapp_url
        position = _(u'%s->%s' % (app["name"], page.verbose_name))
        response_context = {
            'dbapp_url': dbapp_url,
            'MEDIA_URL': MEDIA_ROOT,
            "current_app": menu_group,
            "myapp": app,
            'apps': apps,
            'app_label': menu_group,
            'model_name': PageName,
            'menu_focus': PageName,
            'position': position,
            'verbose_name': page.verbose_name
        }
    if page.context:
        if callable(page.context):
            response_context.update(page.context())
        else:
            response_context.update(page.context)
    return render_to_response(page.template,
                              RequestContext(request, response_context))
示例#3
0
def GridModelView(request, app_label, model_name):
    apps = get_all_app_and_models(hide_visible_false=False)
    model_dic = None
    try:
        for e in apps:
            if e[0] == app_label:
                app = e[1]
                for m in app["models"]:
                    if m["name"] == model_name:
                        model_dic = m
                        break
                break
    except:
        return NoFound404Response(request)
    if model_dic and model_dic.has_key('page') and issubclass(
            model_dic['page'], GridModel):
        try:
            try:
                offset = int(request.REQUEST.get('page', 1))
            except:
                offset = 1
            try:
                psize = int(request.REQUEST.get('rp', 15))
            except:
                psize = 15
            arg = {'offset': offset, 'psize': psize}
            sortname = request.REQUEST.get('sortname', 'undefined')
            sortorder = request.REQUEST.get('sortorder', 'undefined')
            if sortname != 'undefined':
                arg['sortname'] = sortname
                arg['sortorder'] = (sortorder
                                    == 'undefined') and 'asc' or sortorder
            query = request.REQUEST.get('query', '')
            qtype = request.REQUEST.get('qtype', '')
            if query != '':
                arg['query'] = query
                arg['qtype'] = qtype
            grid_model = model_dic['page'](request)
            #            grid_model.grid.ParseArg(**arg)
            if request.REQUEST.has_key("export"):
                return GridExport(request, grid_model, **arg)
            else:
                return GridView(request, grid_model, **arg)
        except:
            print_exc()
            raise
    else:
        return NoFound404Response(request)
示例#4
0
def AppPageView(request, app_label, model_name):
    apps = get_all_app_and_models(hide_visible_false=False)
    model_dic = None
    try:
        for e in apps:
            if e[0] == app_label:
                app = e[1]
                for m in app["models"]:
                    if m["name"] == model_name:
                        model_dic = m
                        break
                break
    except:
        return NoFound404Response(request)
    if model_dic and model_dic.has_key('page'):
        try:
            return PageView(request, app["models"][0]["app_label"], model_dic)
        except:
            print_exc()
            raise
    else:
        return NoFound404Response(request)
示例#5
0
文件: basedata.py 项目: RockyLiys/erp
def base_data_page(request):
    request.dbapp_url = dbapp_url
    apps = get_all_app_and_models()
    searchform = None
    model_name = None
    position = _(u'人事 ->基本资料')
    help_model_name = None
    template = CountryPage._template
    if HasPerm(request.user, 'contenttypes.can_CountryPage'):
        model_name = CountryPage._model_name
        template = CountryPage._template
        position = CountryPage._position
        searchform = get_searchform(request, Country)
        help_model_name = CountryPage.__name__
    elif HasPerm(request.user, 'contenttypes.can_StatePage'):
        model_name = StatePage._model_name
        template = StatePage._template
        position = StatePage._position
        searchform = get_searchform(request, State)
        help_model_name = StatePage.__name__
    elif HasPerm(request.user, 'contenttypes.can_CityPage'):
        model_name = CityPage._model_name
        template = CityPage._template
        position = CityPage._position
        searchform = get_searchform(request, City)
        help_model_name = CityPage.__name__
    elif HasPerm(request.user, 'contenttypes.can_NationalPage'):
        model_name = NationalPage._model_name
        template = NationalPage._template
        position = NationalPage._position
        searchform = get_searchform(request, National)
        help_model_name = NationalPage.__name__
    elif HasPerm(request.user, 'contenttypes.can_EducationPage'):
        model_name = EducationPage._model_name
        template = EducationPage._template
        position = EducationPage._position
        searchform = get_searchform(request, Education)
        help_model_name = EducationPage.__name__

    if searchform:
        has_header = True
    else:
        has_header = False

    return render_to_response(
        template,
        RequestContext(
            request, {
                "app_label": "personnel",
                "dbapp_url": dbapp_url,
                "MEDIA_ROOT": MEDIA_ROOT,
                "apps": apps,
                "model_name": model_name,
                "current_app": "personnel",
                "myapp": [a for a in apps if a[0] == "personnel"][0][1],
                "menu_focus": "BaseDataPage",
                "has_header": has_header,
                "searchform": searchform,
                "position": position,
                "help_model_name": "base_data_page"
            }))
示例#6
0
def get_html_data(request):
    u"默认删除七天以前的记录,不能删除七天以内的数据"

    request.dbapp_url = dbapp_url
    apps = get_all_app_and_models()
    dt_now = datetime.datetime.now()
    default_date = dt_now - datetime.timedelta(days=7)

    if request.method == "GET":
        return render_to_response('worktable_DeleteData.html',
                                  RequestContext(request, {
                                      'dbapp_url': dbapp_url,
                                      'MEDIA_URL': MEDIA_ROOT,
                                      "current_app": 'base',
                                      'apps': apps,
                                      'before_date': default_date.strftime("%Y-%m-%d"),
                                      "help_model_name": "DeleteData",
                                      "myapp": [a for a in apps if a[0] == "base"][0][1],
                                      'app_label': 'worktable',
                                      'model_name': 'Device',
                                      'menu_focus': 'DeleteData',
                                      'position': _(u'系统设置->临时数据清理'),
                                  })

                                  )
    else:
        post_date = request.POST.get("before_date", None)
        before_date = default_date
        info = []
        if post_date:
            try:
                before_date = datetime.datetime.strptime(post_date, "%Y-%m-%d")
            except:
                info.append(u"%s" % _(u"时间转化错误,清除失败,请确认日期输入正确!"))

        if (dt_now - before_date).days < 7:
            info.append(u"%s" % _(u"不能删除7天之内的数据"))

        if not info:  # 没有错误
            # print 'post:%s\n'%request.POST
            dict_map_data = [
                ["clear_log", delete_action_log],
                ["clear_upload_dir", delete_upload_dirs],
                ["fqueue_file", delete_fqueue_file],
                ["clear_devcmd_bak", delete_devcmd_bak],
                ["clear_operate_cmds", delete_operate_cmds],
                ["clear_tmp_dir", delete_temp_dirs],
                ["clear_session", delete_session_data],
            ]
            dict_map_verbose = {
                "clear_log": u"%s" % _(u"清理日志记录"),
                "clear_upload_dir": u"%s" % _(u"清理机器上传的过期文件夹"),
                "fqueue_file": u"%s" % _(u"清理文件缓存"),
                "clear_devcmd_bak": u"%s" % _(u"清理失败命令"),
                "clear_operate_cmds": u"%s" % _(u"清理通讯命令日志"),
                "clear_tmp_dir": u"%s" % _(u"清理临时文件夹"),
                "clear_session": u"%s" % _(u"清理用户会话记录"),
            }
            for k, process_key in dict_map_data:
                value = request.POST.get(k, None)
                if value:
                    # print 'delete %s\n'%k
                    days = (dt_now - before_date).days
                    ret = dict_map_verbose[k] + ":"
                    try:
                        if days > 0:
                            ret += u"%s" % process_key(days)
                    except Exception as e:
                        # import traceback;traceback.print_exc()
                        ret += u"%s" % e

                    info.append(ret)

        return getJSResponse(json.dumps(info))  # 返回处理结果