Example #1
0
    /**
     * Delete PO with rows in relative tables
     * @param $poId
     */
    public static function deletePO($poId)
    {
        $po = Pos::model()->with('document.image')->findByPk($poId);
        if ($po) {
            $document = $po->document;
            $image = $document->image;
            $image->delete();
            $document->delete();

            PoDists::model()->deleteAllByAttributes(array(
                'PO_ID' => $poId,
            ));

            PoDescDetail::model()->deleteAllByAttributes(array(
                'PO_ID' => $poId,
            ));

            PoPmtsTraking::model()->deleteAllByAttributes(array(
                'PO_ID' => $poId,
            ));

            // delete thumbnail
            $filePath = 'protected/data/thumbs/' . $po->Document_ID . '.jpg';
            if (file_exists($filePath)) {
                @unlink($filePath);
            }

            // delete library links
            LibraryDocs::deleteDocumentLinks($po->Document_ID);

            $po->delete();
        }
    }
Example #2
0
    /**
     * Save PO Details
     * @param $poId
     * @param $detailsToSave
     * @return bool
     */
    public static function savePODetails($poId, $detailsToSave)
    {
        PoDescDetail::model()->deleteAllByAttributes(array(
            'PO_ID' => $poId,
        ));

        $detailsToSave = array_slice($detailsToSave,0, 50, true); // only 50 items allowed
        foreach ($detailsToSave as $detailToSave) {
            $newDetail = new PoDescDetail();
            $newDetail->PO_ID = $poId;

            if ($detailToSave['PO_Desc_Qty'] == '') {
                $newDetail->PO_Desc_Qty = 0;
            } else {
                $newDetail->PO_Desc_Qty = intval($detailToSave['PO_Desc_Qty']);
            }

            if ($detailToSave['PO_Desc_Desc'] == '') {
                $newDetail->PO_Desc_Desc = '-';
            } else {
                $newDetail->PO_Desc_Desc = $detailToSave['PO_Desc_Desc'];
            }

            if ($detailToSave['PO_Desc_Purchase_Rental'] == 0) {
                $newDetail->PO_Desc_Purchase = 1;
                $newDetail->PO_Desc_Rental = 0;
            } else {
                $newDetail->PO_Desc_Purchase = 0;
                $newDetail->PO_Desc_Rental = 1;
            }

            if ($detailToSave['PO_Desc_Amount'] == '' || $detailToSave['PO_Desc_Amount'] == 0) {
                $newDetail->PO_Desc_Amount = 0;
            } else {
                $newDetail->PO_Desc_Amount = number_format(floatval($detailToSave['PO_Desc_Amount']), 2, '.', '');
            }

            if ($detailToSave['PO_Desc_Budget_Line_Num'] == '') {
                $newDetail->PO_Desc_Budget_Line_Num = null;
            } else {
                $newDetail->PO_Desc_Budget_Line_Num = $detailToSave['PO_Desc_Budget_Line_Num'];
            }


            if ($newDetail->validate()) {
                $newDetail->save();
                $result = true;
            } else {
                $result = false;
            }

        }
        return $result;
    }