Beispiel #1
0
 private function _setUserContact($user)
 {
     $contact = $user->createContact();
     $company = \GO\Addressbook\Model\Company::model()->findSingleByAttribute('name', 'ACME Rocket Powered Products');
     if (!$company) {
         $company = new \GO\Addressbook\Model\Company();
         $company->setAttributes(array('addressbook_id' => $contact->addressbook_id, 'name' => 'ACME Rocket Powered Products', 'address' => '1111 Broadway', 'address_no' => '', 'zip' => '10019', 'city' => 'New York', 'state' => 'NY', 'country' => 'US', 'post_address' => '1111 Broadway', 'post_address_no' => '', 'post_zip' => '10019', 'post_city' => 'New York', 'post_state' => 'NY', 'post_country' => 'US', 'phone' => '(555) 123-4567', 'fax' => '(555) 123-4567', 'email' => '*****@*****.**', 'homepage' => 'http://www.acmerpp.demo', 'bank_no' => '', 'vat_no' => 'US 1234.56.789.B01', 'user_id' => 1, 'comment' => 'The name Acme became popular for businesses by the 1920s, when alphabetized business telephone directories such as the Yellow Pages began to be widespread. There were a flood of businesses named Acme (some of these still survive[1]). For example, early Sears catalogues contained a number of products with the "Acme" trademark, including anvils, which are frequently used in Warner Bros. cartoons.[2]'));
         $company->save();
     }
     $contact->company_id = $company->id;
     $contact->function = 'CEO';
     $contact->cellular = '06-12345678';
     $contact->address = '1111 Broadway';
     $contact->address_no = '';
     $contact->zip = '10019';
     $contact->city = 'New York';
     $contact->state = 'NY';
     $contact->country = 'US';
     $contact->save();
 }
Beispiel #2
0
 protected function actionProfile()
 {
     $user = \GO::user();
     $contact = $user->contact;
     //set additional required fields
     $contact->setValidationRule('address', 'required', true);
     $contact->setValidationRule('zip', 'required', true);
     $contact->setValidationRule('city', 'required', true);
     //		$user->setValidationRule('passwordConfirm', 'required', false);
     $user->setValidationRule('password', 'required', false);
     \GO::config()->password_validate = false;
     if ($contact->company) {
         $company = $contact->company;
     } else {
         $company = new \GO\Addressbook\Model\Company();
         $company->addressbook_id = $contact->addressbook_id;
     }
     if (\GO\Base\Util\Http::isPostRequest()) {
         if (!empty($_POST['currentPassword']) && !empty($_POST['User']['password'])) {
             if (!$user->checkPassword($_POST['currentPassword'])) {
                 GOS::site()->notifier->setMessage('error', "Huidig wachtwoord onjuist");
                 unset($_POST['User']['password']);
                 unset($_POST['User']['passwordConfirm']);
             }
         } else {
             unset($_POST['User']['password']);
             unset($_POST['User']['passwordConfirm']);
         }
         $user->setAttributes($_POST['User']);
         $contact->setAttributes($_POST['Contact']);
         $company->setAttributes($_POST['Company']);
         $company->checkVatNumber = true;
         if (!empty($_POST['Company']['postAddressIsEqual'])) {
             $company->setPostAddressFromVisitAddress();
         }
         if (!GOS::site()->notifier->hasMessage('error') && $user->validate() && $contact->validate() && $company->validate()) {
             \GO::setIgnoreAclPermissions();
             //allow guest to create user
             $user->save();
             $company->save();
             $contact->company_id = $company->id;
             $contact->save();
             GOS::site()->notifier->setMessage('success', GOS::t('formEditSuccess'));
         } else {
             GOS::site()->notifier->setMessage('error', "Please check the form for errors");
         }
     }
     $company->post_address_is_address = false;
     if ($company->address == $company->post_address && $company->address_no == $company->post_address_no && $company->city == $company->post_city) {
         $company->post_address_is_address = true;
     }
     //clear values for form
     $user->password = "";
     $user->passwordConfirm = "";
     echo $this->render('profile', array('user' => $user, 'contact' => $contact, 'company' => $company));
 }
