/** * Delete this company from database * * @param void * @return boolean */ function delete() { db_begin_work(); $delete = parent::delete(); if ($delete && !is_error($delete)) { cache_remove('companies_id_name'); // remove ID - name map from cache $users = $this->getUsers(); if (is_foreachable($users)) { foreach ($users as $user) { $user->delete(); } // foreach } // if Projects::resetByCompany($this); db_commit(); } else { db_rollback(); } // if return $delete; }
/** * Delete this company and all related data * * @access public * @param void * @return boolean * @throws Error */ function delete() { if ($this->isOwner()) { throw new Error(lang('error delete owner company')); } // if $contacts = $this->getContacts(); if (is_array($contacts) && count($contacts)) { foreach ($contacts as $contact) { $contact->delete(); } } // if ProjectCompanies::clearByCompany($this); $this->deleteLogo(); return parent::delete(); }