Exemplo n.º 1
0
    /**
     * Copy COA structure from another project
     * @param $projectID
     * @param $projectFromCopyId
     * @return CoaStructure
     */
    public static function copyProjectCoaStructure($project_from_id, $project_to_id)
    {
        $project_from_id = intval($project_from_id);
        $project_to_id = intval($project_to_id);

        $coaStructure = CoaStructure::model()->findByAttributes(array(
            'Project_ID' => $project_from_id,
        ));

        $coaStructureTo = CoaStructure::model()->findByAttributes(array(
            'Project_ID' => $project_to_id,
        ));
        if (!$coaStructureTo) {
            $coaStructureTo = new CoaStructure();
        }


        if ($coaStructure !== null && $coaStructureTo !== null) {
            $coaStructureTo = clone $coaStructure;
            $coaStructureTo->Project_ID = $project_to_id;
            $coaStructureTo->setPrimaryKey($project_to_id);
            if ($coaStructureTo->validate()) {
                $coaStructureTo->save();

                Projects::updateCoaParams($project_to_id, $coaStructure->COA_Allow_Manual_Coding, $coaStructure->COA_Break_Character, $coaStructure->COA_Break_Number);
            }
        }

        return $coaStructureTo;
    }