def handle_delete(self, action): title = self.context.Title() parent = aq_parent(aq_inner(self.context)) # Objects to be deleted dsobjs = [self.context] # FIXME: would be faster to deal with brains here instead of objects if hasattr(self.context, "parts"): dsobjs += [uuidToObject(ds) for ds in self.context.parts] stats = getUtility(IStatsUtility) for context in dsobjs: # removed file working on frontend Javascript if hasattr(context, "file"): context.file = None # FIXME: we should probably delete it instead of marking it as REMOVED jt = IJobTracker(context) if (jt.state != 'REMOVED'): jt.state = 'REMOVED' context.reindexObject() # collect stats stats.count_dataset(source=context.dataSource, portal_type=context.portal_type, state='REMOVED') ##### IStatusMessage(self.request).add( u'{0[title]} has been removed.'.format({u'title': title})) self.request.response.redirect(parent.absolute_url())
def test_job_state_change(self): portal = self.layer['portal'] job = self._create_new_job() content = portal['d1'] job.content = IUUID(content) self.assertEqual(job.state, 'PENDING') job_tool = getUtility(IJobUtility) job_tool.reindex_job(job) # get job tracker for content jt = IJobTracker(content) # check if we get the same job self.assertEqual(job, jt.get_job()) # progress state jt.state = 'COMPLETED' self.assertEqual(job.state, 'COMPLETED') # but we can't move back jt.state = 'RUNNING' self.assertEqual(job.state, 'COMPLETED')
def test_job_state_change(self): portal = self.layer['portal'] job = self._create_new_job() content = portal['d1'] job.content = IUUID(content) self.assertEqual(job.state, 'PENDING') job_tool = getUtility(IJobUtility) job_tool.reindex_job(job) # get job tracker for content jt = IJobTracker(content) # check if we get the same job self.assertEqual(job, jt.get_job()) # progress state jt.state = 'COMPLETED' self.assertEqual(job.state, 'COMPLETED') # but we can't move back jt.state = 'RUNNING' self.assertEqual(job.state, 'COMPLETED')
def handle_delete(self, action): title = self.context.Title() parent = aq_parent(aq_inner(self.context)) # removed file working on frontend Javascript if hasattr(self.context, "file"): self.context.file = None # FIXME: we should probably delete it instead of marking it as REMOVED jt = IJobTracker(self.context) jt.state = 'REMOVED' self.context.reindexObject() ##### IStatusMessage(self.request).add( u'{0[title]} has been removed.'.format({u'title': title})) self.request.response.redirect(parent.absolute_url())