Ejemplo n.º 1
0
 def delete_task(self, task_id, modifier_id):
     task = Task.get_by_key(int(task_id))
     if task.is_trashed:
         tag.delete_tagmodels(modifier_id, model_nk=(Task.get_modelname(), task.uid), modifier_id=modifier_id)
         filex.delete_files(task.creator_id, model_nk=(Task.get_modelname(), task.uid), modifier_id=modifier_id)
         self.delete_taskcomments(task_id, modifier_id)
         self.delete_taskversions(modifier_id, task_id=task.key(), is_affected=None)
         self.delete_taskcomponents(modifier_id, task_id=task.key())
         mclog.delete_mclogs(Task.get_modelname(), task.key(), modifier_id)
         task.delete(modifier_id)
     else:
         if task.creator_id != modifier_id:
             raise Error("task_error_deletesharedtask")
         self.trash_tasks([task.uid], True, modifier_id)
     return True
Ejemplo n.º 2
0
 def empty_trash(self, user_id, modifier_id):
     query = Task.all()
     query.filter("is_trashed =", True)
     query.filter("creator_id =", user_id)
     tasks = query.fetch()
     for task in tasks:
         self.delete_task(task.key(), modifier_id)
     return True
Ejemplo n.º 3
0
 def delete_worksheet(self, worksheet_id, modifier_id):
     worksheet = Worksheet.get_by_key(worksheet_id)
     worksheet.delete(modifier_id)
     query = Task.all()
     query.filter("worksheet_id =", worksheet_id)
     query.set("worksheet_id", EMPTY_UID)
     query.set("is_trashed", True)
     query.update(modifier_id)
     query = Worksheet.all()
     return True
Ejemplo n.º 4
0
 def fetch_tasks(self, user_id, whats=None, filters=None, limit=20, offset=0):
     def append_filters(query):
         for ft in filters:
             for (key, value) in ft.items():
                 for nr in TASKRESOLVERS:
                     nrinst = nr(key, value)
                     query.extend(nrinst, user_id=user_id)
     
     if whats == None:
         query = Task.all(alias="a")
         for key in Task.get_properties(persistent=True).keys():
             query.what("a.%s" % key, alias=key)
     else:
         query = stdModel.all()
         query.model(Task.get_modelname(), alias="a")
         for what in whats:
             query.what("a.%s" % what, alias=what)
     
     query.select("DISTINCT")
     query.what("a.uid", alias="uid")
     
     worksheet_ids = self.fetch_my_worksheets(user_id, onlyrtnids=True)
     if len(worksheet_ids) > 0:
         query.filter("a.worksheet_id in", worksheet_ids, parenthesis="(")
         query.filter("a.creator_id =", user_id, logic="or", parenthesis=")")
     else:
         query.filter("a.creator_id =", user_id)
     
     query.order("-a.uid")
     if filters is not None:
         append_filters(query)
     
     if not query.has_filter("a.is_trashed"):
         query = query.filter("a.is_trashed =", False)
     
     def task_proc(task):
         task.mclogs = mclog.fetch_mclogs(Task.get_modelname(), task.key(), worksheet_id=self.get_worksheet_name, assignee_id=ContactService.get_instance().get_contact_name)
         task.taskComments = self.fetch_taskcomments(task.key())
         
     pager = query.fetch(limit, offset, paging=True, model_proc=task_proc)
     return pager
Ejemplo n.º 5
0
 def get_taskcount(self, is_trashed, user_id, worksheet_id=None, is_complete=None , ex_assignee_id=None):
     query = Task.all()
     query.filter("is_trashed =", is_trashed)
     if worksheet_id != None and worksheet_id != model.EMPTY_UID:
         query.filter("worksheet_id =", worksheet_id)
     elif worksheet_id == model.EMPTY_UID:
         query.filter("worksheet_id =", worksheet_id)
         query.filter("creator_id =", user_id)
     else:
         query.filter("creator_id =", user_id)
     if is_complete != None and is_complete == True:
         query.filter("t_status_code =", 'task_code_closed')
     if is_complete != None and is_complete != True:
         query.filter("t_status_code !=", 'task_code_closed')
     if ex_assignee_id != None:
         query.filter("assignee_id !=", ex_assignee_id)
     
     return query.count()
