* Portions created by SugarCRM are Copyright (C) 2004-2006 SugarCRM, Inc.; * All Rights Reserved. * Contributor(s): ______________________________________. */ require_once 'XTemplate/xtpl.php'; require_once 'data/Tracker.php'; require_once 'modules/Estimates/Estimates.php'; require_once 'include/time.php'; require_once 'modules/Estimates/Forms.php'; global $timedate; global $app_strings; global $app_list_strings; global $current_language; global $current_user; global $sugar_version, $sugar_config; $focus = new Estimates(); if (!empty($_REQUEST['record'])) { $focus->retrieve($_REQUEST['record']); } echo "\n<p>\n"; echo get_module_title($mod_strings['LBL_MODULE_NAME'], $mod_strings['LBL_MODULE_NAME'] . ": " . $focus->name, true); echo "\n</p>\n"; global $theme; $theme_path = "themes/" . $theme . "/"; $image_path = $theme_path . "images/"; require_once $theme_path . 'layout_utils.php'; $GLOBALS['log']->info("Estimates detail view"); $xtpl = new XTemplate('modules/Estimates/ProductSelect.html'); $json = getJSONobj(); $popup_request_data = array('call_back_function' => 'set_return', 'form_name' => 'EditView', 'field_to_name_array' => array('id' => 'product_id', 'name' => 'product_name')); $encoded_product_popup_request_data = $json->encode($popup_request_data);
require_once dirname(dirname(dirname(__FILE__))) . '/modules/Room.class.php'; require_once dirname(dirname(dirname(__FILE__))) . '/modules/Estimates.class.php'; require_once dirname(dirname(dirname(__FILE__))) . '/modules/Dynamo.class.php'; require_once dirname(dirname(dirname(__FILE__))) . '/modules/Tools.class.php'; $propertyId = isset($_GET['propertyId']) ? $_GET['propertyId'] : 0; $estimatesId = isset($_GET['estimatesId']) ? $_GET['estimatesId'] : 0; if ($propertyId != 0 && $estimatesId != 0) { $propertyObj = new Property(); $propertyInfo = $propertyObj->getPropertyInfo($propertyId, false); $roomObj = new Room(); $listRoomTemplates = $roomObj->getRoomTemplates(false); if (!$propertyInfo) { echo "No property found."; return; } $estimatesObj = new Estimates(); $estimatesInfo = $estimatesObj->getEstimateDetails_estimates($estimatesId, false); $disable_room_addition = false; $reportObj = new Report(); $reportId = $reportObj->getPreviousReportId($propertyId, false); if ($reportId) { $reportInfo = $reportObj->getReportDetails($reportId, false); } if (count($reportInfo['rooms']) > 0) { $disable_room_addition = true; } $estimate_room_items_units_obj = new Dynamo("estimate_room_items_units"); $query = "SELECT estimate_room_items_units.*, work_category_estimates.item_name, work_category_estimates.unit_of_measure FROM estimate_room_items_units \n\tINNER JOIN work_category_estimates ON estimate_room_items_units.work_category_estimates_id = work_category_estimates.id \n\tWHERE estimate_room_items_units.estimate_id = " . $estimatesId; $estimate_room_items_units_array = $estimate_room_items_units_obj->customFetchQuery($query); if (count($estimate_room_items_units_array) > 0) { $arrayCount = array();
*/ require_once 'XTemplate/xtpl.php'; require_once 'data/Tracker.php'; require_once 'modules/Estimates/Estimates.php'; require_once 'modules/Products/Products.php'; require_once 'modules/ClientRequest/ClientRequest.php'; require_once 'modules/EstimateComponents/EstimateComponents.php'; require_once 'include/time.php'; require_once 'modules/Estimates/Forms.php'; global $timedate; global $app_strings; global $app_list_strings; global $current_language; global $current_user; global $sugar_version, $sugar_config; $focus = new Estimates(); if (!empty($_REQUEST['record'])) { $focus->retrieve($_REQUEST['record']); } echo "\n<p>\n"; echo get_module_title($mod_strings['LBL_MODULE_NAME'], $mod_strings['LBL_MODULE_NAME'] . ": " . $focus->name, true); echo "\n</p>\n"; global $theme; $theme_path = "themes/" . $theme . "/"; $image_path = $theme_path . "images/"; require_once $theme_path . 'layout_utils.php'; $GLOBALS['log']->info("Estimates detail view"); $xtpl = new XTemplate('modules/Estimates/EditView.html'); /// Users Popup $json = getJSONobj(); $popup_request_data = array('call_back_function' => 'set_return', 'form_name' => 'EditView', 'field_to_name_array' => array('id' => 'assigned_user_id', 'user_name' => 'assigned_user_name'));
<?php require_once dirname(dirname(dirname(__FILE__))) . '/modules/Property.class.php'; require_once dirname(dirname(dirname(__FILE__))) . '/modules/Report.class.php'; require_once dirname(dirname(dirname(__FILE__))) . '/modules/Estimates.class.php'; require_once dirname(dirname(dirname(__FILE__))) . '/modules/Dynamo.class.php'; $propertyId = isset($_GET['propertyId']) ? $_GET['propertyId'] : 0; $report_images = new Dynamo("report_images"); if ($propertyId != 0) { $propertyObj = new Property(); $propertyInfo = $propertyObj->getPropertyInfo($propertyId, false); $estimates_obj = new Dynamo("estimates"); $estimatesArray = $estimates_obj->getAll("WHERE property_id = " . $propertyId . " AND is_saved = 1"); $estimatesArray = $estimatesArray[0]; $reportObj = new Report(); $estimatesObj = new Estimates(); $usersObj = new Dynamo("users"); $array_users = $usersObj->getAllWithId_default(false, "id"); $subContractorsObj = new Dynamo("sub_contractors"); $array_sub_contractors = $subContractorsObj->getAllWithId_default(false, "id"); $companiesObj = new Dynamo("companies"); $array_companies = $companiesObj->getAllWithId_default(false, "id"); $dailyLogsObj = new Dynamo("daily_logs"); /*$reportObj = new Report(); $reports = $reportObj->getReportsSummary($propertyId, false,$array_users,$array_sub_contractors,$array_companies);**/ $reports = $reportObj->getReportsSummary($propertyId, false, $array_users, $array_sub_contractors, $array_companies); $estimates = $estimatesObj->getEstimatesSummary($propertyId, false, $array_users, $array_companies); $daily_logs = $dailyLogsObj->getAll("WHERE property_id = " . $propertyId . " ORDER BY timestamp DESC"); $array_reports_estimates = array(); for ($i = 0; $i < count($reports); $i++) { $reports[$i]['report'] = true;
<?php $propertyId = isset($_POST['propertyId']) ? $_POST['propertyId'] : 0; if ($propertyId != 0) { $propertyObj = new Property(); $propertyInfo = $propertyObj->getPropertyInfo($propertyId, false); $roomObj = new Room(); $listRoomTemplates = $roomObj->getRoomTemplates(false); if (!$propertyInfo) { echo "No property found."; return; } $estimatesObj = new Estimates(); $estimatesId = $estimatesObj->getPreviousEstimatesId($propertyId, false); $estimateInfo = $estimatesObj->getEstimateDetails_estimates($estimatesId, false); $copy_from_report = false; if (count($estimateInfo['rooms']) <= 0) { $reportObj = new Report(); $reportId = $reportObj->getPreviousReportId($propertyId, false); $reportInfo = $reportObj->getReportDetails($reportId, false); if (count($reportInfo['rooms']) > 0) { $estimateInfo = $reportInfo; $copy_from_report = true; } } if (count($estimateInfo['rooms']) > 0) { $estimates_obj = new Dynamo("estimates"); $room_templates_obj = new Dynamo("room_templates"); $estimate_rooms_obj = new Dynamo("estimate_rooms"); $estimate_room_items_obj = new Dynamo("estimate_room_items"); $estimate_room_items_units_obj = new Dynamo("estimate_room_items_units");
function get_status($id = null) { if (!is_null($id)) { $esteimate = new Estimates(); $esteimate->retrieve($id); $product = new Products(); $product->retrieve($esteimate->product_id); if (!is_null($product->status)) { return $product->status; } } return 'new_estimate'; }
* License. * * All copies of the Covered Code must include on each user interface screen: * (i) the "Powered by SugarCRM" logo and * (ii) the SugarCRM copyright notice * in the same form as they appear in the distribution. See full license for * requirements. * * The Original Code is: SugarCRM Open Source * The Initial Developer of the Original Code is SugarCRM, Inc. * Portions created by SugarCRM are Copyright (C) 2004-2006 SugarCRM, Inc.; * All Rights Reserved. * Contributor(s): ______________________________________. */ require_once 'modules/Estimates/Estimates.php'; $sugarbean = new Estimates(); // perform the delete if given a record to delete if (empty($_REQUEST['record'])) { $GLOBALS['log']->info('delete called without a record id specified'); } else { $record = $_REQUEST['record']; $sugarbean->retrieve($record); if (!$sugarbean->ACLAccess('Delete')) { ACLController::displayNoAccess(true); sugar_cleanup(true); } $GLOBALS['log']->info("deleting record: {$record}"); $sugarbean->estimate_update($sugarbean->id); $sugarbean->mark_deleted($record); } // handle the return location variables
$xtpl->assign('encoded_contact_popup_request_data', $encoded_contact_popup_request_data); $popup_request_data = array('call_back_function' => 'set_return', 'form_name' => 'EditView', 'field_to_name_array' => array('id' => 'calculant_id', 'user_name' => 'calculant_name')); $xtpl->assign('encoded_calculant_popup_request_data', $json->encode($popup_request_data)); $popup_request_data = array('call_back_function' => 'set_return', 'form_name' => 'EditView', 'field_to_name_array' => array('id' => 'contact_id', 'name' => 'contact_name')); $encoded_contact_popup_request_data = $json->encode($popup_request_data); $xtpl->assign('encoded_contact_popup_request_data', $encoded_contact_popup_request_data); $popup_request_data = array('call_back_function' => 'set_return_product', 'form_name' => 'EditView', 'field_to_name_array' => array('id' => 'product_id', 'name' => 'product_name', 'account_id' => 'account_id', 'account_name' => 'account_name', 'contact_id' => 'contact_id', 'contact_name' => 'contact_name', 'number' => 'number')); $encoded_contact_popup_request_data = $json->encode($popup_request_data); $xtpl->assign('encoded_products_popup_request_data', $encoded_contact_popup_request_data); /// /// Assign the template variables /// $xtpl->assign('MOD', $mod_strings); $xtpl->assign('APP', $app_strings); if (isset($_REQUEST['estimate_id']) && !empty($_REQUEST['estimate_id'])) { $estimate = new Estimates(); $estimate->retrieve($_REQUEST['estimate_id']); $ClientRequest = new ClientRequest(); $ClientRequest->retrieve($estimate->clientrequest_id); if (isset($estimate->id) && !empty($estimate->id)) { $focus->product_id = $estimate->product_id; $focus->name = $estimate->name; $focus->number = 'ORD' . $focus->generate_number('number', $focus->table_name); $focus->estimate_id = $estimate->id; $focus->deadline = $estimate->deadline; $focus->quantity = $estimate->quantity; //$focus->sub_status = $estimate->sub_status; $focus->period = $estimate->period; $focus->samples = $estimate->samples; $focus->file = $estimate->file; $focus->note = $estimate->note;
} } if (isset($_REQUEST['estimate_id']) && !empty($_REQUEST['estimate_id'])) { $xtpl->assign('estimate_id', $_REQUEST['estimate_id']); $xtpl->assign("PRODUCTROWS", $focus->add_quote_estimate($_REQUEST['estimate_id'])); $xtpl->parse("main.row1"); $estimate_id = $_REQUEST['estimate_id']; } if (isset($focus->estimate_id) && !empty($focus->estimate_id)) { $xtpl->assign('estimate_id', $focus->estimate_id); $xtpl->assign("PRODUCTROWS", $focus->add_quote_estimate($focus->estimate_id)); $xtpl->parse("main.row1"); $estimate_id = $focus->estimate_id; } if (isset($estimate_id) && !empty($estimate_id)) { $Estimate = new Estimates(); $Estimate->retrieve($estimate_id); $product = new Products(); $product->retrieve($Estimate->product_id); $xtpl->assign("number", $product->pnum); $xtpl->assign("prod_product_name", $product->name); $xtpl->assign("prod_product_id", $product->id); $xtpl->assign("prod_account_name", $product->account_name); $xtpl->assign("prod_account_id", $product->account_id); $xtpl->assign("prod_contact_name", $product->contact_name); $xtpl->assign("prod_contact_id", $product->contact_id); $style_display = ''; $xtpl->assign("product_readOnly", 'readOnly'); } if (!is_null($focus->id)) { $xtpl_data['ACCOUNT_ID'] = $focus->account_id;
* The Original Code is: SugarCRM Open Source * The Initial Developer of the Original Code is SugarCRM, Inc. * Portions created by SugarCRM are Copyright (C) 2004-2006 SugarCRM, Inc.; * All Rights Reserved. * Contributor(s): ______________________________________. */ require_once 'modules/EstimateCalc/EstimateCalc.php'; require_once 'modules/Estimates/Estimates.php'; require_once 'include/formbase.php'; $sugarbean = new EstimateCalc(); $sugarbean = populateFromPost('', $sugarbean); $sugarbean->status = "uptodate"; if (isset($_REQUEST['email_id'])) { $sugarbean->email_id = $_REQUEST['email_id']; } if (!$sugarbean->ACLAccess('Save')) { ACLController::displayNoAccess(true); sugar_cleanup(true); } $sugarbean->save($GLOBALS['check_notify']); $return_id = $sugarbean->id; $estimate = new Estimates(); $estimate->retrieve($sugarbean->estimate_id); //// Status Update if (isset($_REQUEST['stat_action']) && !empty($_REQUEST['stat_action']) && !is_null($_REQUEST['stat_action'])) { $estimate->status_update('', $estimate->id, $_REQUEST['stat_action'], ''); } else { $estimate->status_update('', $estimate->id, '', ''); } ///////////////// handleRedirect($return_id, 'EstimateCalc');
* (ii) the SugarCRM copyright notice * in the same form as they appear in the distribution. See full license for * requirements. * * The Original Code is: SugarCRM Open Source * The Initial Developer of the Original Code is SugarCRM, Inc. * Portions created by SugarCRM are Copyright (C) 2004-2006 SugarCRM, Inc.; * All Rights Reserved. * Contributor(s): ______________________________________. */ require_once 'modules/Estimates/Estimates.php'; require_once 'modules/EstimateComponents/EstimateComponents.php'; require_once 'modules/ClientRequest/ClientRequest.php'; require_once 'modules/ProductStatus/ProductStatus.php'; require_once 'include/formbase.php'; $Estimates = new Estimates(); if (isset($_REQUEST['clientrequest_id']) && !empty($_REQUEST['clientrequest_id'])) { $ClientRequest = new ClientRequest(); $ClientRequest->retrieve($_REQUEST['clientrequest_id']); $Estimates->product_id = $ClientRequest->product_id; $Estimates->name = $ClientRequest->name; $Estimates->number = 'PTR' . $Estimates->generate_number('number', $Estimates->table_name); $Estimates->clientrequest_id = $ClientRequest->id; $Estimates->deadline = $ClientRequest->due_date; $Estimates->quantity = $ClientRequest->quantity; $Estimates->status = $ClientRequest->status; $Estimates->period = $ClientRequest->periodic; $Estimates->samples = $ClientRequest->samples; $Estimates->file = $ClientRequest->files; $Estimates->note = $ClientRequest->special_requirements; $Estimates->description = $ClientRequest->description;
/** * Prende le stime dei figli, le somma e ne genera una singola */ function getEstimateFromChilds() { // Prendo tutti i figli della milestone corrente $tasks = Tasks::findByMilestone($this->object, STATE_VISIBLE); // Scorro tutti i figli e ne salvo le stime $estimates = array(); $estimates_sum = 0; if (is_foreachable($tasks)) { foreach ($tasks as $task) { $estimate = Estimates::findLatestByParent($task); // Se non è stata impostata la stima ritorna nullo, quindi bisogna controllare che effettivamente l'oggetto esista if ($estimate && $estimate instanceof Estimate) { $estimates[] = $estimate; $estimates_sum += $estimate->getValue(); } } } // FIXME: seconda parte dell'if inutile if ($this->object instanceof Milestone || $this->object instanceof RemediaMilestone) { $estimate = new Estimate(); $estimate->setParent($this->object); $estimate->setValue($estimates_sum); $estimate->setJobType(JobTypes::findById(1)); // TODO: ho preso un job a caso, chissene $estimate->setComment('Stima generata automaticamente'); $estimate->setCreatedBy($this->object->assignees()->getAssignee()); // Assegno come creatore un tizio tra gli assegnatari $estimate->setCreatedOn(DateTimeValue::now()); } return $estimate; }
$reportInfo = $reportObj->getReportDetails($reportId, false); $reports_obj = new Dynamo("reports"); $reportsArray = $reports_obj->getAll("WHERE id = " . $reportId); if ($reportsArray[0]['is_submitted'] == 0) { ?> <script type="text/javascript"> window.location.href = "edit_property.php?propertyId=<?php print $propertyId; ?> "; </script> <?php exit; } } $estimatesObj = new Estimates(); $estimatesId = $estimatesObj->getPreviousEstimatesId($propertyId, false); $estimateInfo = $estimatesObj->getEstimateDetails($estimatesId, false); if (count($estimateInfo['rooms']) > 0 && count($reportInfo['rooms']) > 0) { $arrayRoomsExisting = array(); for ($i = 0; $i < count($estimateInfo['rooms']); $i++) { $found_value = false; for ($j = 0; $j < count($reportInfo['rooms']); $j++) { if ($estimateInfo['rooms'][$i]["roomName"] == $reportInfo['rooms'][$j]["roomName"] && $estimateInfo['rooms'][$i]["roomTemplateId"] == $reportInfo['rooms'][$j]["roomTemplateId"]) { //$arrayRoomsExisting[] = $reportInfo['rooms'][$j]; $found_value = true; } } if ($found_value == false) { for ($p = 0; $p < count($estimateInfo['rooms'][$i]['items']); $p++) { for ($n = 0; $n < count($estimateInfo['rooms'][$i]['items'][$p]['arrayRoomItemsUnits']); $n++) {