Exemplo n.º 1
0
 public function __construct($options = null)
 {
     $this->_disabledDefaultActions = true;
     parent::__construct($options);
     $countries = Cible_FunctionsGeneral::getCountries();
     $states = Cible_FunctionsGeneral::getStates();
 }
Exemplo n.º 2
0
 public function editAction()
 {
     /*         * ********************************* */
     // variable
     $webAddr = array();
     $addressFields = array();
     $memberID = $this->_request->getParam('ID');
     $baseDir = $this->view->baseUrl();
     $billAddr = array();
     $shipAddr = array();
     $current_state = '';
     $currentCity = '';
     $returnModule = $this->_request->getParam('returnModule');
     $returnAction = $this->_request->getParam('returnAction');
     if ($returnModule != '' && $returnAction != '') {
         $cancelUrl = $this->view->url(array('module' => $returnModule, 'action' => $returnAction, 'ID' => null, 'returnModule' => null, 'returnAction' => null));
     } else {
         $cancelUrl = $this->view->url(array('action' => 'list', 'ID' => null));
     }
     $this->view->assign('memberID', $memberID);
     /*         * ********************************* */
     // newsletter categories
     $newsletterProfil = new NewsletterProfile();
     $newsletterMemberDetails = $newsletterProfil->getMemberDetails($memberID);
     //$this->view->assign('newsletterMemberDetails',$newsletterMemberDetails);
     $newsletterCategories = $this->view->GetAllNewsletterCategories();
     $newsletterCategories = $newsletterCategories->toArray();
     if (is_array($newsletterMemberDetails) && array_key_exists('newsletter_categories', $newsletterMemberDetails) && $newsletterMemberDetails['newsletter_categories'] != "") {
         $memberNewsletterCategories = $newsletterMemberDetails['newsletter_categories'];
         $memberNewsletterCategories = explode(',', $memberNewsletterCategories);
         $memberCat = array();
         foreach ($memberNewsletterCategories as $memberCategory) {
             $memberCat["chkNewsletter{$memberCategory}"] = 1;
         }
     } else {
         $memberCat = array();
     }
     $this->view->assign('memberNewsletterCategories', $memberCat);
     $this->view->assign('newsletterCategories', $newsletterCategories);
     // Form
     $form = new FormProfile(array('baseDir' => $baseDir, 'cancelUrl' => $cancelUrl, 'langId' => $this->_defaultInterfaceLanguage, 'mode' => 'edit'));
     $this->view->assign('form', $form);
     $genericProfil = new GenericProfile();
     $genericMemberDetails = $genericProfil->getMemberDetails($memberID);
     $this->view->assign('genericMemberDetails', $genericMemberDetails);
     $membersProfil = new MemberProfile();
     $lang = $this->_defaultInterfaceLanguage;
     $membersDetails = $membersProfil->getMemberDetails($memberID);
     //Retailers data
     if ($form->getSubForm('membersForm')) {
         //            $oRetailers = new RetailersObject();
         $oAddress = new AddressObject();
         //            $retailerData = $oRetailers->getAll(null, true, $memberID);
         //            if (count($retailerData))
         //                $retailerAddr = $oAddress->getAll(null, true, $retailerData[0]['R_AddressId']);
         if (!empty($membersDetails['addrBill'])) {
             $billAddr = $oAddress->populate($membersDetails['addrBill'], $lang);
         }
         if (!empty($membersDetails['addrShip'])) {
             $shipAddr = $oAddress->populate($membersDetails['addrShip'], $lang);
         }
         //            $oRetailer = new RetailersObject();
         //            $onWeb = $oRetailer->getRetailerInfos($membersDetails['member_id'], $lang);
         //            if ($onWeb && !empty($onWeb['R_AddressId']))
         //            {
         //                $webAddrFr = $oAddress->populate($onWeb['R_AddressId'], 1);
         //                $webAddrEn = $oAddress->populate($onWeb['R_AddressId'], 2);
         //                $webAddr['isDistributeur-1'] = $onWeb['R_Status'];
         //                $form->getSubForm('retailerForm')->getElement('isDistributeur')->setValue($onWeb['R_Status']);
         //            }
         if (!empty($billAddr)) {
             $membersDetails['addressFact'] = $billAddr;
             //                $membersDetails['AI_FirstTel'] = $billAddr['AI_FirstTel'];
             //                $membersDetails['AI_SecondTel'] = $billAddr['AI_SecondTel'];
             //                $membersDetails['A_Fax'] = $billAddr['A_Fax'];
         }
         if (isset($shipAddr['A_Duplicate']) && !$shipAddr['A_Duplicate']) {
             $shipAddr['duplicate'] = 0;
         }
         if (!empty($shipAddr)) {
             $membersDetails['addressShipping'] = $shipAddr;
         }
         //            $membersDetails['retailerForm']    = $webAddrFr;
         //            $membersDetails['retailerFormEn']  = $webAddrEn;
         $memberForm = $form->getSubForm('membersForm');
         $stateBill = $memberForm->getSubForm('addressFact')->getElement('A_StateId');
         $stateShip = $memberForm->getSubForm('addressShipping')->getElement('A_StateId');
         $countries = Cible_FunctionsGeneral::getCountries();
         if (count($webAddr) > 0) {
             $membersDetails['AI_WebSite'] = $billAddr['AI_WebSite'];
             $current_state = $billAddr['A_StateId'] . $this->_separ . $shipAddr['A_StateId'] . $this->_separ . $webAddrFr['A_StateId'] . $this->_separ;
             $currentCity = $billAddr['A_CityId'] . $this->_separ . $shipAddr['A_CityId'] . $this->_separ . $webAddrFr['A_CityId'] . $this->_separ;
         } elseif (!empty($billAddr) && !empty($shipAddr)) {
             $current_state = $billAddr['A_StateId'] . $this->_separ . $shipAddr['A_StateId'] . $this->_separ;
             $currentCity = $billAddr['A_CityId'] . $this->_separ . $shipAddr['A_CityId'] . $this->_separ;
         }
     }
     if ($this->_request->isPost()) {
         $data = $this->_request->getPost();
         $currentCity = $data['retailerForm']['A_CityId'];
         $current_state = $data['membersForm']['addressFact']['A_StateId'] . $this->_separ;
         $current_state .= $data['membersForm']['addressShipping']['A_StateId'] . $this->_separ;
         $current_state .= $data['retailerForm']['A_StateId'];
         //            ksort($data);
         //            $tmpPostAddr   = $this->_statesCitiesList($data, $form);
         //            $currentCity   = substr($tmpPostAddr['currentCity'], 0, strlen($tmpPostAddr['currentCity'])-1);
         //            $current_state = substr($tmpPostAddr['currentState'], 0, strlen($tmpPostAddr['currentState'])-1);
     }
     $this->view->assign('selectedCity', $currentCity);
     $this->view->assign('selectedState', $current_state);
     $addressFields = array_unique($addressFields);
     //            if( $memberForm->getElement("isRetailer")->isChecked() ) {
     //                $this->view->headStyle()->appendStyle('dd.validatedBy { display: none }');
     //            }
     if ($this->_request->isPost()) {
         $formData = $this->_request->getPost();
         if ($form->getSubForm('membersForm')) {
             $oAddress = new AddressObject();
             // Get the addresses data to insert
             $addressFact = $formData['membersForm']['addressFact'];
             $addressShipping = $formData['membersForm']['addressShipping'];
             //                $addressRetailer   = $formData['retailerForm'];
             //                $addressRetailerEn = $formData['retailerFormEn'];
             //Remove data form form if the shipping address is the same as bill
             if ($addressShipping['duplicate'] == 1) {
                 $subFormShip = $form->getSubForm('addressShipping');
                 foreach ($subFormShip as $key => $value) {
                     $value->clearValidators()->setRequired(false);
                 }
                 unset($formData['addressShipping']);
             }
             //If customer doesn't want to add data on website, set to false the field name
             //                if ($addressRetailer['isDistributeur'] == 1)
             //                {
             //                    $form->getSubForm('retailerForm')->getElement('AI_Name')->clearValidators()->setRequired(false);
             //                    $form->getSubForm('retailerFormEn')->getElement('AI_Name')->clearValidators()->setRequired(false);
             //                }
             //                $form->removeSubForm('addressShipping');
         }
         if ($form->isValid($formData)) {
             if (array_key_exists('genericForm', $formData)) {
                 $genericForm = $formData['genericForm'];
                 $genericProfil = new GenericProfile();
                 $langId = $genericForm['language'];
                 $members = $genericProfil->findMembers(array('email' => $genericForm['email']));
                 if (count($members) == 1 and $members[0]['member_id'] == $memberID or count($members) == 0) {
                     $genericProfil->updateMember($memberID, $genericForm);
                 } else {
                     $form->getSubForm('genericForm')->getElement('email')->addError($this->view->getCibleText('validation_message_used_email'));
                     $cancelUrl = '';
                 }
             }
             if (array_key_exists('newsletterForm', $formData)) {
                 $newsletterForm = $formData['newsletterForm'];
                 $newsletterProfile = new NewsletterProfile();
                 $cat = "";
                 foreach ($newsletterForm as $item => $val) {
                     if ($val == 1) {
                         if ($cat == "") {
                             $cat = str_replace('chkNewsletter', '', $item);
                         } else {
                             $cat .= "," . str_replace('chkNewsletter', '', $item);
                         }
                     }
                 }
                 $newsletterProfile->updateMember($memberID, array('newsletter_categories' => $cat));
             }
             if (array_key_exists('membersForm', $formData)) {
                 $membersForm = $formData['membersForm'];
                 $langId = $this->_defaultInterfaceLanguage;
                 if (!empty($membersForm['password'])) {
                     $membersForm['password'] = md5($membersForm['password']);
                 } else {
                     $membersForm['password'] = $membersDetails['password'];
                 }
                 $memberProfil = new MemberProfile();
                 //get the last data to merge in the billing address
                 //                    $addressFact['A_Fax'] = $membersForm['A_Fax'];
                 //                    $addressFact['AI_FirstTel'] = $membersForm['AI_FirstTel'];
                 //                    $addressFact['AI_SecondTel'] = $membersForm['AI_SecondTel'];
                 //                    $addressFact['AI_WebSite'] = $membersForm['AI_WebSite'];
                 if (empty($billAddr['A_AddressId'])) {
                     $billAddr['A_AddressId'] = $oAddress->insert($addressFact, $langId);
                     $membersForm['addressFact']['addrBill'] = $billAddr['A_AddressId'];
                     $membersForm['addrBill'] = $billAddr['A_AddressId'];
                 } else {
                     $oAddress->save($billAddr['A_AddressId'], $addressFact, $langId);
                 }
                 if ($addressShipping['duplicate'] == 1) {
                     $addressFact['A_Duplicate'] = $billAddr['A_AddressId'];
                     if (empty($shipAddr['A_AddressId'])) {
                         $shipAddrId = $oAddress->insert($addressFact, $langId);
                         $membersForm['addressShipping']['addrShip'] = $shipAddrId;
                         $membersForm['addrShip'] = $shipAddrId;
                     } else {
                         $oAddress->save($shipAddr['A_AddressId'], $addressFact, $langId);
                     }
                 } else {
                     $addressShipping['A_Duplicate'] = 0;
                     if (empty($shipAddr['A_AddressId'])) {
                         $shipAddrId = $oAddress->insert($addressShipping, $langId);
                         $membersForm['addressShipping']['addrShip'] = $shipAddrId;
                         $membersForm['addrShip'] = $shipAddrId;
                     } else {
                         $oAddress->save($shipAddr['A_AddressId'], $addressShipping, $langId);
                     }
                 }
                 $memberProfil->updateMember($memberID, $membersForm);
                 //If customer doesn't want to add data on website, set to false the field name
                 //                    switch ($addressRetailer['isDistributeur'])
                 //                    {
                 //                        case 1:
                 //                            if (!empty($onWeb))
                 //                            {
                 //                                $retailerData = array(
                 //                                    'R_Status' => $addressRetailer['isDistributeur']);
                 //                                $oRetailer->save($onWeb['R_ID'], $retailerData, $langId);
                 //                            }
                 //                            break;
                 //                        case 2:
                 //                            if (!empty($webAddrFr))
                 //                            {
                 //                                $retailerData = array(
                 //                                    'R_Status' => $addressRetailer['isDistributeur']);
                 //                                $oAddress->save($webAddrFr['A_AddressId'], $addressRetailer, 1);
                 //                                $oAddress->save($webAddrFr['A_AddressId'], $addressRetailerEn, 2);
                 //                                $oRetailer->save($onWeb['R_ID'], $retailerData, $langId);
                 //                            }
                 //                            else
                 //                            {
                 //                                $addressId = $oAddress->insert($addressRetailer, 1);
                 //                                $oAddress->save($addressId, $addressRetailerEn, 2);
                 //                                $retailerData = array(
                 //                                    'R_GenericProfileId' => $memberID,
                 //                                    'R_AddressId' => $addressId,
                 //                                    'R_Status' => $addressRetailer['isDistributeur']
                 //                                );
                 //                                $oRetailer->insert($retailerData, $langId);
                 //                            }
                 //                            break;
                 //                        default:
                 //                            break;
                 //                    }
             }
             if ($cancelUrl != '') {
                 $this->_redirect(str_replace($baseDir, '', $cancelUrl));
             }
         }
     } else {
         $this->view->assign('membersDetails', $membersDetails);
         if ($genericMemberDetails) {
             $form->populate($genericMemberDetails);
         }
         if ($newsletterMemberDetails) {
             $form->populate($newsletterMemberDetails);
         }
         if ($membersDetails) {
             $form->populate($membersDetails);
         }
         if ($memberCat) {
             $form->populate($memberCat);
         }
         //                if( $form->getSubForm('membersForm')->getElement("isRetailer")->isChecked() ) {
         //                    $this->view->headStyle()->appendStyle('dd.validatedBy { display: none }');
         //                }
         $this->view->assign('form', $form);
     }
 }
