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
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
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
def get_contact(self, contact_id): contact = Contact.get_by_key(contact_id) return contact
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