コード例 #1
0
 /**
  * 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;
 }
コード例 #2
0
 /**
  * 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();
 }