Exemplo n.º 3
0
    public function __construct($options = null)
    {
        $this->_disabledDefaultActions = true;
        parent::__construct($options);
        $baseDir = $this->getView()->baseUrl();
        $countries = Cible_FunctionsGeneral::getCountries();
        $langId = Zend_Registry::get('languageID');
        $json_countries = json_encode($countries);
        $script = <<<EOS
            var countries = {$json_countries};
            var langId = {$langId};
            var first  = 1;

            \$(window).load(function(){
//                \$('#country').val('7');
            });

            \$('#country').change(function(){
                var ctl_states = \$('#state')
                var ctl_cities = \$('#city')
                ctl_states.empty();
                ctl_cities.empty();
                if(first)
                {
                    \$('#country').val('7');
                    \$('#state').val('11');
                }
                \$('#retailers-list').html('');

                \$.getJSON('{$this->getView()->baseUrl()}/retailers/index/ajax-retailers/field/countryId/value/' + \$(this).val() + '/langId/' + langId,
                    function(data){

                        \$('#retailers-list').html(data);
                });
                \$.getJSON(
                    '{$this->getView()->baseUrl()}/retailers/index/ajax-states/countryId/' + \$(this).val() + '/langId/' + langId,
                     function(states_list){
                        \$('<option value="" label="">{$this->getView()->getCibleText('form_label_select_state')}</option>').appendTo(ctl_states);
                        \$.each(states_list, function(i, item){
                            if(\$('#selectedState').val() == item.id){

                                \$('<option value="'+item.id+'" label="'+item.name+'" selected="selected">'+item.name+'</option>').appendTo(ctl_states);
                                \$('#selectedState').val('');
                            }
                            else if(first){
                                if(item.id==11){
                                    \$('<option value="'+item.id+'" label="'+item.name+'" selected="selected">'+item.name+'</option>').appendTo(ctl_states);
                                    \$('#selectedState').val('');
                                }
                                else{
                                    \$('<option value="'+item.id+'" label="'+item.name+'">'+item.name+'</option>').appendTo(ctl_states);
                                }
                            }
                            else
                                \$('<option value="'+item.id+'" label="'+item.name+'">'+item.name+'</option>').appendTo(ctl_states);

                        });


                    });

                }).change();

            \$('#state').change(function(){
                var ctl_cities = \$('#city');
                ctl_cities.empty();
                \$('#retailers-list').html('');
                var stateId = \$(this).val();
                if (\$('#selectedState').val() != '')
                    stateId = \$('#selectedState').val();
             // alert(first);
               if(first){
                    first = 0;
                    stateId = 11;
                }
                if(stateId)
                {
                    \$.getJSON('{$this->getView()->baseUrl()}/retailers/index/ajax-retailers/field/stateId/value/' + stateId + '/langId/' + langId,
                        function(data){

                        \$('#retailers-list').html(data);
                    });

                    \$.getJSON('{$this->getView()->baseUrl()}/retailers/index/ajax-cities/stateId/' + stateId + '/filter/1',
                        function(data){
                            \$('<option value="" label="">{$this->getView()->getCibleText('form_label_select_city')}</option>').appendTo(ctl_cities);
                            \$.each(data, function(i, item){
                                if(\$('#selectedCity').val() == item.C_ID)
                                {
                                    \$('<option value="'+item.C_ID+'" label="'+item.C_Name+'" selected="selected">'+item.C_Name+'</option>').appendTo(ctl_cities);
                                    \$('#selectedCity').val('');
                                }
                                else
                                    \$('<option value="'+item.C_ID+'" label="'+item.C_Name+'">'+item.C_Name+'</option>').appendTo(ctl_cities);
                            });
                        });

                }

            }).change();

            \$('#city').change(function(){

                \$('#retailers-list').html('');
                idCity = \$('#selectedCity').val();
                if (\$('#selectedCity').val() == '')
                    idCity = \$(this).val();

                \$.getJSON('{$this->getView()->baseUrl()}/retailers/index/ajax-retailers/field/cityId/value/' + idCity + '/langId/' + langId,
                    function(data){

                        \$('#retailers-list').html(data);
                });

            });


EOS;
        $this->getView()->jQuery()->addOnLoad($script);
        // Country
        $country = new Zend_Form_Element_Select('country');
        $country->setLabel($this->getView()->getCibleText('form_label_country'))->setAttrib('class', 'stdSelect');
        foreach ($countries as $_country) {
            $country->addMultiOption($_country['ID'], $_country['name']);
        }
        $this->addElement($country);
        // State
        $state = new Zend_Form_Element_Select('state');
        $state->setLabel($this->getView()->getCibleText('form_label_state'))->setAttrib('class', 'stdSelect');
        $this->addElement($state);
        // City
        $city = new Zend_Form_Element_Select('city');
        $city->setLabel($this->getView()->getCibleText('form_label_city'))->setAttrib('class', 'stdSelect');
        $city->addMultiOption('', $this->getView()->getCibleText('form_label_select_city'));
        $this->addElement($city);
        $this->addAttribs(array('id' => 'formDetaillants'));
    }
