Exemple #1
0
    def fetch_tasks(self, user_id, group_id, worksheet_ids, assignee_ids):

        if group_id is not None:
            my_group_ids = ContactService.get_instance().fetch_my_groups(user_id, onlyrtnids=True)
            if group_id not in my_group_ids:
                raise UnauthorizedError()
            worksheet_ids = self.fetch_worksheet_ids(group_id, worksheet_ids=worksheet_ids)
            assignee_ids = self.fetch_assignee_ids(group_id, assignee_ids=assignee_ids)
        else:
            my_worksheet_ids = TaskService.get_instance().fetch_my_worksheets(user_id, onlyrtnids=True)
            worksheet_ids = list(set(worksheet_ids).intersection(set(my_worksheet_ids)))

        query = Task.all("a")
        query.what("a.uid")
        query.what("a.t_subject")
        query.what("a.due_startdate")
        query.what("a.due_finishdate")
        query.what("a.actual_progress")
        query.what("a.actual_startdate")
        query.what("a.actual_finishdate")
        query.what("a.t_status_code")
        query.what("a.assignee_id")
        if worksheet_ids != None and len(worksheet_ids) > 0:
            query.filter("a.worksheet_id in", worksheet_ids, wrapper=False)
        if assignee_ids != None and len(assignee_ids) > 0:
            query.filter("a.assignee_id in", assignee_ids, wrapper=False)
        tasks = query.fetch()
        return tasks
Exemple #2
0
 def delete_contact(self, contact_id, modifier_id):
     contact = Contact.get_by_key(int(contact_id))
     if contact.is_trashed:
         contact.delete(modifier_id)
         self.delete_contactgroups(modifier_id, contact_id=contact_id)
     else:
         if contact.creator_id != modifier_id:
             raise Error("cont_error_deletesharedcontact")
         
         query = Task.all()
         query.filter("assignee_id =", contact_id)
         query.filter("is_trashed =", False)
         if query.count() > 0:
             raise Error('cont_error_assignedtasks')
         else:
             self.trash_contacts([contact.uid], True, modifier_id)
     return True