Ejemplo n.º 6
0
 def update_task(self, task, modifier_id):
     nt = Task.get_by_key(task.uid)
     if task.creator_id != modifier_id and nt.worksheet_id != task.worksheet_id:
         raise Error("task_error_movesharedtask")
     if nt.is_trashed : 
         raise Error("task_error_trashed_update")
     if task.t_status_code == 'task_code_closed':
         task.actual_finishdate = dtutil.localtoday(conf.get_preferred_timezone())
         if nt.actual_startdate is None:
             task.actual_startdate = dtutil.localtoday(conf.get_preferred_timezone())
     else:
         task.actual_finishdate = None
    
     if task.t_status_code == 'task_code_inprogress' and nt.t_status_code != 'task_code_inprogress' and task.actual_startdate != None:
         task.actual_startdate = dtutil.localtoday(conf.get_preferred_timezone())
     task.put(modifier_id)
     self.create_taskcomponents(task.key(), task.component_ids, modifier_id)
     self.create_taskversions(task.key(), task.affected_version_ids, True, modifier_id)
     self.create_taskversions(task.key(), task.fixed_version_ids, False, modifier_id)
     return task
Ejemplo n.º 7
0
 def trash_tasks(self, task_ids, is_trashed, modifier_id):
     for task_id in task_ids:
         task = Task.get_by_key(task_id)
         task.is_trashed = is_trashed
         task.put(modifier_id)
     return True
Ejemplo n.º 8
0
 def get_task(self, task_id):
     task = Task.get_by_key(task_id)
     return task
Ejemplo n.º 9
0
 def __init__(self, **kwa):
     Task.__init__(self)
     PeakProjector.__init__(self, **kwa)
Ejemplo n.º 10
0
 def __init__(self, **kwa):
     GELSPeakAlignment.__init__(self, **kwa)
     Task.__init__(self, **kwa)
Ejemplo n.º 11
0
 def __init__(self, **kwa):
     MinBiasPeakAlignment.__init__(self, **kwa)
     Task.__init__(self, **kwa)
Ejemplo n.º 12
0
 def __init__(self, **kwa):
     Task.__init__(self)
     super().__init__(**kwa)
Ejemplo n.º 13
0
 def __init__(self, **_):
     Task.__init__(self, **_)
     FixedBeadDetection.__init__(self, **_)
Ejemplo n.º 14
0
 def __init__(self, **kw) -> None:
     EventDetectionConfig.__init__(self, **kw)
     Task.__init__(self)
Ejemplo n.º 15
0
 def task_proc(task):
     task.mclogs = mclog.fetch_mclogs(Task.get_modelname(), task.key(), worksheet_id=self.get_worksheet_name, assignee_id=ContactService.get_instance().get_contact_name)
     task.taskComments = self.fetch_taskcomments(task.key())
Ejemplo n.º 16
0
 def recover_task(self, task_id, worksheet_id, modifier_id):
     task = Task.get_by_key(task_id)
     task.is_trashed = False
     task.worksheet_id = worksheet_id
     task.put(modifier_id)
     return task
Ejemplo n.º 17
0
 def move_task(self, task_id, worksheet_id, modifier_id):
     task = Task.get_by_key(task_id)
     task.worksheet_id = int(worksheet_id)
     task.put(modifier_id)
     return task
Ejemplo n.º 18
0
 def __init__(self, **kwa):
     Task.__init__(self)
     PeakSelector.__init__(self, **kwa)
Ejemplo n.º 19
0
 def __init__(self, **kwa):
     Task.__init__(self)
     EventDetectionConfig.__init__(self, **kwa)