コード例 #1
0
def gridMeta(context, main=None, add=None, filterinfo=None, session=None, elementId=None):
    u'''Функция получения настроек грида. '''

    # Курсор таблицы directories
    roles = RolesCursor(context)
    # Вычисляем количества записей в таблице
    specialRoles = ["!'editor'", "!'reader'"]
    roles.setFilter("id", '&'.join(specialRoles))
    totalcount = roles.count()
    # Заголовок таблицы
    header = "Роли"
    _header = {"id": [u"Роль"],
               "description": [u"Описание"],
               }

    # Определяем список полей таблицы для отображения
    settings = {}
    settings["gridsettings"] = {"columns": {"col": []},
                                "properties": {"@pagesize":"50",
                                               "@gridWidth": "100%",
                                               "@gridHeight": getGridHeight(session, numberOfGrids=1.6, delta=35),
                                               "@totalCount": totalcount,
                                               "@profile": "default.properties"},
                                "labels": {"header": header}
                                }
    # Добавляем поля для отображения в gridsettings
    settings["gridsettings"]["columns"]["col"].append({"@id": _header["id"][0],
                                                       "@width": "80px"})
    settings["gridsettings"]["columns"]["col"].append({"@id": _header["description"][0],
                                                       "@width": "400px"})

    res = XMLJSONConverter.jsonToXml(json.dumps(settings))
    return JythonDTO(None, res)
コード例 #2
0
def rolesCount(context,
               main=None,
               add=None,
               filterinfo=None,
               session=None,
               params=None,
               curvalue="",
               startswith=False):
    roles = RolesCursor(context)
    roles.setFilter(
        'description',
        "@%s'%s'%%" % ("%" * (not startswith), curvalue.replace("'", "''")))
    count = roles.count()
    # raise Exception(count)
    return ResultSelectorData(None, count)
コード例 #3
0
def rolesCount(context,
               main=None,
               add=None,
               filterinfo=None,
               session=None,
               params=None,
               curvalue=None,
               startswith=None):
    u'''Функция count для селектора выбора ролей. '''

    #specialRoles = ["!'editor'", "!'reader'"]
    roles = RolesCursor(context)
    roles.setFilter(
        'id', """!'editor'&!'reader'&@%s'%s'%%""" %
        ("%" * (not startswith), curvalue.replace("'", "''")))

    count = roles.count()

    return ResultSelectorData(None, count)
コード例 #4
0
def gridMeta(context,
             main=None,
             add=None,
             filterinfo=None,
             session=None,
             elementId=None):
    u'''Функция получения настроек грида. '''

    roles = RolesCursor(context)
    # Вычисляем количества записей в таблице
    totalcount = roles.count()
    # Заголовок таблицы
    header = "Роли"

    _header = {
        "id": ["~~id"],
        "roleId": [u"Роль"],
        "description": [u"Описание"],
        "exists": [u" "],
        "properties": [u"properties"]
    }
    # Определяем список полей таблицы для отображения
    settings = {}
    currentDatapanelHeight = int(
        json.loads(session)["sessioncontext"]["currentDatapanelHeight"])
    # Вычисляем numberOfGrids, где 2.1 - numberOfGrids для первого грида customPermissions.py из датапанели
    # 60 - gridHeaderHeight для обоих гридов, 134 - суммарная дельта
    numberOfGrids = ((currentDatapanelHeight - 60) * 2.1) / (
        2.1 * currentDatapanelHeight - 2.1 * 134 - currentDatapanelHeight + 60)
    settings["gridsettings"] = {
        "columns": {
            "col": []
        },
        "properties": {
            "@pagesize": "50",
            "@gridWidth": "100%",
            "@gridHeight": getGridHeight(session, numberOfGrids, 60, 67),
            "@totalCount": totalcount,
            "@profile": "editableGrid.properties"
        },
        "labels": {
            "header": header
        }
    }
    # Добавляем поля для отображения в gridsettings
    settings["gridsettings"]["columns"]["col"].append({
        "@id":
        _header["exists"][0],
        "@width":
        "33px",
        "@readonly":
        "false",
        "@editor":
        "{editor: 'checkbox'}"
    })
    settings["gridsettings"]["columns"]["col"].append({
        "@id":
        _header["roleId"][0],
        "@width":
        "80px",
        "@readonly":
        "true"
    })
    settings["gridsettings"]["columns"]["col"].append({
        "@id":
        _header["description"][0],
        "@width":
        "400px",
        "@readonly":
        "true"
    })
    res = XMLJSONConverter.jsonToXml(json.dumps(settings))
    return JythonDTO(None, res)