# coding: utf-8 ''' Created on 23.10.2014 @author: d.bozhenko ''' from security._security_orm import customPermsCursor, customPermsTypesCursor, rolesCustomPermsCursor from common._common_orm import numbersSeriesCursor, linesOfNumbersSeriesCursor import datetime #from java.text import SimpleDateFormat def securityInit(context): u"""Функция устанавливает необходимые для работы гранулы значения таблиц: numbersSeries linesOfNumbersSeries customPermsTypes customPerms rolesCustomPerms """ numbersSeries = numbersSeriesCursor(context) linesOfNumbersSeries = linesOfNumbersSeriesCursor(context) numbersSeries.id = 'subjects' numbersSeries.description = 'subjects' if not numbersSeries.tryInsert(): numbersSeries.update() if not linesOfNumbersSeries.tryGet('subjects', 1): # sdf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") now = datetime.datetime.now()#fromtimestamp(time.time()).strftime("%Y-%m-%d %H:%M:%S") linesOfNumbersSeries.seriesId = 'subjects' linesOfNumbersSeries.numberOfLine = 1 linesOfNumbersSeries.startingDate = now#sdf.parse(now) linesOfNumbersSeries.startingNumber = 10 linesOfNumbersSeries.endingNumber = 100000 linesOfNumbersSeries.incrimentByNumber = 1 linesOfNumbersSeries.isOpened = True linesOfNumbersSeries.prefix = 'subject-' linesOfNumbersSeries.postfix = '-' linesOfNumbersSeries.isFixedLength = False linesOfNumbersSeries.insert() # Добавили серии номеров для таблицы subjects customPermsTypes = customPermsTypesCursor(context) if not customPermsTypes.tryGet('navigator'): customPermsTypes.name='navigator' customPermsTypes.description=u'Пункты меню навигатора' customPermsTypes.insert() # Добавили (если еще нет) тип разрешений "Пункты меню навигатора" customPerms = customPermsCursor(context) if not customPerms.tryGet('loginsSubjectsPoint'): customPerms.name='loginsSubjectsPoint' customPerms.description=u'Разрешение на отображение пункта меню Сотрудники и Пользователи' customPerms.type='navigator' customPerms.insert() if not customPerms.tryGet('rolesPoint'): customPerms.name='rolesPoint' customPerms.description=u'Разрешение на отображение пункта меню Роли' customPerms.type='navigator' customPerms.insert() if not customPerms.tryGet('permissionsPoint'): customPerms.name='permissionsPoint' customPerms.description=u'Разрешение на отображение пункта меню Разрешения' customPerms.type='navigator' customPerms.insert() if not customPerms.tryGet('numbersSeriesPoint'): customPerms.name='numbersSeriesPoint' customPerms.description=u'Разрешение на отображение пункта меню Серии номеров' customPerms.type='navigator' customPerms.insert() # Добавили (если еще нет) разрешения на отображения пунктов меню гранул common и security rolesCustomPerms = rolesCustomPermsCursor(context) if not rolesCustomPerms.tryGet('editor', 'loginsSubjectsPoint'): rolesCustomPerms.roleid='editor' rolesCustomPerms.permissionId='loginsSubjectsPoint' rolesCustomPerms.insert() if not rolesCustomPerms.tryGet('editor', 'rolesPoint'): rolesCustomPerms.roleid='editor' rolesCustomPerms.permissionId='rolesPoint' rolesCustomPerms.insert() if not rolesCustomPerms.tryGet('editor', 'permissionsPoint'): rolesCustomPerms.roleid='editor' rolesCustomPerms.permissionId='permissionsPoint' rolesCustomPerms.insert() if not rolesCustomPerms.tryGet('editor', 'numbersSeriesPoint'): rolesCustomPerms.roleid='editor' rolesCustomPerms.permissionId='numbersSeriesPoint' rolesCustomPerms.insert() #Привязываем добавленные разрешения к роли editor # Уже неактуально, так как функция userHasPermission возвращает True в любом случае, если роль - editor