/** * Add document to folder * @param $docId * @param null $vendorID */ public static function addDocumentToFolder($docId, $vendorID = null) { $document = Documents::model()->findByPk($docId); if ($document) { $year = substr($document->Created, 0, 4); Storages::createProjectStorages($document->Project_ID, $year); $subsectionId = 0; if ($document->Document_Type == Documents::PM) { $payment = Payments::model()->findByAttributes(array( 'Document_ID' => $docId, )); $year = substr($payment->Payment_Check_Date, 0, 4); $subsectionId = Sections::createVendorFolder($document->Project_ID, $payment->Vendor_ID, $year); } elseif ($document->Document_Type == Documents::AP) { $ap = Aps::model()->findByAttributes(array( 'Document_ID' => $docId, )); $year = substr($ap->Invoice_Date, 0, 4); $subsectionId = Sections::createVendorFolder($document->Project_ID, $ap->Vendor_ID, $year); if ($ap->AP_Backup_Document_ID != 0) { $bu = LibraryDocs::model()->findByAttributes(array( 'Document_ID' => $ap->AP_Backup_Document_ID, 'Subsection_ID' => $subsectionId, )); if (!$bu) { $libDoc = new LibraryDocs(); $libDoc->Document_ID = $ap->AP_Backup_Document_ID; $libDoc->Subsection_ID = $subsectionId; $libDoc->Access_Type = Storages::HAS_ACCESS; $libDoc->Sort_Numb = 0; if ($libDoc->validate()) { $libDoc->save(); } } } } elseif ($document->Document_Type == Documents::PO) { $po = Pos::model()->findByAttributes(array( 'Document_ID' => $docId, )); $year = substr($po->PO_Date, 0, 4); $subsectionId = Sections::createVendorFolder($document->Project_ID, $po->Vendor_ID, $year); if ($po->PO_Backup_Document_ID != 0) { $bu = LibraryDocs::model()->findByAttributes(array( 'Document_ID' => $po->PO_Backup_Document_ID, 'Subsection_ID' => $subsectionId, )); if (!$bu) { $libDoc = new LibraryDocs(); $libDoc->Document_ID = $po->PO_Backup_Document_ID; $libDoc->Subsection_ID = $subsectionId; $libDoc->Access_Type = Storages::HAS_ACCESS; $libDoc->Sort_Numb = 0; if ($libDoc->validate()) { $libDoc->save(); } } } } elseif ($document->Document_Type == Documents::BU) { //get po or ap date $ap = Aps::model()->findByAttributes(array( 'AP_Backup_Document_ID' => $docId, )); if ($ap) { $year = substr($ap->Invoice_Date, 0, 4); } else { $po = Pos::model()->findByAttributes(array( 'PO_Backup_Document_ID' => $docId, )); if ($po) { $year = substr($po->PO_Date, 0, 4); } } $subsectionId = Sections::createVendorFolder($document->Project_ID, $vendorID, $year); } elseif ($document->Document_Type == Documents::PR) { $payroll = Payrolls::model()->findByAttributes(array( 'Document_ID' => $document->Document_ID, )); $year = substr($payroll->Week_Ending, 0, 4); $subsectionId = Sections::createPayrollFolder($document->Project_ID, $year, $payroll->Week_Ending); } elseif ($document->Document_Type == Documents::JE) { $je = Journals::model()->findByAttributes(array( 'Document_ID' => $document->Document_ID, )); $subsectionId = Sections::createJournalEntryFolder($document->Project_ID, $je->JE_Date); } elseif ($document->Document_Type == Documents::PC) { $pc = Pcs::model()->findByAttributes(array( 'Document_ID' => $document->Document_ID, )); $year = substr($pc->Envelope_Date, 0, 4); $subsectionId = Sections::createPettyCashFolder($document->Project_ID, $year, $pc->Employee_Name); } elseif ($document->Document_Type == Documents::AR) { $ar = Ars::model()->findByAttributes(array( 'Document_ID' => $document->Document_ID, )); $year = substr($ar->Invoice_Date, 0, 4); $subsectionId = Sections::createAccountsReceivableFolder($document->Project_ID, $year, $ar->Invoice_Date); } $libDoc = LibraryDocs::model()->findByAttributes(array( 'Document_ID' => $docId, 'Subsection_ID' => $subsectionId, )); if (!$libDoc) { $libDoc = new LibraryDocs(); $libDoc->Document_ID = $docId; $libDoc->Subsection_ID = $subsectionId; $libDoc->Access_Type = Storages::HAS_ACCESS; $libDoc->Sort_Numb = 0; if ($libDoc->validate()) { $libDoc->save(); } } LibraryDocs::sortDocumentsInSubsection($subsectionId); } }