Beispiel #3
0
 protected function actionContact()
 {
     //GOS::site()->config->contact_addressbook_id;
     if (\GO\Base\Util\Http::isPostRequest()) {
         if (isset($_POST['Addressbook']['name'])) {
             $addressbookModel = \GO\Addressbook\Model\Addressbook::model()->findSingleByAttribute('name', $_POST['Addressbook']['name']);
         } else {
             $addressbookModel = \GO\Addressbook\Model\Addressbook::model()->findByPk($_POST['Addressbook']['id']);
         }
         if (!$addressbookModel) {
             throw new \Exception(sprintf(\GO::t('addressbookNotFound', 'defaultsite'), $_POST['Addressbook']['name']));
         }
         $contactModel = \GO\Addressbook\Model\Contact::model()->findSingleByAttributes(array('email' => $_POST['Contact']['email'], 'addressbook_id' => $addressbookModel->id));
         if (!$contactModel) {
             $contactModel = new \GO\Addressbook\Model\Contact();
             $contactModel->addressbook_id = $addressbookModel->id;
         }
         $contactModel->setValidationRule('first_name', 'required', true);
         $contactModel->setValidationRule('last_name', 'required', true);
         $contactModel->setValidationRule('email', 'required', true);
         $companyModel = \GO\Addressbook\Model\Company::model()->findSingleByAttributes(array('name' => $_POST['Company']['name'], 'addressbook_id' => $addressbookModel->id));
         if (!$companyModel) {
             $companyModel = new \GO\Addressbook\Model\Company();
             $companyModel->addressbook_id = $addressbookModel->id;
         }
         $companyModel->setValidationRule('name', 'required', true);
         $companyModel->setAttributes($_POST['Company']);
         if ($companyModel->validate()) {
             $companyModel->save();
             $contactModel->company_id = $companyModel->id;
         }
         $contactModel->setAttributes($_POST['Contact']);
         if ($contactModel->validate()) {
             $saveSuccess = $contactModel->save();
             if ($saveSuccess) {
                 // Add to mailings.
                 $addresslists = !empty($_POST['Addresslist']) ? $_POST['Addresslist'] : array();
                 foreach ($addresslists as $addresslistName => $checked) {
                     if (!empty($checked)) {
                         $addresslistModel = \GO\Addressbook\Model\Addresslist::model()->findSingleByAttribute('name', $addresslistName);
                         if ($addresslistModel) {
                             $addresslistContactModel = \GO\Addressbook\Model\AddresslistContact::model()->findSingleByAttributes(array('contact_id' => $contactModel->id, 'addresslist_id' => $addresslistModel->id));
                             if (!$addresslistContactModel) {
                                 $addresslistContactModel = new \GO\Addressbook\Model\AddresslistContact();
                                 $addresslistContactModel->contact_id = $contactModel->id;
                                 $addresslistContactModel->addresslist_id = $addresslistModel->id;
                                 $addresslistContactModel->save();
                             }
                         }
                     }
                 }
                 echo $this->render('contactform_done');
             } else {
                 echo $this->render('contactform', array('contact' => $contactModel, 'company' => $companyModel, 'addressbook' => $addressbookModel));
             }
         } else {
             $validationErrors = $contactModel->getValidationErrors();
             foreach ($validationErrors as $valError) {
                 echo $valError;
             }
             echo $this->render('contactform', array('contact' => $contactModel, 'company' => $companyModel, 'addressbook' => $addressbookModel));
         }
     } else {
         $addressbookModel = new \GO\Addressbook\Model\Addressbook();
         $contactModel = new \GO\Addressbook\Model\Contact();
         $companyModel = new \GO\Addressbook\Model\Company();
         echo $this->render('contactform', array('contact' => $contactModel, 'company' => $companyModel, 'addressbook' => $addressbookModel));
     }
 }