예제 #1
0
 def update_contact(self, contact, modifier_id):
     ct = Contact.get_by_key(contact.uid)
     if ct.is_trashed : 
         raise Error("cont_error_trashedupdate")
     if ct.creator_id != modifier_id:
         raise Error("cont_error_updatesharedcontact")
     contact = self.link_contact_to_user(contact, contact.bind_user_account)        
     contact.put(modifier_id)
     self.create_contactgroups(contact.key(), contact.group_ids, modifier_id)
     return contact
예제 #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
예제 #3
0
 def trash_contacts(self, contact_ids, is_trashed, modifier_id):
     for contact_id in contact_ids:
         contact = Contact.get_by_key(contact_id)
         contact.is_trashed = is_trashed
         contact.put(modifier_id)
     return True
예제 #4
0
 def get_contact(self, contact_id):
     contact = Contact.get_by_key(contact_id)
     return contact
예제 #5
0
 def recover_contact(self, contact_id, modifier_id):
     ct = Contact.get_by_key(contact_id)
     ct.is_trashed = False
     ct.put(modifier_id)
     return ct