/** * Copy COAs from another project * @param $clientID * @param $projectID * @param $clientFromCopyId * @param $projectFromCopyId */ public static function copyCOAs($clientID, $projectID, $client_to_id, $project_to_id) { $clientID = intval($clientID); $projectID = intval($projectID); $project_to_id = intval($project_to_id); $client_to_id = intval($client_to_id); $coasToCopy = Coa::getClientsCOAs($clientID, $projectID); foreach($coasToCopy as $coaToCopy) { $coaClass = CoaClass::model()->findByAttributes(array( 'Project_ID' => $project_to_id, 'Class_Shortcut' => $coaToCopy->class->Class_Shortcut, )); if ($coaClass) { $coa = Coa::model()->findByAttributes(array( 'Project_ID' => $project_to_id, 'COA_Acct_Number' => $coaToCopy->COA_Acct_Number, )); if (!$coa) { $coa = new Coa(); $coa->COA_Budget = 0; $coa->COA_Current_Total = 0; } $coa->Client_ID = $client_to_id; $coa->COA_Acct_Number = $coaToCopy->COA_Acct_Number; $coa->Project_ID = $project_to_id; $coa->COA_Name = $coaToCopy->COA_Name; $coa->COA_Class_ID = $coaClass->COA_Class_ID; if ($coa->validate()) { $coa->save(); } } } }