Changeset 13043

Show
Ignore:
Timestamp:
03/12/10 10:17:33 (5 months ago)
Author:
musavir
Message:

Campaigns-Accounts relationship - Sripriya
==========================================

1. added relationship b/w Accounts and Campaigns module.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • vtigercrm/branches/5.2.0/Smarty/templates/RelatedListDataContents.tpl

    r13038 r13043  
    1515                        {$RELATEDLISTDATA.navigation.0} 
    1616                        {if $MODULE eq 'Campaigns' && ($RELATED_MODULE eq 'Contacts' || $RELATED_MODULE eq  
    17                                 'Leads') && $RELATEDLISTDATA.entries|@count > 0} 
     17                                'Leads' || $RELATED_MODULE eq 'Accounts') && $RELATEDLISTDATA.entries|@count > 0} 
    1818                                <br>{$APP.LBL_SELECT_BUTTON_LABEL}: <a href="javascript:void(0);" 
    1919                                        onclick="clear_checked_all('{$RELATED_MODULE}');">{$APP.LBL_NONE_NO_LINE}</a> 
     
    4040<table border=0 cellspacing=1 cellpadding=3 width=100% style="background-color:#eaeaea;" class="small"> 
    4141        <tr style="height:25px" bgcolor=white> 
    42         {if $MODULE eq 'Campaigns' && ($RELATED_MODULE eq 'Contacts' || $RELATED_MODULE eq 'Leads'
     42        {if $MODULE eq 'Campaigns' && ($RELATED_MODULE eq 'Contacts' || $RELATED_MODULE eq 'Leads' || $RELATED_MODULE eq 'Accounts'
    4343                        && $RELATEDLISTDATA.entries|@count > 0} 
    4444                <td class="lvtCol"> 
     
    5252        {foreach key=_RECORD_ID item=_RECORD from=$RELATEDLISTDATA.entries} 
    5353                <tr bgcolor=white> 
    54                 {if $MODULE eq 'Campaigns' && ($RELATED_MODULE eq 'Contacts' || $RELATED_MODULE eq 'Leads')} 
     54                {if $MODULE eq 'Campaigns' && ($RELATED_MODULE eq 'Contacts' || $RELATED_MODULE eq 'Leads' || $RELATED_MODULE eq 'Accounts')} 
    5555                        <td><input name="{$RELATED_MODULE}_selected_id" id="{$_RECORD_ID}" value="{$_RECORD_ID}" onclick="rel_check_object(this,'{$RELATED_MODULE}');" type="checkbox"  {$check_status.checked.$header}></td> 
    5656                {/if} 
  • vtigercrm/branches/5.2.0/Smarty/templates/RelatedLists.tpl

    r13039 r13043  
    1616{literal} 
    1717<script> 
     18 
    1819function editProductListPrice(id,pbid,price) 
    1920{ 
     
    4445                                onComplete: function(response) { 
    4546                                        $("status").style.display="none"; 
    46                                         $("RLContents").update(response.responseText); 
     47                                                                               $("RLContents").update(response.responseText); 
    4748                                } 
    4849                        } 
     
    5051} 
    5152{/literal} 
    52  
    53 function loadCvList(type,id) 
    54 {ldelim} 
    55         if(type == 'Leads' && $("lead_cv_list").value != 'None')  
    56         {ldelim} 
    57                 $("status").style.display="inline";  
    58                 new Ajax.Request( 
    59             'index.php', 
    60             {ldelim}queue: {ldelim}position: 'end', scope: 'command'{rdelim}, 
    61                     method: 'post', 
    62                     postBody: 'module=Campaigns&action=CampaignsAjax&file=LoadList&ajax=true&return_action=DetailView&return_id='+id+'&list_type='+type+'&cvid='+$("lead_cv_list").value, 
    63                     onComplete: function(response) {ldelim} 
    64                             $("status").style.display="none"; 
    65                             $("RLContents").update(response.responseText); 
    66                     {rdelim} 
    67             {rdelim} 
    68                 ); 
    69         {rdelim} 
    70  
    71      if(type == 'Contacts' && $("cont_cv_list").value != 'None')  
    72         {ldelim} 
    73                 $("status").style.display="inline"; 
    74         new Ajax.Request( 
    75                 'index.php', 
    76                 {ldelim}queue: {ldelim}position: 'end', scope: 'command'{rdelim}, 
    77                         method: 'post', 
    78                         postBody: 'module=Campaigns&action=CampaignsAjax&file=LoadList&ajax=true&return_action=DetailView&return_id='+id+'&list_type='+type+'&cvid='+$("cont_cv_list").value, 
    79                         onComplete: function(response) {ldelim} 
    80                                 $("status").style.display="none"; 
    81                                 $("RLContents").update(response.responseText); 
    82                         {rdelim} 
    83                 {rdelim} 
    84                 ); 
    85         {rdelim} 
    86 {rdelim} 
    8753</script> 
    8854        {include file='Buttons_List1.tpl'} 
     
    9864                         <span class="lvtHeaderText"><font color="purple">[ {$MOD_SEQ_ID} ] </font>{$NAME} -  {$SINGLE_MOD} {$APP.LBL_MORE} {$APP.LBL_INFORMATION}</span> <br> 
    9965                         {$UPDATEINFO} 
     66                         </span>&nbsp;&nbsp;<span id="vtbusy_info" style="display:none;" valign="bottom"><img src="{$IMAGE_PATH}vtbusy.gif" border="0"></span><span id="vtbusy_info" style="visibility:hidden;" valign="bottom"><img src="{$IMAGE_PATH}vtbusy.gif" border="0"></span> 
     67 
    10068                         <hr noshade size=1> 
    10169                         <br>  
  • vtigercrm/branches/5.2.0/include/js/ListView.js

    r13038 r13043  
    506506        return true; 
    507507} 
     508var statusPopupTimer = null; 
     509function closeStatusPopup(elementid) 
     510{ 
     511        statusPopupTimer = setTimeout("document.getElementById('" + elementid + "').style.display = 'none';", 50); 
     512} 
     513 
     514function updateCampaignRelationStatus(relatedmodule, campaignid, crmid, campaignrelstatusid, campaignrelstatus) 
     515{ 
     516        $("vtbusy_info").style.display="inline"; 
     517        document.getElementById('campaignstatus_popup_' + crmid).style.display = 'none'; 
     518        var data = "action=updateRelationsAjax&module=Campaigns&relatedmodule=" + relatedmodule + "&campaignid=" + campaignid + "&crmid=" + crmid + "&campaignrelstatusid=" + campaignrelstatusid; 
     519        new Ajax.Request( 
     520                'index.php', 
     521                        {queue: {position: 'end', scope: 'command'}, 
     522                        method: 'post', 
     523                        postBody: data, 
     524                        onComplete: function(response) { 
     525                                if(response.responseText.indexOf(":#:FAILURE")>-1) 
     526                                { 
     527                                        alert(alert_arr.ERROR_WHILE_EDITING); 
     528                                } 
     529                                else if(response.responseText.indexOf(":#:SUCCESS")>-1) 
     530                                { 
     531                                        document.getElementById('campaignstatus_' + crmid).innerHTML = campaignrelstatus; 
     532                                        $("vtbusy_info").style.display="none"; 
     533                                } 
     534                        } 
     535                } 
     536        ); 
     537} 
     538 
     539function loadCvList(type,id) { 
     540        var element = type+"_cv_list"; 
     541        var value = document.getElementById(element).value;         
     542 
     543        if(value != '') { 
     544                $("status").style.display="inline"; 
     545                new Ajax.Request( 
     546                        'index.php', 
     547                        {queue: {position: 'end', scope: 'command'}, 
     548                                method: 'post', 
     549                                postBody: 'module=Campaigns&action=CampaignsAjax&file=LoadList&ajax=true&return_action=DetailView&return_id='+id+'&list_type='+type+'&cvid='+value, 
     550                                onComplete: function(response) { 
     551                                        $("status").style.display="none"; 
     552                                        $("RLContents").update(response.responseText); 
     553                                } 
     554                        } 
     555                ); 
     556        } 
     557} 
  • vtigercrm/branches/5.2.0/include/utils/ListViewUtils.php

    r13038 r13043  
    15371537                } 
    15381538        } 
     1539        elseif ($uitype == 16) 
     1540        { 
     1541                $value = getTranslatedString($temp_val,$currentModule); 
     1542        } 
    15391543        elseif($uitype == 71 || $uitype == 72) 
    15401544        { 
  • vtigercrm/branches/5.2.0/modules/Campaigns/Campaigns.php

    r12877 r13043  
    131131 
    132132        /** 
     133         * Function to get Campaign related Accouts 
     134         * @param  integer   $id      - campaignid 
     135         * returns related Accounts record in array format 
     136         */ 
     137        function get_accounts($id, $cur_tab_id, $rel_tab_id, $actions = false) { 
     138                global $log, $singlepane_view,$currentModule; 
     139                $log->debug("Entering get_accounts(".$id.") method ..."); 
     140                $this_module = $currentModule; 
     141 
     142                $related_module = vtlib_getModuleNameById($rel_tab_id); 
     143                require_once("modules/$related_module/$related_module.php"); 
     144                $other = new $related_module(); 
     145                 
     146                $is_CampaignStatusAllowed = false; 
     147                global $current_user; 
     148                if(getFieldVisibilityPermission('Accounts', $current_user->id, 'campaignrelstatus') == '0') { 
     149                        $other->list_fields['Status'] = array('vtiger_campaignrelstatus'=>'campaignrelstatus'); 
     150                        $other->list_fields_name['Status'] = 'campaignrelstatus'; 
     151                        $other->sortby_fields[] = 'campaignrelstatus'; 
     152                        $is_CampaignStatusAllowed = true; 
     153                } 
     154 
     155                vtlib_setup_modulevars($related_module, $other); 
     156                $singular_modname = vtlib_toSingular($related_module); 
     157 
     158                $parenttab = getParentTab(); 
     159 
     160                if($singlepane_view == 'true') 
     161                        $returnset = '&return_module='.$this_module.'&return_action=DetailView&return_id='.$id; 
     162                else 
     163                        $returnset = '&return_module='.$this_module.'&return_action=CallRelatedList&return_id='.$id; 
     164 
     165                $button = ''; 
     166 
     167                // Send mail button for selected Accounts 
     168                $button .= "<input title='".getTranslatedString('LBL_SEND_MAIL_BUTTON')."' class='crmbutton small edit' value='".getTranslatedString('LBL_SEND_MAIL_BUTTON')."' type='button' name='button' onclick='rel_eMail(\"$this_module\",this,\"$related_module\")'>"; 
     169                $button .= '&nbsp;&nbsp;&nbsp;&nbsp'; 
     170                /* To get Accounts CustomView -START */ 
     171                require_once('modules/CustomView/CustomView.php'); 
     172                $ahtml = "<select id='".$related_module."_cv_list' class='small'><option value='None'>-- ".getTranslatedString('Select One')." --</option>"; 
     173                $oCustomView = new CustomView($related_module); 
     174                $viewid = $oCustomView->getViewId($related_module); 
     175                $customviewcombo_html = $oCustomView->getCustomViewCombo($viewid, false); 
     176                $ahtml .= $customviewcombo_html; 
     177                $ahtml .= "</select>"; 
     178                /* To get Accounts CustomView -END */ 
     179 
     180                $button .= $ahtml."<input title='".getTranslatedString('LBL_LOAD_LIST',$this_module)."' class='crmbutton small edit' value='".getTranslatedString('LBL_LOAD_LIST',$this_module)."' type='button' name='button' onclick='loadCvList(\"$related_module\",\"$id\")'>"; 
     181                $button .= '&nbsp;&nbsp;&nbsp;&nbsp'; 
     182 
     183                if($actions) 
     184                { 
     185                        if(is_string($actions)) 
     186                                $actions = explode(',', strtoupper($actions)); 
     187                        if(in_array('SELECT', $actions) && isPermitted($related_module,4, '') == 'yes') 
     188                        { 
     189                                $button .= "<input title='".getTranslatedString('LBL_SELECT')." ". getTranslatedString($related_module). "' class='crmbutton small edit' type='button' onclick=\"return window.open('index.php?module=$related_module&return_module=$currentModule&action=Popup&popuptype=detailview&select=enable&form=EditView&form_submit=false&recordid=$id&parenttab=$parenttab','test','width=640,height=602,resizable=0,scrollbars=0');\" value='". getTranslatedString('LBL_SELECT'). " " . getTranslatedString($related_module) ."'>&nbsp;"; 
     190                        } 
     191                        if(in_array('ADD', $actions) && isPermitted($related_module,1, '') == 'yes') 
     192                        { 
     193                                $button .= "<input title='".getTranslatedString('LBL_ADD_NEW'). " ". getTranslatedString($singular_modname) ."' class='crmbutton small create'" . 
     194                                        " onclick='this.form.action.value=\"EditView\";this.form.module.value=\"$related_module\"' type='submit' name='button'" . 
     195                                        " value='". getTranslatedString('LBL_ADD_NEW'). " " . getTranslatedString($singular_modname) ."'>&nbsp;"; 
     196                        } 
     197                } 
     198 
     199                $query = "SELECT vtiger_account.*, 
     200                                CASE when (vtiger_users.user_name not like '') then vtiger_users.user_name else vtiger_groups.groupname end as user_name, 
     201                                vtiger_crmentity.*, vtiger_crmentity.modifiedtime, vtiger_campaignrelstatus.*, vtiger_accountbillads.* 
     202                                FROM vtiger_account 
     203                                INNER JOIN vtiger_campaignaccountrel ON vtiger_campaignaccountrel.accountid = vtiger_account.accountid 
     204                                INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_account.accountid 
     205                                LEFT JOIN vtiger_groups ON vtiger_groups.groupid=vtiger_crmentity.smownerid 
     206                                LEFT JOIN vtiger_users ON vtiger_crmentity.smownerid=vtiger_users.id 
     207                                LEFT JOIN vtiger_accountbillads ON vtiger_accountbillads.accountaddressid = vtiger_account.accountid 
     208                                LEFT JOIN vtiger_campaignrelstatus ON vtiger_campaignrelstatus.campaignrelstatusid = vtiger_campaignaccountrel.campaignrelstatusid 
     209                                WHERE vtiger_campaignaccountrel.campaignid = ".$id." AND vtiger_crmentity.deleted=0"; 
     210 
     211                $return_value = GetRelatedList($this_module, $related_module, $other, $query, $button, $returnset); 
     212                 
     213                if($return_value == null) 
     214                        $return_value = Array(); 
     215                else if($is_CampaignStatusAllowed) { 
     216                        $statusPos = count($return_value['header']) - 2; // Last column is for Actions, exclude that. Also the index starts from 0, so reduce one more count. 
     217                        $return_value = $this->add_status_popup($return_value, $statusPos, 'Accounts'); 
     218                } 
     219                         
     220                $return_value['CUSTOM_BUTTON'] = $button; 
     221 
     222                $log->debug("Exiting get_accounts method ..."); 
     223                return $return_value; 
     224        } 
     225 
     226        /** 
    133227         * Function to get Campaign related Contacts 
    134228         * @param  integer   $id      - campaignid 
     
    143237                require_once("modules/$related_module/$related_module.php"); 
    144238                $other = new $related_module(); 
    145         vtlib_setup_modulevars($related_module, $other);                 
     239                 
     240                $is_CampaignStatusAllowed = false; 
     241                global $current_user; 
     242                if(getFieldVisibilityPermission('Contacts', $current_user->id, 'campaignrelstatus') == '0') { 
     243                        $other->list_fields['Status'] = array('vtiger_campaignrelstatus'=>'campaignrelstatus'); 
     244                        $other->list_fields_name['Status'] = 'campaignrelstatus'; 
     245                        $other->sortby_fields[] = 'campaignrelstatus'; 
     246                        $is_CampaignStatusAllowed = true; 
     247                } 
     248 
     249                vtlib_setup_modulevars($related_module, $other); 
    146250                $singular_modname = vtlib_toSingular($related_module); 
    147251                 
     
    161265                /* To get Leads CustomView -START */ 
    162266                require_once('modules/CustomView/CustomView.php'); 
    163                 $lhtml = "<select id='cont_cv_list' class='small'><option value='None'>-- ".getTranslatedString('Select One')." --</option>"; 
     267                $lhtml = "<select id='".$related_module."_cv_list' class='small'><option value='None'>-- ".getTranslatedString('Select One')." --</option>"; 
    164268                $oCustomView = new CustomView($related_module); 
    165269                $viewid = $oCustomView->getViewId($related_module); 
     
    185289 
    186290                $query = "SELECT vtiger_contactdetails.accountid, vtiger_account.accountname,  
    187                                         CASE when (vtiger_users.user_name not like '') then vtiger_users.user_name else vtiger_groups.groupname end as user_name ,  
    188                                         vtiger_contactdetails.contactid, vtiger_contactdetails.lastname, vtiger_contactdetails.firstname, vtiger_contactdetails.title,  
    189                                         vtiger_contactdetails.department, vtiger_contactdetails.email, vtiger_contactdetails.phone, vtiger_crmentity.crmid,  
    190                                         vtiger_crmentity.smownerid, vtiger_crmentity.modifiedtime  
    191                                         FROM vtiger_contactdetails  
    192                                         INNER JOIN vtiger_campaigncontrel ON vtiger_campaigncontrel.contactid = vtiger_contactdetails.contactid  
    193                                         INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_contactdetails.contactid   
    194                                         LEFT JOIN vtiger_groups ON vtiger_groups.groupid=vtiger_crmentity.smownerid  
    195                                         LEFT JOIN vtiger_users ON vtiger_crmentity.smownerid=vtiger_users.id  
    196                                         LEFT JOIN vtiger_account ON vtiger_account.accountid = vtiger_contactdetails.accountid  
    197                                         WHERE vtiger_campaigncontrel.campaignid = ".$id." AND vtiger_crmentity.deleted=0"; 
     291                                CASE when (vtiger_users.user_name not like '') then vtiger_users.user_name else vtiger_groups.groupname end as user_name , 
     292                                vtiger_contactdetails.contactid, vtiger_contactdetails.lastname, vtiger_contactdetails.firstname, vtiger_contactdetails.title, 
     293                                vtiger_contactdetails.department, vtiger_contactdetails.email, vtiger_contactdetails.phone, vtiger_crmentity.crmid, 
     294                                vtiger_crmentity.smownerid, vtiger_crmentity.modifiedtime, vtiger_campaignrelstatus.* 
     295                                FROM vtiger_contactdetails 
     296                                INNER JOIN vtiger_campaigncontrel ON vtiger_campaigncontrel.contactid = vtiger_contactdetails.contactid 
     297                                INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_contactdetails.contactid 
     298                                LEFT JOIN vtiger_groups ON vtiger_groups.groupid=vtiger_crmentity.smownerid 
     299                                LEFT JOIN vtiger_users ON vtiger_crmentity.smownerid=vtiger_users.id 
     300                                LEFT JOIN vtiger_account ON vtiger_account.accountid = vtiger_contactdetails.accountid 
     301                                LEFT JOIN vtiger_campaignrelstatus ON vtiger_campaignrelstatus.campaignrelstatusid = vtiger_campaigncontrel.campaignrelstatusid 
     302                                WHERE vtiger_campaigncontrel.campaignid = ".$id." AND vtiger_crmentity.deleted=0"; 
    198303                                         
    199304                $return_value = GetRelatedList($this_module, $related_module, $other, $query, $button, $returnset);  
    200305                 
    201                 if($return_value == null) $return_value = Array(); 
     306                if($return_value == null) 
     307                        $return_value = Array(); 
     308                else if($is_CampaignStatusAllowed) { 
     309                        $statusPos = count($return_value['header']) - 2; // Last column is for Actions, exclude that. Also the index starts from 0, so reduce one more count. 
     310                        $return_value = $this->add_status_popup($return_value, $statusPos, 'Contacts'); 
     311                } 
     312 
    202313                $return_value['CUSTOM_BUTTON'] = $button; 
    203314                 
     
    219330                require_once("modules/$related_module/$related_module.php"); 
    220331                $other = new $related_module(); 
    221         vtlib_setup_modulevars($related_module, $other);                 
     332                 
     333                $is_CampaignStatusAllowed = false; 
     334                global $current_user; 
     335                if(getFieldVisibilityPermission('Leads', $current_user->id, 'campaignrelstatus') == '0') { 
     336                        $other->list_fields['Status'] = array('vtiger_campaignrelstatus'=>'campaignrelstatus'); 
     337                        $other->list_fields_name['Status'] = 'campaignrelstatus'; 
     338                        $other->sortby_fields[] = 'campaignrelstatus'; 
     339                        $is_CampaignStatusAllowed = true; 
     340                } 
     341                 
     342                vtlib_setup_modulevars($related_module, $other); 
    222343                $singular_modname = vtlib_toSingular($related_module); 
    223344                 
     
    237358                /* To get Leads CustomView -START */ 
    238359                require_once('modules/CustomView/CustomView.php'); 
    239                 $lhtml = "<select id='lead_cv_list' class='small'><option value='None'>-- ".getTranslatedString('Select One')." --</option>"; 
     360                $lhtml = "<select id='".$related_module."_cv_list' class='small'><option value='None'>-- ".getTranslatedString('Select One')." --</option>"; 
    240361                $oCustomView = new CustomView($related_module); 
    241362                $viewid = $oCustomView->getViewId($related_module); 
     
    261382 
    262383                $query = "SELECT vtiger_leaddetails.*, vtiger_crmentity.crmid,vtiger_leadaddress.phone,vtiger_leadsubdetails.website,  
    263                                         CASE when (vtiger_users.user_name not like '') then vtiger_users.user_name else vtiger_groups.groupname end as user_name,  
    264                                         vtiger_crmentity.smownerid FROM vtiger_leaddetails       
    265                                         INNER JOIN vtiger_campaignleadrel ON vtiger_campaignleadrel.leadid=vtiger_leaddetails.leadid 
    266                                         INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_leaddetails.leadid 
    267                                         INNER JOIN vtiger_leadsubdetails  ON vtiger_leadsubdetails.leadsubscriptionid = vtiger_leaddetails.leadid                        
    268                                         INNER JOIN vtiger_leadaddress ON vtiger_leadaddress.leadaddressid = vtiger_leadsubdetails.leadsubscriptionid 
    269                                         LEFT JOIN vtiger_users ON vtiger_crmentity.smownerid = vtiger_users.id 
    270                                         LEFT JOIN vtiger_groups ON vtiger_groups.groupid=vtiger_crmentity.smownerid 
    271                                         WHERE vtiger_crmentity.deleted=0 AND vtiger_campaignleadrel.campaignid = ".$id; 
     384                                CASE when (vtiger_users.user_name not like '') then vtiger_users.user_name else vtiger_groups.groupname end as user_name, 
     385                                vtiger_crmentity.smownerid, vtiger_campaignrelstatus.* 
     386                                FROM vtiger_leaddetails 
     387                                INNER JOIN vtiger_campaignleadrel ON vtiger_campaignleadrel.leadid=vtiger_leaddetails.leadid 
     388                                INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_leaddetails.leadid 
     389                                INNER JOIN vtiger_leadsubdetails  ON vtiger_leadsubdetails.leadsubscriptionid = vtiger_leaddetails.leadid 
     390                                INNER JOIN vtiger_leadaddress ON vtiger_leadaddress.leadaddressid = vtiger_leadsubdetails.leadsubscriptionid 
     391                                LEFT JOIN vtiger_users ON vtiger_crmentity.smownerid = vtiger_users.id 
     392                                LEFT JOIN vtiger_groups ON vtiger_groups.groupid=vtiger_crmentity.smownerid 
     393                                LEFT JOIN vtiger_campaignrelstatus ON vtiger_campaignrelstatus.campaignrelstatusid = vtiger_campaignleadrel.campaignrelstatusid 
     394                                WHERE vtiger_crmentity.deleted=0 AND vtiger_campaignleadrel.campaignid = ".$id; 
    272395                                         
    273396                $return_value = GetRelatedList($this_module, $related_module, $other, $query, $button, $returnset);  
    274397                 
    275                 if($return_value == null) $return_value = Array(); 
     398                if($return_value == null) 
     399                        $return_value = Array(); 
     400                else if($is_CampaignStatusAllowed) { 
     401                        $statusPos = count($return_value['header']) - 2; // Last column is for Actions, exclude that. Also the index starts from 0, so reduce one more count. 
     402                        $return_value = $this->add_status_popup($return_value, $statusPos, 'Leads'); 
     403                } 
     404 
    276405                $return_value['CUSTOM_BUTTON'] = $button; 
    277406                 
     
    411540         
    412541        } 
    413          
     542        /* 
     543         * Function populate the status columns' HTML 
     544         * @param - $related_list return value from GetRelatedList 
     545         * @param - $status_column index of the status column in the list. 
     546         * returns true on success 
     547         */ 
     548        function add_status_popup($related_list, $status_column = 7, $related_module) 
     549        { 
     550                global $adb; 
     551                 
     552                if(!$this->campaignrelstatus) 
     553                { 
     554                        $result = $adb->query('SELECT * FROM vtiger_campaignrelstatus;'); 
     555                        while($row = $adb->fetchByAssoc($result)) 
     556                        { 
     557                                $this->campaignrelstatus[$row['campaignrelstatus']] = $row; 
     558                        } 
     559                } 
     560                foreach($related_list['entries'] as $key => &$entry) 
     561                {        
     562                        $popupitemshtml = ''; 
     563                        foreach($this->campaignrelstatus as $campaingrelstatus) 
     564                        { 
     565                                $camprelstatus = getTranslatedString($campaingrelstatus[campaignrelstatus],'Campaigns'); 
     566                                $popupitemshtml .= "<a onmouseover=\"javascript: showBlock('campaignstatus_popup_$key')\" href=\"javascript:updateCampaignRelationStatus('$related_module', '".$this->id."', '$key', '$campaingrelstatus[campaignrelstatusid]', '".addslashes($camprelstatus)."');\">$camprelstatus</a><br />"; 
     567                        } 
     568                        $popuphtml = '<div onmouseover="javascript:clearTimeout(statusPopupTimer);" onmouseout="javascript:closeStatusPopup(\'campaignstatus_popup_'.$key.'\');" style="margin-top: -14px; width: 200px;" id="campaignstatus_popup_'.$key.'" class="calAction"><div style="background-color: #FFFFFF; padding: 8px;">'.$popupitemshtml.'</div></div>'; 
     569 
     570                        $entry[$status_column] = "<a href=\"javascript: showBlock('campaignstatus_popup_$key');\">[+]</a> <span id='campaignstatus_$key'>".$entry[$status_column]."</span>".$popuphtml; 
     571                } 
     572                 
     573                return $related_list; 
     574        } 
     575 
    414576        /* 
    415577         * Function to get the secondary query part of a report  
     
    438600                        "Contacts" => array("vtiger_campaigncontrel"=>array("campaignid","contactid"),"vtiger_campaign"=>"campaignid"), 
    439601                        "Leads" => array("vtiger_campaignleadrel"=>array("campaignid","leadid"),"vtiger_campaign"=>"campaignid"), 
     602                        "Accounts" => array("vtiger_campaignaccountrel"=>array("campaignid","accountid"),"vtiger_campaign"=>"campaignid"), 
    440603                        "Potentials" => array("vtiger_potential"=>array("campaignid","potentialid"),"vtiger_campaign"=>"campaignid"), 
    441604                        "Calendar" => array("vtiger_seactivityrel"=>array("crmid","activityid"),"vtiger_campaign"=>"campaignid"), 
     
    456619                        $sql = 'DELETE FROM vtiger_campaigncontrel WHERE campaignid=? AND contactid=?'; 
    457620                        $this->db->pquery($sql, array($id, $return_id)); 
     621                } elseif($return_module == 'Accounts') { 
     622                        $sql = 'DELETE FROM vtiger_campaignaccountrel WHERE campaignid=? AND accountid=?'; 
     623                        $this->db->pquery($sql, array($id, $return_id)); 
    458624                } else { 
    459625                        $sql = 'DELETE FROM vtiger_crmentityrel WHERE (crmid=? AND relmodule=? AND relcrmid=?) OR (relcrmid=? AND module=? AND crmid=?)'; 
  • vtigercrm/branches/5.2.0/modules/Campaigns/language/en_us.lang.php

    r12212 r13043  
    8585//Module Sequence Numbering 
    8686'Campaign No'=>'Campaign No', 
     87// status fields  
     88'--None--'=>'--None--', 
     89'Contacted - Successful' => 'Contacted - Successful', 
     90'Contacted - Unsuccessful' => 'Contacted - Unsuccessful', 
     91'Contacted - Never Contact Again' => 'Contacted - Never Contact Again' 
    8792// END 
    8893 
  • vtigercrm/branches/5.2.0/modules/Leads/LeadConvertToEntities.php

    r12876 r13043  
    327327                $campaignid = $adb->query_result($campaign_result,$i,'campaignid'); 
    328328 
    329                 $adb->pquery("insert into vtiger_campaigncontrel (campaignid, contactid) values(?,?)", array($campaignid, $relatedid)); 
    330        
     329                $adb->pquery("insert into vtiger_campaigncontrel (campaignid, contactid, campaignrelstatusid) values(?,?,1)", array($campaignid, $relatedid)); 
     330               
    331331        $log->debug("Exit from function saveLeadRelatedCampaigns."); 
     332} 
     333function saveLeadConvertedAccounts($leadid,$relatedid){ 
     334        global $adb, $log; 
     335        $log->debug("Entering into function saveLeadConvertedAccounts($leadid, $relatedid)"); 
     336        $campaign_result = $adb->pquery("select * from vtiger_campaignleadrel where leadid=?", array($leadid)); 
     337        $noofcampaigns = $adb->num_rows($campaign_result); 
     338        for($i = 0; $i < $noofcampaigns; $i++) 
     339        { 
     340                $campaignid = $adb->query_result($campaign_result,$i,'campaignid'); 
     341                $adb->pquery("INSERT INTO vtiger_campaignaccountrel (campaignid, accountid, campaignrelstatusid) values(?,?,1)",array($campaignid,$relatedid)); 
     342                 
     343        } 
     344        $log->debug("Exit from function saveLeadConvertedAccounts."); 
    332345} 
    333346$crmid =''; 
     
    339352        if($acc_rows != 0){ 
    340353                $crmid = $adb->query_result($acc_res,0,"accountid"); 
    341          
    342354                //Retrieve the lead related products and relate them with this new account 
    343355                getRelatedNotesAttachments($id,$crmid);  
    344356                saveLeadRelatedProducts($id, $crmid, "Accounts"); 
    345357                saveLeadRelations($id, $crmid, "Accounts"); 
     358                $accountid=$crmid; 
     359                saveLeadConvertedAccounts($id,$accountid); 
     360 
    346361        } else if($accountname==''){ 
    347362                $crmid=''; 
    348363        } else 
    349         { 
     364        {  
    350365                $crmid = $adb->getUniqueID("vtiger_crmentity"); 
    351366         
     
    403418                saveLeadRelatedProducts($id, $crmid, "Accounts"); 
    404419                saveLeadRelations($id, $crmid, "Accounts"); 
     420                $accountid = $crmid; 
     421                //Retrieve the lead related Campaigns and relate them with this new Account 
     422                saveLeadConvertedAccounts($id, $accountid); 
    405423        } 
    406424}