Exemplo n.º 4
0
    /**
     * Prepend a javascript script in order to manage dropdown lists of
     * countries, states and cities.
     * Also add mask for numbers format.
     *
     * @return void
     */
    public function jsLocationScript($countries)
    {
        if ($this->_form instanceof Cible_Form_SubForm || $this->_form instanceof Zend_Form_SubForm) {
            $idPrefix = $this->_parentForm . $this->_form->getName() . '-';
        }
        $index = 0;
        $tmp = 0;
        //        $tmp   = "var selectedCity  = new Array();\r\n";
        if (Zend_Registry::isRegistered('nbAddr')) {
            $index = Zend_Registry::get('nbAddr');
        }
        if (!$index) {
            $tmp = "var selectedState = 0;\r\n";
            $tmp .= "var selectedCity  = 0;\r\n";
            $tmp .= "if(\$('input[id\$=selectedState]').length)\r\n";
            $tmp .= "    selectedState = (\$('input[id\$=selectedState]').val()).split('||');\r\n";
            $tmp .= "if(\$('input[id\$=selectedCity]').length)\r\n";
            $tmp .= "    selectedCity  = (\$('input[id\$=selectedCity]').val()).split('||');\r\n";
        }
        $langId = Zend_Registry::get('languageID');
        $countries = Cible_FunctionsGeneral::getCountries();
        $json_countries = json_encode($countries);
        $script = <<<EOS
//        var countries = {$json_countries};
        var langId = {$langId};
        {$tmp}
        \$('#{$idPrefix}{$this->_country}').live('change',function()
        {
            var ctl_states = \$('#{$idPrefix}{$this->_state}')
            var ctl_cities = \$('#{$idPrefix}{$this->_city}')
            var states_list = [];
            ctl_states.empty();
            ctl_cities.empty();

            \$.getJSON(
                '{$this->view->baseUrl()}/default/index/ajax-states/countryId/' + \$(this).val() + '/langId/' + langId,
                function(states_list){
                    \$('<option value="" label="">{$this->view->getCibleText('form_label_select_state')}</option>').appendTo(ctl_states);
                    \$.each(states_list, function(i, item){
                        if(selectedState[{$index}] == item.id){
                            \$('<option value="'+item.id+'" label="'+item.name+'" selected="selected">'+item.name+'</option>').appendTo(ctl_states);
                            \$('#selectedState').val('');
                            selectedState[{$index}] = '';
                        }
                        else
                            \$('<option value="'+item.id+'" label="'+item.name+'">'+item.name+'</option>').appendTo(ctl_states);

                    });
                    if (\$('#{$idPrefix}{$this->_state} option').length < 2)
                    {
                        ctl_states.addClass('hidden');
                        \$('label[for={$idPrefix}{$this->_state}]').addClass('hidden');
                    }
                    else
                    {
                        ctl_states.removeClass('hidden');
                        \$('label[for={$idPrefix}{$this->_state}]').removeClass('hidden');
                    }
                }
            );

        }).change();

EOS;
        if ($this->_addScriptState) {
            $script .= <<<EOS
            \$('#{$idPrefix}{$this->_state}').live('change', function()
            {
                var ctl_cities = \$('#{$idPrefix}{$this->_city}');
                ctl_cities.empty();
                var stateId = \$(this).val();

                var bool = selectedState[{$index}] || 0;

                if (bool)
                    stateId = selectedState[{$index}];
                else
                    stateId = \$(this).val();

                if (selectedCity.length == 1 && {$index} > 0)
                    thisCity = selectedCity[0];
                else
                    thisCity = selectedCity[{$index}];

                \$.getJSON('{$this->view->baseUrl()}/default/index/ajax-cities/stateId/' + stateId,
                    function(data)
                    {
                        \$('<option value="" label="">{$this->view->getCibleText('form_label_select_city')}</option>').appendTo(ctl_cities);
                        \$.each(data, function(i, item){
                            if(thisCity == item.C_ID){
                                \$('<option value="'+item.C_ID+'" label="'+item.C_Name+'" selected="selected">'+item.C_Name+'</option>').appendTo(ctl_cities);
                                \$('#selectedCity').val('');
                            }
                            else
                                \$('<option value="'+item.C_ID+'" label="'+item.C_Name+'">'+item.C_Name+'</option>').appendTo(ctl_cities);
                        });
                });
            }).change();
EOS;
        }
        Zend_Registry::set('nbAddr', $index + 1);
        $this->_script .= $script;
    }
