def get(self, *args, **kwargs): app = self.checkAppAccess(args) appService = AppService(self.application.getAppConfigPath()) appConfig = appService.getNewAppConfig(app.code) dbSession = self.getDBSession() baseTask = self.get_argument("baseOn", False) template = self.get_argument("template", False) nameConstructor = NameConstructor(appConfig) if baseTask: # задача основана на другой задаче worker = dbSession.query(Worker).filter_by(workerId=baseTask).first() workerService = WorkerService(self.application.getResultPath(), worker) task = workerService.getTask() # fix indexes for index, taskItem in enumerate(task.getTaskItems()): taskItem.index = index if not taskItem.name: taskItem.name = nameConstructor.getTaskItemName(taskItem) elif template: templateId = int(template) userId = self.get_current_user().userId taskTemplate = ( dbSession.query(TaskTemplate) .filter( and_( TaskTemplate.taskTemplateId == templateId, or_(TaskTemplate.userId == userId, TaskTemplate.shared == TaskTemplate.SHARED_YES), ) ) .first() ) if taskTemplate: taskTemplateFile = TaskTemplateFile.read(self.application.getTemplatePath(), taskTemplate) task = taskTemplateFile.getTask() else: self.showFatalError(u"Ошибка при доступе к шаблону") return else: task = Task(appname=app.code) eventsLoaded = len(task.items) html = self.render("dashboard/new.jinja2", {"task": task, "app": app, "appConfig": appConfig}, _return=True) self.renderJSON({"html": html, "vars": {"eventLoaded": eventsLoaded}})
def post(self, *args, **kwargs): eventCode = self.get_argument('eventCode', None) appCode = self.get_argument('appCode', None) index = self.get_argument('index', 1) taskItem = TaskItem(index = index, key = eventCode) appService = AppService(self.application.getAppConfigPath()) appConfig = appService.getNewAppConfig(appCode) nameConstructor = NameConstructor(appConfig) taskItem.name = nameConstructor.getTaskItemName(taskItem) self.render('dashboard/taskForm/eventFormItem.jinja2', { 'taskItem': taskItem, 'appConfig': appConfig, 'values':{ } })