[Vtigercrm-commits] [vtiger-commits] r9918 - /vtigercrm/branches/5.0.3/modules/Quotes/Quotes.php

vtigercrm-commits at vtiger.fosslabs.com vtigercrm-commits at vtiger.fosslabs.com
Mon Nov 27 12:39:56 EST 2006


Author: richie
Date: Mon Nov 27 10:39:46 2006
New Revision: 9918

Log:
added var $groupTable  --by Don

Modified:
    vtigercrm/branches/5.0.3/modules/Quotes/Quotes.php

Modified: vtigercrm/branches/5.0.3/modules/Quotes/Quotes.php
==============================================================================
--- vtigercrm/branches/5.0.3/modules/Quotes/Quotes.php (original)
+++ vtigercrm/branches/5.0.3/modules/Quotes/Quotes.php Mon Nov 27 10:39:46 2006
@@ -1,272 +1,275 @@
-<?php
-/*********************************************************************************
- * The contents of this file are subject to the SugarCRM Public License Version 1.1.2
- * ("License"); You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at http://www.sugarcrm.com/SPL
- * Software distributed under the License is distributed on an  "AS IS"  basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
- * the specific language governing rights and limitations under the License.
- * The Original Code is:  SugarCRM Open Source
- * The Initial Developer of the Original Code is SugarCRM, Inc.
- * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.;
- * All Rights Reserved.
- * Contributor(s): ______________________________________.
- ********************************************************************************/
-/*********************************************************************************
- * $Header$
- * Description:  Defines the Account SugarBean Account entity with the necessary
- * methods and variables.
- * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
- * All Rights Reserved.
- * Contributor(s): ______________________________________..
- ********************************************************************************/
-
-include_once('config.php');
-require_once('include/logging.php');
-require_once('include/database/PearDatabase.php');
-require_once('data/SugarBean.php');
-require_once('data/CRMEntity.php');
-require_once('include/utils/utils.php');
-require_once('include/RelatedListView.php');
-require_once('user_privileges/default_module_view.php');
-
-// Account is used to store vtiger_account information.
-class Quotes extends CRMEntity {
-	var $log;
-	var $db;
-		
-	var $table_name = "vtiger_quotes";
-	var $tab_name = Array('vtiger_crmentity','vtiger_quotes','vtiger_quotesbillads','vtiger_quotesshipads','vtiger_quotescf');
-	var $tab_name_index = Array('vtiger_crmentity'=>'crmid','vtiger_quotes'=>'quoteid','vtiger_quotesbillads'=>'quotebilladdressid','vtiger_quotesshipads'=>'quoteshipaddressid','vtiger_quotescf'=>'quoteid');
-	
-	var $entity_table = "vtiger_crmentity";
-	
-	var $billadr_table = "vtiger_quotesbillads";
-
-	var $object_name = "Quote";
-
-	var $new_schema = true;
-	
-	var $module_id = "quoteid";
-
-	var $column_fields = Array();
-
-	var $sortby_fields = Array('subject','crmid','smownerid');		
-
-	// This is used to retrieve related vtiger_fields from form posts.
-	var $additional_column_fields = Array('assigned_user_name', 'smownerid', 'opportunity_id', 'case_id', 'contact_id', 'task_id', 'note_id', 'meeting_id', 'call_id', 'email_id', 'parent_name', 'member_id' );
-
-	// This is the list of vtiger_fields that are in the lists.
-	var $list_fields = Array(
-				'Quote Id'=>Array('crmentity'=>'crmid'),
-				'Subject'=>Array('quotes'=>'subject'),
-				'Quote Stage'=>Array('quotes'=>'quotestage'), 
-				'Potential Name'=>Array('quotes'=>'potentialid'),
-				'Account Name'=>Array('account'=> 'accountid'),
-				'Total'=>Array('quotes'=> 'total'),
-				'Assigned To'=>Array('crmentity'=>'smownerid')
-				);
-	
-	var $list_fields_name = Array(
-				        'Quote Id'=>'',
-				        'Subject'=>'subject',
-				        'Quote Stage'=>'quotestage',
-				        'Potential Name'=>'potential_id',
-					'Account Name'=>'account_id',
-					'Total'=>'hdnGrandTotal',
-				        'Assigned To'=>'assigned_user_id'
-				      );
-	var $list_link_field= 'subject';
-
-	var $search_fields = Array(
-				'Quote Id'=>Array('crmentity'=>'crmid'),
-				'Subject'=>Array('quotes'=>'subject'),
-				'Account Name'=>Array('quotes'=>'accountid'),
-				'Quote Stage'=>Array('quotes'=>'quotestage'), 
-				);
-	
-	var $search_fields_name = Array(
-					'Quote Id'=>'',
-				        'Subject'=>'subject',
-				        'Account Name'=>'account_id',
-				        'Quote Stage'=>'quotestage',
-				      );
-
-	// This is the list of vtiger_fields that are required.
-	var $required_fields =  array("accountname"=>1);
-
-	//Added these variables which are used as default order by and sortorder in ListView
-	var $default_order_by = 'crmid';
-	var $default_sort_order = 'ASC';
-
-	/**	Constructor which will set the column_fields in this object
-	 */
-	function Quotes() {
-		$this->log =LoggerManager::getLogger('quote');
-		$this->db = new PearDatabase();
-		$this->column_fields = getColumnFields('Quotes');
-	}
-
-	function save_module()
-	{
-		//in ajax save we should not call this function, because this will delete all the existing product values
-		if($_REQUEST['action'] != 'QuotesAjax' && $_REQUEST['ajxaction'] != 'DETAILVIEW')
-		{
-			//Based on the total Number of rows we will save the product relationship with this entity
-			saveInventoryProductDetails(&$this, 'Quotes');
-		}
-	}	
-	
-	/**	Function used to get the sort order for Quote listview
-	 *	@return string	$sorder	- first check the $_REQUEST['sorder'] if request value is empty then check in the $_SESSION['QUOTES_SORT_ORDER'] if this session value is empty then default sort order will be returned. 
-	 */
-	function getSortOrder()
-	{
-		global $log;
-                $log->debug("Entering getSortOrder() method ...");	
-		if(isset($_REQUEST['sorder'])) 
-			$sorder = $_REQUEST['sorder'];
-		else
-			$sorder = (($_SESSION['QUOTES_SORT_ORDER'] != '')?($_SESSION['QUOTES_SORT_ORDER']):($this->default_sort_order));
-		$log->debug("Exiting getSortOrder() method ...");
-		return $sorder;
-	}
-
-	/**	Function used to get the order by value for Quotes listview
-	 *	@return string	$order_by  - first check the $_REQUEST['order_by'] if request value is empty then check in the $_SESSION['QUOTES_ORDER_BY'] if this session value is empty then default order by will be returned. 
-	 */
-	function getOrderBy()
-	{
-		global $log;
-                $log->debug("Entering getOrderBy() method ...");
-		if (isset($_REQUEST['order_by'])) 
-			$order_by = $_REQUEST['order_by'];
-		else
-			$order_by = (($_SESSION['QUOTES_ORDER_BY'] != '')?($_SESSION['QUOTES_ORDER_BY']):($this->default_order_by));
-		$log->debug("Exiting getOrderBy method ...");
-		return $order_by;
-	}	
-
-	/**	function used to get the list of sales orders which are related to the Quotes
-	 *	@param int $id - quote id
-	 *	@return array - return an array which will be returned from the function GetRelatedList
-	 */
-	function get_salesorder($id)
-	{
-		global $log,$singlepane_view;
-		$log->debug("Entering get_salesorder(".$id.") method ...");
-		require_once('modules/SalesOrder/SalesOrder.php');
-	        $focus = new SalesOrder();
- 
-		$button = '';
-
-		if($singlepane_view == 'true')
-			$returnset = '&return_module=Quotes&return_action=DetailView&return_id='.$id;
-		else
-			$returnset = '&return_module=Quotes&return_action=CallRelatedList&return_id='.$id;
-
-		$query = "select vtiger_crmentity.*, vtiger_salesorder.*, vtiger_quotes.subject as quotename, vtiger_account.accountname from vtiger_salesorder inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_salesorder.salesorderid left outer join vtiger_quotes on vtiger_quotes.quoteid=vtiger_salesorder.quoteid left outer join vtiger_account on vtiger_account.accountid=vtiger_salesorder.accountid left join vtiger_sogrouprelation on vtiger_salesorder.salesorderid=vtiger_sogrouprelation.salesorderid left join vtiger_groups on vtiger_groups.groupname=vtiger_sogrouprelation.groupname where vtiger_crmentity.deleted=0 and vtiger_salesorder.quoteid = ".$id;
-		$log->debug("Exiting get_salesorder method ...");
-		return GetRelatedList('Quotes','SalesOrder',$focus,$query,$button,$returnset);
-	}
-
-	/**	function used to get the list of activities which are related to the Quotes
-	 *	@param int $id - quote id
-	 *	@return array - return an array which will be returned from the function GetRelatedList
-	 */
-	function get_activities($id)
-	{	
-		global $log,$singlepane_view;
-		$log->debug("Entering get_activities(".$id.") method ...");
-		global $app_strings;
-		require_once('modules/Calendar/Activity.php');
-	        $focus = new Activity();
-
-		$button = '';
-
-		if($singlepane_view == 'true')
-			$returnset = '&return_module=Quotes&return_action=DetailView&return_id='.$id;
-		else
-			$returnset = '&return_module=Quotes&return_action=CallRelatedList&return_id='.$id;
-
-		$query = "SELECT vtiger_contactdetails.contactid, vtiger_contactdetails.lastname, vtiger_contactdetails.firstname, vtiger_activity.*,vtiger_seactivityrel.*,vtiger_crmentity.crmid, vtiger_crmentity.smownerid, vtiger_crmentity.modifiedtime, vtiger_users.user_name,vtiger_recurringevents.recurringtype from vtiger_activity inner join vtiger_seactivityrel on vtiger_seactivityrel.activityid=vtiger_activity.activityid inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_activity.activityid left join vtiger_cntactivityrel on vtiger_cntactivityrel.activityid= vtiger_activity.activityid left join vtiger_contactdetails on vtiger_contactdetails.contactid = vtiger_cntactivityrel.contactid left join vtiger_users on vtiger_users.id=vtiger_crmentity.smownerid left outer join vtiger_recurringevents on vtiger_recurringevents.activityid=vtiger_activity.activityid left join vtiger_activitygrouprelation on vtiger_activitygrouprelation.activityid=vtiger_crmentity.crmid left join vtiger_groups on vtiger_groups.groupname=vtiger_activitygrouprelation.groupname where vtiger_seactivityrel.crmid=".$id." and activitytype='Task' and (vtiger_activity.status is not NULL && vtiger_activity.status != 'Completed') and (vtiger_activity.status is not NULL && vtiger_activity.status != 'Deferred')";
-		$log->debug("Exiting get_activities method ...");
-		return GetRelatedList('Quotes','Calendar',$focus,$query,$button,$returnset);
-	}
-
-	/**	function used to get the the activity history related to the quote
-	 *	@param int $id - quote id
-	 *	@return array - return an array which will be returned from the function GetHistory
-	 */
-	function get_history($id)
-	{
-		global $log;
-		$log->debug("Entering get_history(".$id.") method ...");
-		$query = "SELECT vtiger_activity.activityid, vtiger_activity.subject, vtiger_activity.status,
-			vtiger_activity.eventstatus, vtiger_activity.activitytype, vtiger_contactdetails.contactid,
-			vtiger_contactdetails.firstname,vtiger_contactdetails.lastname, vtiger_crmentity.modifiedtime,
-			vtiger_crmentity.createdtime, vtiger_crmentity.description, vtiger_users.user_name
-			from vtiger_activity
-				inner join vtiger_seactivityrel on vtiger_seactivityrel.activityid=vtiger_activity.activityid
-				inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_activity.activityid
-				left join vtiger_cntactivityrel on vtiger_cntactivityrel.activityid= vtiger_activity.activityid
-				left join vtiger_contactdetails on vtiger_contactdetails.contactid= vtiger_cntactivityrel.contactid
-				inner join vtiger_users on vtiger_crmentity.smcreatorid= vtiger_users.id
-				left join vtiger_activitygrouprelation on vtiger_activitygrouprelation.activityid=vtiger_activity.activityid
-                                left join vtiger_groups on vtiger_groups.groupname=vtiger_activitygrouprelation.groupname
-			where vtiger_activity.activitytype='Task'
-  				and (vtiger_activity.status = 'Completed' or vtiger_activity.status = 'Deferred')
-	 	        	and vtiger_seactivityrel.crmid=".$id;
-		//Don't add order by, because, for security, one more condition will be added with this query in include/RelatedListView.php
-
-		$log->debug("Exiting get_history method ...");
-		return getHistory('Quotes',$query,$id);	
-	}
-
-
-	/**	Function used to get the Quote Stage history of the Quotes
-	 *	@param $id - quote id
-	 *	@return $return_data - array with header and the entries in format Array('header'=>$header,'entries'=>$entries_list) where as $header and $entries_list are arrays which contains header values and all column values of all entries
-	 */
-	function get_quotestagehistory($id)
-	{	
-		global $log;
-		$log->debug("Entering get_quotestagehistory(".$id.") method ...");
-
-		global $adb;
-		global $mod_strings;
-		global $app_strings;
-
-		$query = 'select vtiger_quotestagehistory.*, vtiger_quotes.subject from vtiger_quotestagehistory inner join vtiger_quotes on vtiger_quotes.quoteid = vtiger_quotestagehistory.quoteid inner join vtiger_crmentity on vtiger_crmentity.crmid = vtiger_quotes.quoteid where vtiger_crmentity.deleted = 0 and vtiger_quotes.quoteid = '.$id;
-		$result=$adb->query($query);
-		$noofrows = $adb->num_rows($result);
-
-		$header[] = $app_strings['Quote Id'];
-		$header[] = $app_strings['LBL_ACCOUNT_NAME'];
-		$header[] = $app_strings['LBL_AMOUNT'];
-		$header[] = $app_strings['Quote Stage'];
-		$header[] = $app_strings['LBL_LAST_MODIFIED'];
-
-		while($row = $adb->fetch_array($result))
-		{
-			$entries = Array();
-
-			$entries[] = $row['quoteid'];
-			$entries[] = $row['accountname'];
-			$entries[] = $row['total'];
-			$entries[] = $row['quotestage'];
-			$entries[] = getDisplayDate($row['lastmodified']);
-
-			$entries_list[] = $entries;
-		}
-
-		$return_data = Array('header'=>$header,'entries'=>$entries_list);
-
-	 	$log->debug("Exiting get_quotestagehistory method ...");
-
-		return $return_data;
-	}
-
-}
-
-?>
+<?php
+/*********************************************************************************
+ * The contents of this file are subject to the SugarCRM Public License Version 1.1.2
+ * ("License"); You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at http://www.sugarcrm.com/SPL
+ * Software distributed under the License is distributed on an  "AS IS"  basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
+ * the specific language governing rights and limitations under the License.
+ * The Original Code is:  SugarCRM Open Source
+ * The Initial Developer of the Original Code is SugarCRM, Inc.
+ * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.;
+ * All Rights Reserved.
+ * Contributor(s): ______________________________________.
+ ********************************************************************************/
+/*********************************************************************************
+ * $Header$
+ * Description:  Defines the Account SugarBean Account entity with the necessary
+ * methods and variables.
+ * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
+ * All Rights Reserved.
+ * Contributor(s): ______________________________________..
+ ********************************************************************************/
+
+include_once('config.php');
+require_once('include/logging.php');
+require_once('include/database/PearDatabase.php');
+require_once('data/SugarBean.php');
+require_once('data/CRMEntity.php');
+require_once('include/utils/utils.php');
+require_once('include/RelatedListView.php');
+require_once('user_privileges/default_module_view.php');
+
+// Account is used to store vtiger_account information.
+class Quotes extends CRMEntity {
+	var $log;
+	var $db;
+		
+	var $table_name = "vtiger_quotes";
+	var $tab_name = Array('vtiger_crmentity','vtiger_quotes','vtiger_quotesbillads','vtiger_quotesshipads','vtiger_quotescf');
+	var $tab_name_index = Array('vtiger_crmentity'=>'crmid','vtiger_quotes'=>'quoteid','vtiger_quotesbillads'=>'quotebilladdressid','vtiger_quotesshipads'=>'quoteshipaddressid','vtiger_quotescf'=>'quoteid');
+	
+	var $entity_table = "vtiger_crmentity";
+	
+	var $billadr_table = "vtiger_quotesbillads";
+
+	var $object_name = "Quote";
+
+	var $new_schema = true;
+	
+	var $module_id = "quoteid";
+
+	var $column_fields = Array();
+
+	var $sortby_fields = Array('subject','crmid','smownerid');		
+
+	// This is used to retrieve related vtiger_fields from form posts.
+	var $additional_column_fields = Array('assigned_user_name', 'smownerid', 'opportunity_id', 'case_id', 'contact_id', 'task_id', 'note_id', 'meeting_id', 'call_id', 'email_id', 'parent_name', 'member_id' );
+
+	// This is the list of vtiger_fields that are in the lists.
+	var $list_fields = Array(
+				'Quote Id'=>Array('crmentity'=>'crmid'),
+				'Subject'=>Array('quotes'=>'subject'),
+				'Quote Stage'=>Array('quotes'=>'quotestage'), 
+				'Potential Name'=>Array('quotes'=>'potentialid'),
+				'Account Name'=>Array('account'=> 'accountid'),
+				'Total'=>Array('quotes'=> 'total'),
+				'Assigned To'=>Array('crmentity'=>'smownerid')
+				);
+	
+	var $list_fields_name = Array(
+				        'Quote Id'=>'',
+				        'Subject'=>'subject',
+				        'Quote Stage'=>'quotestage',
+				        'Potential Name'=>'potential_id',
+					'Account Name'=>'account_id',
+					'Total'=>'hdnGrandTotal',
+				        'Assigned To'=>'assigned_user_id'
+				      );
+	var $list_link_field= 'subject';
+
+	var $search_fields = Array(
+				'Quote Id'=>Array('crmentity'=>'crmid'),
+				'Subject'=>Array('quotes'=>'subject'),
+				'Account Name'=>Array('quotes'=>'accountid'),
+				'Quote Stage'=>Array('quotes'=>'quotestage'), 
+				);
+	
+	var $search_fields_name = Array(
+					'Quote Id'=>'',
+				        'Subject'=>'subject',
+				        'Account Name'=>'account_id',
+				        'Quote Stage'=>'quotestage',
+				      );
+
+	// This is the list of vtiger_fields that are required.
+	var $required_fields =  array("accountname"=>1);
+
+	//Added these variables which are used as default order by and sortorder in ListView
+	var $default_order_by = 'crmid';
+	var $default_sort_order = 'ASC';
+	var $groupTable = Array('vtiger_quotegrouprelation','quoteid');
+	
+	
+
+	/**	Constructor which will set the column_fields in this object
+	 */
+	function Quotes() {
+		$this->log =LoggerManager::getLogger('quote');
+		$this->db = new PearDatabase();
+		$this->column_fields = getColumnFields('Quotes');
+	}
+
+	function save_module()
+	{
+		//in ajax save we should not call this function, because this will delete all the existing product values
+		if($_REQUEST['action'] != 'QuotesAjax' && $_REQUEST['ajxaction'] != 'DETAILVIEW')
+		{
+			//Based on the total Number of rows we will save the product relationship with this entity
+			saveInventoryProductDetails(&$this, 'Quotes');
+		}
+	}	
+	
+	/**	Function used to get the sort order for Quote listview
+	 *	@return string	$sorder	- first check the $_REQUEST['sorder'] if request value is empty then check in the $_SESSION['QUOTES_SORT_ORDER'] if this session value is empty then default sort order will be returned. 
+	 */
+	function getSortOrder()
+	{
+		global $log;
+                $log->debug("Entering getSortOrder() method ...");	
+		if(isset($_REQUEST['sorder'])) 
+			$sorder = $_REQUEST['sorder'];
+		else
+			$sorder = (($_SESSION['QUOTES_SORT_ORDER'] != '')?($_SESSION['QUOTES_SORT_ORDER']):($this->default_sort_order));
+		$log->debug("Exiting getSortOrder() method ...");
+		return $sorder;
+	}
+
+	/**	Function used to get the order by value for Quotes listview
+	 *	@return string	$order_by  - first check the $_REQUEST['order_by'] if request value is empty then check in the $_SESSION['QUOTES_ORDER_BY'] if this session value is empty then default order by will be returned. 
+	 */
+	function getOrderBy()
+	{
+		global $log;
+                $log->debug("Entering getOrderBy() method ...");
+		if (isset($_REQUEST['order_by'])) 
+			$order_by = $_REQUEST['order_by'];
+		else
+			$order_by = (($_SESSION['QUOTES_ORDER_BY'] != '')?($_SESSION['QUOTES_ORDER_BY']):($this->default_order_by));
+		$log->debug("Exiting getOrderBy method ...");
+		return $order_by;
+	}	
+
+	/**	function used to get the list of sales orders which are related to the Quotes
+	 *	@param int $id - quote id
+	 *	@return array - return an array which will be returned from the function GetRelatedList
+	 */
+	function get_salesorder($id)
+	{
+		global $log,$singlepane_view;
+		$log->debug("Entering get_salesorder(".$id.") method ...");
+		require_once('modules/SalesOrder/SalesOrder.php');
+	        $focus = new SalesOrder();
+ 
+		$button = '';
+
+		if($singlepane_view == 'true')
+			$returnset = '&return_module=Quotes&return_action=DetailView&return_id='.$id;
+		else
+			$returnset = '&return_module=Quotes&return_action=CallRelatedList&return_id='.$id;
+
+		$query = "select vtiger_crmentity.*, vtiger_salesorder.*, vtiger_quotes.subject as quotename, vtiger_account.accountname from vtiger_salesorder inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_salesorder.salesorderid left outer join vtiger_quotes on vtiger_quotes.quoteid=vtiger_salesorder.quoteid left outer join vtiger_account on vtiger_account.accountid=vtiger_salesorder.accountid left join vtiger_sogrouprelation on vtiger_salesorder.salesorderid=vtiger_sogrouprelation.salesorderid left join vtiger_groups on vtiger_groups.groupname=vtiger_sogrouprelation.groupname where vtiger_crmentity.deleted=0 and vtiger_salesorder.quoteid = ".$id;
+		$log->debug("Exiting get_salesorder method ...");
+		return GetRelatedList('Quotes','SalesOrder',$focus,$query,$button,$returnset);
+	}
+
+	/**	function used to get the list of activities which are related to the Quotes
+	 *	@param int $id - quote id
+	 *	@return array - return an array which will be returned from the function GetRelatedList
+	 */
+	function get_activities($id)
+	{	
+		global $log,$singlepane_view;
+		$log->debug("Entering get_activities(".$id.") method ...");
+		global $app_strings;
+		require_once('modules/Calendar/Activity.php');
+	        $focus = new Activity();
+
+		$button = '';
+
+		if($singlepane_view == 'true')
+			$returnset = '&return_module=Quotes&return_action=DetailView&return_id='.$id;
+		else
+			$returnset = '&return_module=Quotes&return_action=CallRelatedList&return_id='.$id;
+
+		$query = "SELECT vtiger_contactdetails.contactid, vtiger_contactdetails.lastname, vtiger_contactdetails.firstname, vtiger_activity.*,vtiger_seactivityrel.*,vtiger_crmentity.crmid, vtiger_crmentity.smownerid, vtiger_crmentity.modifiedtime, vtiger_users.user_name,vtiger_recurringevents.recurringtype from vtiger_activity inner join vtiger_seactivityrel on vtiger_seactivityrel.activityid=vtiger_activity.activityid inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_activity.activityid left join vtiger_cntactivityrel on vtiger_cntactivityrel.activityid= vtiger_activity.activityid left join vtiger_contactdetails on vtiger_contactdetails.contactid = vtiger_cntactivityrel.contactid left join vtiger_users on vtiger_users.id=vtiger_crmentity.smownerid left outer join vtiger_recurringevents on vtiger_recurringevents.activityid=vtiger_activity.activityid left join vtiger_activitygrouprelation on vtiger_activitygrouprelation.activityid=vtiger_crmentity.crmid left join vtiger_groups on vtiger_groups.groupname=vtiger_activitygrouprelation.groupname where vtiger_seactivityrel.crmid=".$id." and activitytype='Task' and (vtiger_activity.status is not NULL && vtiger_activity.status != 'Completed') and (vtiger_activity.status is not NULL && vtiger_activity.status != 'Deferred')";
+		$log->debug("Exiting get_activities method ...");
+		return GetRelatedList('Quotes','Calendar',$focus,$query,$button,$returnset);
+	}
+
+	/**	function used to get the the activity history related to the quote
+	 *	@param int $id - quote id
+	 *	@return array - return an array which will be returned from the function GetHistory
+	 */
+	function get_history($id)
+	{
+		global $log;
+		$log->debug("Entering get_history(".$id.") method ...");
+		$query = "SELECT vtiger_activity.activityid, vtiger_activity.subject, vtiger_activity.status,
+			vtiger_activity.eventstatus, vtiger_activity.activitytype, vtiger_contactdetails.contactid,
+			vtiger_contactdetails.firstname,vtiger_contactdetails.lastname, vtiger_crmentity.modifiedtime,
+			vtiger_crmentity.createdtime, vtiger_crmentity.description, vtiger_users.user_name
+			from vtiger_activity
+				inner join vtiger_seactivityrel on vtiger_seactivityrel.activityid=vtiger_activity.activityid
+				inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_activity.activityid
+				left join vtiger_cntactivityrel on vtiger_cntactivityrel.activityid= vtiger_activity.activityid
+				left join vtiger_contactdetails on vtiger_contactdetails.contactid= vtiger_cntactivityrel.contactid
+				inner join vtiger_users on vtiger_crmentity.smcreatorid= vtiger_users.id
+				left join vtiger_activitygrouprelation on vtiger_activitygrouprelation.activityid=vtiger_activity.activityid
+                                left join vtiger_groups on vtiger_groups.groupname=vtiger_activitygrouprelation.groupname
+			where vtiger_activity.activitytype='Task'
+  				and (vtiger_activity.status = 'Completed' or vtiger_activity.status = 'Deferred')
+	 	        	and vtiger_seactivityrel.crmid=".$id;
+		//Don't add order by, because, for security, one more condition will be added with this query in include/RelatedListView.php
+
+		$log->debug("Exiting get_history method ...");
+		return getHistory('Quotes',$query,$id);	
+	}
+
+
+	/**	Function used to get the Quote Stage history of the Quotes
+	 *	@param $id - quote id
+	 *	@return $return_data - array with header and the entries in format Array('header'=>$header,'entries'=>$entries_list) where as $header and $entries_list are arrays which contains header values and all column values of all entries
+	 */
+	function get_quotestagehistory($id)
+	{	
+		global $log;
+		$log->debug("Entering get_quotestagehistory(".$id.") method ...");
+
+		global $adb;
+		global $mod_strings;
+		global $app_strings;
+
+		$query = 'select vtiger_quotestagehistory.*, vtiger_quotes.subject from vtiger_quotestagehistory inner join vtiger_quotes on vtiger_quotes.quoteid = vtiger_quotestagehistory.quoteid inner join vtiger_crmentity on vtiger_crmentity.crmid = vtiger_quotes.quoteid where vtiger_crmentity.deleted = 0 and vtiger_quotes.quoteid = '.$id;
+		$result=$adb->query($query);
+		$noofrows = $adb->num_rows($result);
+
+		$header[] = $app_strings['Quote Id'];
+		$header[] = $app_strings['LBL_ACCOUNT_NAME'];
+		$header[] = $app_strings['LBL_AMOUNT'];
+		$header[] = $app_strings['Quote Stage'];
+		$header[] = $app_strings['LBL_LAST_MODIFIED'];
+
+		while($row = $adb->fetch_array($result))
+		{
+			$entries = Array();
+
+			$entries[] = $row['quoteid'];
+			$entries[] = $row['accountname'];
+			$entries[] = $row['total'];
+			$entries[] = $row['quotestage'];
+			$entries[] = getDisplayDate($row['lastmodified']);
+
+			$entries_list[] = $entries;
+		}
+
+		$return_data = Array('header'=>$header,'entries'=>$entries_list);
+
+	 	$log->debug("Exiting get_quotestagehistory method ...");
+
+		return $return_data;
+	}
+
+}
+
+?>





More information about the vtigercrm-commits mailing list