Exemplo n.º 5
0
    public function __construct($options = null)
    {
        $this->_disabledDefaultActions = true;
        parent::__construct($options);
        $baseDir = $this->getView()->baseUrl();
        $countries = Cible_FunctionsGeneral::getCountries(null, null, true);
        $langId = Zend_Registry::get('languageID');
        $json_countries = json_encode($countries);
        $script = <<<EOS
            var countries = {$json_countries};
            var langId = {$langId};

            \$('#country').change(function(){
                var ctl_states = \$('#state')
                var ctl_cities = \$('#city')
                \$('#retailer').empty();
                ctl_states.empty();
                ctl_cities.empty();
                \$('#retailer-data').html('');

            \$.getJSON(
                '{$this->getView()->baseUrl()}/retailers/index/ajax-states/countryId/' + \$(this).val() + '/langId/' + langId + '/filter/1',
                 function(states_list){
                    \$('<option value="" label="">{$this->getView()->getCibleText('form_label_select_state')}</option>').appendTo(ctl_states);
                    \$.each(states_list, function(i, item){
                        if(\$('#selectedState').val() == item.id){
                            \$('<option value="'+item.id+'" label="'+item.name+'" selected="selected">'+item.name+'</option>').appendTo(ctl_states);
                            \$('#selectedState').val('');
                        }
                        else
                            \$('<option value="'+item.id+'" label="'+item.name+'">'+item.name+'</option>').appendTo(ctl_states);

                    });
                });
            }).change();

            \$('#state').change(function(){

                var ctl_cities = \$('#city');
                ctl_cities.empty();
                \$('#retailer').empty();
                \$('#retailer-data').html('');
                stateId = \$(this).val();
                if (\$('#selectedState').val() != '')
                    var stateId = \$('#selectedState').val();

                \$.getJSON('{$this->getView()->baseUrl()}/retailers/index/ajax-cities/stateId/' + stateId + '/filter/1',
                    function(data){
                        \$('<option value="" label="">{$this->getView()->getCibleText('form_label_select_city')}</option>').appendTo(ctl_cities);
                        \$.each(data, function(i, item){
                            if(\$('#selectedCity').val() == item.C_ID){
                                \$('<option value="'+item.C_ID+'" label="'+item.V_Name+'" selected="selected">'+item.V_Name+'</option>').appendTo(ctl_cities);
                                \$('#selectedCity').val('');
                            }
                            else
                                \$('<option value="'+item.C_ID+'" label="'+item.V_Name+'">'+item.V_Name+'</option>').appendTo(ctl_cities);
                        });

                        if (\$('#selectedCity').val())
                            \$('#selectedCity').val('');
                });
            }).change();

            \$('#city').change(function(){
                var ctl_retailers = \$('#retailer');
                ctl_retailers.empty();
                \$('#retailer-data').html('');
                idCity = \$('#selectedCity').val();
                if (\$('#selectedCity').val() == '')
                    idCity = \$(this).val();

                \$.getJSON('{$this->getView()->baseUrl()}/retailers/index/ajax-retailers/render/false/field/cityId/value/' + idCity + '/langId/' + langId,
                    function(data){

                        \$('<option value="" label="">{$this->getView()->getClientText('form_label_select_retailer')}</option>').appendTo(ctl_retailers);

                        \$.each(data, function(i, item){
                            \$('<option value="'+item.CityID+"-"+item.RetailerId+'" label="'+item.Entreprise1+'">'+item.Entreprise1+'</option>').appendTo(ctl_retailers);

                        });
                });

            }).change();

            \$('#retailer').change(function()
            {
                \$('#retailer-data').html('');
                var params = (\$(this).val()).split('-');
                var cityId = params[0];
                var retailerId = params[1];

                \$.getJSON('{$this->getView()->baseUrl()}/retailers/index/ajax-retailers/field/cityId/value/' + cityId + '/retailerId/' + retailerId + '/langId/' + langId,
                    function(data){

                        \$('#retailer-data').html(data);
                });

            });


EOS;
        $this->getView()->jQuery()->addOnLoad($script);
        //Textarea for comments
        $comments = new Zend_Form_Element_Textarea('infoComments');
        $comments->setLabel($this->getView()->getClientText('quoteRequest_resume_comments_title'))->setAttrib('class', '')->setDecorators(array('viewHelper', 'Errors', array('Label', array('tag' => 'p', 'class' => 'subtitles')), array(array('row' => 'HtmlTag'), array('tag' => 'div', 'id' => 'comments'))));
        $this->addElement($comments);
        // Country
        $country = new Zend_Form_Element_Select('country');
        $country->setLabel($this->getView()->getCibleText('form_label_country'))->setAttrib('class', 'stdTextInput');
        foreach ($countries as $_country) {
            $country->addMultiOption($_country['ID'], $_country['name']);
        }
        $this->addElement($country);
        // State
        $state = new Zend_Form_Element_Select('state');
        $state->setLabel($this->getView()->getCibleText('form_label_state'))->setAttrib('class', 'stdTextInput');
        $this->addElement($state);
        // City
        $city = new Zend_Form_Element_Select('city');
        $city->setLabel($this->getView()->getCibleText('form_label_city'))->setAttribs(array('class' => 'stdTextInput'));
        $city->addMultiOption('', $this->getView()->getCibleText('form_label_select_city'));
        $this->addElement($city);
        // Retailers
        $retailer = new Zend_Form_Element_Select('retailer');
        $retailer->setLabel($this->getView()->getCibleText('form_label_choose_retailer'))->setAttrib('class', 'stdTextInput');
        //                ->setRequired(true)
        //                ->addFilter('StripTags')
        //                ->addFilter('StringTrim')
        //                ->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => $this->getView()->getCibleText('validation_message_empty_field'))));
        $this->addElement($retailer);
        // Submit button
        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setLabel('')->setAttrib('class', 'subscribeButton-' . Zend_Registry::get("languageSuffix"));
        $this->addElement($submit);
        $submit->removeDecorator('Label')->addDecorators(array(array(array('data' => 'HtmlTag'), array('tag' => 'td', 'colspan' => 2, 'class' => 'account-submit'))));
        $this->addAttribs(array('id' => 'formDetaillants'));
    }
Exemplo n.º 6
0
 /**
  * Format address and set string values.
  *
  * @param array $address
  * @param array $addressName
  * @param Zend_Session_Namespace $session
  */
 protected function getAddrData($address, $addressName, $session)
 {
     if (isset($address['A_CityId']) && (int) $address['A_CityId']) {
         $city = Cible_FunctionsGeneral::getCities(Zend_Registry::get('languageID'), $address['A_CityId']);
         $session->customer[$addressName]['A_CityId'] = utf8_decode($city['value']);
     }
     if ((int) $address['A_CountryId']) {
         $country = Cible_FunctionsGeneral::getCountries(Zend_Registry::get('languageID'), $address['A_CountryId']);
         $session->customer[$addressName]['A_CountryId'] = utf8_decode($country['name']);
     }
     if ((int) $address['A_StateId']) {
         $state = Cible_FunctionsGeneral::getStates(Zend_Registry::get('languageID'), $address['A_StateId']);
         $session->customer[$addressName]['A_StateId'] = utf8_decode($state['name']);
     }
 }