def submit_success(self, appstruct): if self.factory is None: raise Exception("Forgot to set the factory attribute") name = appstruct['name'] phase_id = appstruct['phase_id'] phase = Phase.get(phase_id) project_id = appstruct['project_id'] project = Project.get(project_id) customer_id = appstruct['customer_id'] customer = Customer.get(customer_id) new_object = self.factory( self.context.company, customer, project, phase, self.request.user, ) new_object.name = name if hasattr(self, "_more_init_attributes"): self._more_init_attributes(new_object, appstruct) self.dbsession.add(new_object) self.dbsession.flush() if hasattr(self, "_after_flush"): self._after_flush(new_object) url = self.request.route_path("/%ss/{id}" % new_object.type_, id=new_object.id) return HTTPFound(url)
def submit_success(self, appstruct): logger.debug("# Duplicating a document #") name = appstruct['name'] phase_id = appstruct['phase_id'] phase = Phase.get(phase_id) project_id = appstruct['project_id'] project = Project.get(project_id) customer_id = appstruct['customer_id'] customer = Customer.get(customer_id) task = self.context.duplicate( self.request.user, project, phase, customer, ) task.name = name task.course = appstruct['course'] self.dbsession.add(task) self.dbsession.flush() logger.debug( u"The {t.type_} {t.id} has been duplicated to {new_t.id}".format( t=self.context, new_t=task)) return HTTPFound( self.request.route_path('/%ss/{id}' % self.context.type_, id=task.id))
def submit_success(self, appstruct): if self.factory is None: raise Exception("Forgot to set the factory attribute") project_id = appstruct.pop('project_id') appstruct['project'] = Project.get(project_id) customer_id = appstruct.pop('customer_id') appstruct['customer'] = Customer.get(customer_id) new_object = self.factory( user=self.request.user, company=self.context.company, **appstruct ) if hasattr(self, "_more_init_attributes"): self._more_init_attributes(new_object, appstruct) self.dbsession.add(new_object) self.dbsession.flush() if hasattr(self, "_after_flush"): self._after_flush(new_object) url = self.request.route_path( "/%ss/{id}" % new_object.type_, id=new_object.id ) return HTTPFound(url)
def submit_success(self, appstruct): logger.debug("# Duplicating a document #") project_id = appstruct.pop('project_id') appstruct['project'] = Project.get(project_id) customer_id = appstruct.pop('customer_id') appstruct['customer'] = Customer.get(customer_id) task = self.context.duplicate( user=self.request.user, **appstruct ) if hasattr(self, "_after_task_duplicate"): self._after_task_duplicate(task, appstruct) self.dbsession.add(task) self.dbsession.flush() logger.debug( u"The {t.type_} {t.id} has been duplicated to {new_t.id}".format( t=self.context, new_t=task ) ) return HTTPFound( self.request.route_path( '/%ss/{id}' % self.context.type_, id=task.id ) )
def submit_success(self, appstruct): if self.factory is None: raise Exception("Forgot to set the factory attribute") project_id = appstruct.pop('project_id') appstruct['project'] = Project.get(project_id) customer_id = appstruct.pop('customer_id') appstruct['customer'] = Customer.get(customer_id) new_object = self.factory( user=self.request.user, company=self.context.company, **appstruct ) if hasattr(self, "_more_init_attributes"): self._more_init_attributes(new_object, appstruct) self.dbsession.add(new_object) self.dbsession.flush() if hasattr(self, "_after_flush"): self._after_flush(new_object) url = self.request.route_path( "/%ss/{id}" % new_object.type_, id=new_object.id ) return HTTPFound(url)
def submit_success(self, appstruct): logger.debug("# Duplicating a document #") project_id = appstruct.pop('project_id') appstruct['project'] = Project.get(project_id) customer_id = appstruct.pop('customer_id') appstruct['customer'] = Customer.get(customer_id) task = self.context.duplicate( user=self.request.user, **appstruct ) if hasattr(self, "_after_task_duplicate"): self._after_task_duplicate(task, appstruct) self.dbsession.add(task) self.dbsession.flush() logger.debug( u"The {t.type_} {t.id} has been duplicated to {new_t.id}".format( t=self.context, new_t=task ) ) return HTTPFound( self.request.route_path( '/%ss/{id}' % self.context.type_, id=task.id ) )
def pre_duplicate_process(self, task, status, params): """ Common pre process method for document duplication """ form = get_duplicate_form(self.request) # if an error is raised here, it will be cached a level higher appstruct = form.validate(params.items()) logger.debug(u" * Form has been validated") customer_id = appstruct.get('customer') customer = Customer.get(customer_id) project_id = appstruct.get('project') project = Project.get(project_id) phase_id = appstruct.get('phase') phase = Phase.get(phase_id) logger.debug(u" * Phase : %s" % phase) logger.debug(u" * Project : %s" % project) appstruct['phase'] = phase appstruct['project'] = project appstruct['customer'] = customer appstruct['user'] = self.request.user return appstruct
def pre_duplicate_process(self, task, status, params): """ Common pre process method for document duplication """ form = get_duplicate_form(self.request) # if an error is raised here, it will be cached a level higher appstruct = form.validate(params.items()) log.debug(u" * Form has been validated") customer_id = appstruct.get('customer') customer = Customer.get(customer_id) project_id = appstruct.get('project') project = Project.get(project_id) phase_id = appstruct.get('phase') phase = Phase.get(phase_id) log.debug(u" * Phase : %s" % phase) log.debug(u" * Project : %s" % project) appstruct['phase'] = phase appstruct['project'] = project appstruct['customer'] = customer appstruct['user'] = self.request.user return appstruct