public function actionIndex() { $this->pageTitle = Lang::t('Register'); $user_model = new Users(Users::SCENARIO_SIGNUP); $user_model->activation_code = Common::generateHash(microtime()); $user_model->user_level = UserLevels::LEVEL_MEMBER; $user_model->timezone = SettingsTimezone::DEFAULT_TIME_ZONE; $user_model_class_name = $user_model->getClassName(); $person_model = new Person(); $person_model_class_name = $person_model->getClassName(); $person_address = new PersonAddress(); $person_address_class_name = $person_address->getClassName(); if (Yii::app()->request->isPostRequest) { $verifyPhoneCode = isset($_POST['verifyPhoneCode']) ? $_POST['verifyPhoneCode'] : null; $verifyMailCode = isset($_POST['verifyMailCode']) ? $_POST['verifyMailCode'] : null; if (isset($_POST[$user_model_class_name])) { $user_model->validatorList->add(CValidator::createValidator('CaptchaExtendedValidator', $user_model, 'verifyCode', array('allowEmpty' => !CCaptcha::checkRequirements()))); $user_model->attributes = $_POST[$user_model_class_name]; $user_model->status = 'Active'; $user_model->answer = strtoupper($user_model->answer); $user_model->validate(); } if (isset($_POST[$person_model_class_name])) { $person_model->attributes = $_POST[$person_model_class_name]; $person_model->married = 'n'; $person_model->havechildren = 'n'; $person_model->validate(); } if (isset($_POST['PersonAddress'])) { $person_address->attributes = $_POST[$person_address_class_name]; $person_address->validate(array('phone1')); } if (!$user_model->hasErrors() && !$person_model->hasErrors() && !$person_address->hasErrors()) { if ($user_model->save(FALSE)) { $person_model->id = $user_model->id; $person_model->save(FALSE); $person_address->person_id = $person_model->id; $person_address->save(FALSE); Yii::app()->user->setFlash('success', Lang::t('Account created successfullly. Please enter your login details.')); $this->redirect($this->createUrl('/users/default/view', array('id' => $user_model->id))); //$this->redirect('../default/login'); } } } $this->render('index', array('user_model' => $user_model, 'person_model' => $person_model, 'person_address' => $person_address, 'verifyPhoneCode' => isset($verifyPhoneCode) ? $verifyPhoneCode : null, 'verifyMailCode' => isset($verifyMailCode) ? $verifyMailCode : null)); }
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $id = Yii::app()->user->id; $user_model = Users::model()->loadModel($id); $person_model = Person::model()->loadModel($id); $address_model = PersonAddress::model()->find('`person_id`=:t1', array(':t1' => $id)); if (NULL === $address_model) { $address_model = new PersonAddress(); $address_model->person_id = $id; } $models = $this->modelsLoop(); $models = $this->addNewModel($models, $this->modelSave($models)); $this->render('application.modules.users.views.default.view', array('user_model' => $user_model, 'person_model' => $person_model, 'address_model' => $address_model, 'models' => $models, 'jamaa' => Person::model()->findByPk($_REQUEST['id']), 'child' => DependentMembers::model()->dependents($id, 5) || DependentMembers::model()->dependents($id, 10), 'spouse' => DependentMembers::model()->dependents($id, 4) || DependentMembers::model()->dependents($id, 9), 'prnts' => DependentMembers::model()->dependents($id, 1) || DependentMembers::model()->dependents($id, 6), 'inlaws' => DependentMembers::model()->dependents($id, 2) || DependentMembers::model()->dependents($id, 7), 'siblings' => DependentMembers::model()->dependents($id, 3) || DependentMembers::model()->dependents($id, 8), 'action' => Users::ACTION_ADD_DEPENDENTS, 'render' => 'application.modules.members.views.dependentMembers.create')); }
/** * Displays a particular model. * @param integer $id the ID of the model to be displayed */ public function actionView($id = NULL, $action = NULL) { if (NULL === $id) { $id = Yii::app()->user->id; } $user_model = Users::model()->loadModel($id); $person_model = Person::model()->loadModel($id); $this->resource = Users::USER_RESOURCE_PREFIX . $user_model->user_level; if (!Users::isMyAccount($id)) { $this->hasPrivilege(); } $this->pageTitle = $person_model->name; $this->showPageTitle = TRUE; $address_model = PersonAddress::model()->find('`person_id`=:t1', array(':t1' => $id)); if (NULL === $address_model) { $address_model = new PersonAddress(); $address_model->person_id = $id; } if (!empty($action)) { if (!Users::isMyAccount($id)) { $this->checkPrivilege($user_model, Acl::ACTION_UPDATE); } switch ($action) { case Users::ACTION_UPDATE_PERSONAL: $this->update($person_model); break; case Users::ACTION_UPDATE_ACCOUNT: $this->update($user_model); break; case Users::ACTION_UPDATE_ADDRESS: $this->update($address_model); break; case Users::ACTION_RESET_PASSWORD: $this->resetPassword($user_model); break; case Users::ACTION_CHANGE_PASSWORD: $this->changePassword($user_model); break; default: $action = NULL; } } $this->render('view', array('user_model' => $user_model, 'person_model' => $person_model, 'address_model' => $address_model, 'action' => $action)); }
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $id = Yii::app()->user->id; $user_model = Users::model()->loadModel($id); $person_model = Person::model()->loadModel($id); $address_model = PersonAddress::model()->find('`person_id`=:t1', array(':t1' => $id)); if (NULL === $address_model) { $address_model = new PersonAddress(); $address_model->person_id = $id; } $models = self::kinsOrNominees(); //$this->performAjaxValidation($model); if (isset($_POST['KinsAndNominees'])) { foreach ($models as $m => $model) { $models[$m]->attributes = $_POST['KinsAndNominees'][$model->dependent_member]; KinsAndNominees::model()->modelSave($models[$m]); } } $this->render('application.modules.users.views.default.view', array('user_model' => $user_model, 'person_model' => $person_model, 'address_model' => $address_model, 'models' => $models, 'jamaa' => Person::model()->findByPk($_REQUEST['id']), 'child' => DependentMembers::model()->dependents($id, 5) || DependentMembers::model()->dependents($id, 10), 'spouse' => DependentMembers::model()->dependents($id, 4) || DependentMembers::model()->dependents($id, 9), 'prnts' => DependentMembers::model()->dependents($id, 1) || DependentMembers::model()->dependents($id, 6), 'inlaws' => DependentMembers::model()->dependents($id, 2) || DependentMembers::model()->dependents($id, 7), 'siblings' => DependentMembers::model()->dependents($id, 3) || DependentMembers::model()->dependents($id, 8), 'action' => $_REQUEST['kiNom'] == 'kin' ? KinsAndNominees::NEXT_OF_KIN : KinsAndNominees::NOMINEE, 'render' => 'application.views.kinsAndNominees.create')); }
<?php $name = Person::model()->get($model->contact_person_id, 'CONCAT(first_name," ",last_name)'); $email = Users::model()->get($model->contact_person_id, 'email'); $phone = PersonAddress::model()->getScaler('phone1', '`person_id`=:t1', array(':t1' => $model->contact_person_id)); ?> <div class="panel-group" id="accordion1"> <div class="panel panel-default"> <div class="panel-heading"> <h4 class="panel-title"> <i class="fa fa-chevron-down"></i> <a data-toggle="collapse" data-parent="#accordion1" href="#store_contact_person"><?php echo Lang::t('Contact Person'); ?> </a> <?php if (!empty($model->contact_person_id) && $this->showLink(UserResources::RES_USER_ADMIN)) { ?> <span><a class="pull-right" href="<?php echo Yii::app()->createUrl('users/default/view', array('id' => $model->contact_person_id)); ?> "><?php echo Lang::t('View full profile'); ?> <i class="fa fa-external-link"></i></a></span> <?php } ?> </h4> </div> <div id="store_contact_person" class="panel-collapse collapse in"> <div class="panel-body">
function loadPeople($data, &$errors = array(), &$warnings = array()) { $system = system::Instance(); $db = DB::Instance(); $flash = Flash::Instance(); if ($this->abort_action == 'A') { // Set encompassing transaction if need to abort all on error $db->StartTrans(); } $data_in = $this->convertData($data); if (is_array($data_in) && count($data_in) > 0) { foreach ($data_in as $line) { $model_data = array(); foreach ($line as $model => $fields) { switch ($model) { case 'Person': $model_data['Party']['type'] = $model; $model_data[$model] = $fields; $model_data[$model]['is_lead'] = empty($fields['accountnumber']) ? true : false; break; case 'PersonAddress': $model_data['Address'] = $fields; $values = false; foreach ($fields as $field => $value) { if (!empty($value)) { $values = true; break; } } if ($values) { $model_data['PartyAddress']['main'] = true; // Check for existing entry $address = new PersonAddress(); $address->loadBy(array('street1', 'street2', 'street3', 'town', 'county', 'postcode'), array($fields['street1'], $fields['street2'], $fields['street3'], $fields['town'], $fields['county'], $fields['postcode'])); if ($address->isLoaded()) { $model_data['PartyAddress']['address_id'] = $model_data['Address'][$address->idField] = $address->{$address->idField}; } } else { unset($model_data['Address']); } break; case 'ContactMethod': foreach ($fields as $type => $value) { if (!empty($value)) { $model_data[$type]['ContactMethod']['contact'] = $value; $model_data[$type]['PartyContactMethod']['main'] = true; switch ($type) { case 'phone': $model_data[$type]['PartyContactMethod']['type'] = 'T'; break; case 'email': $model_data[$type]['PartyContactMethod']['type'] = 'E'; break; case 'fax': $model_data[$type]['PartyContactMethod']['type'] = 'F'; break; case 'mobile': $model_data[$type]['PartyContactMethod']['type'] = 'M'; break; default: $model_data[$type]['PartyContactMethod']['type'] = ''; } // Check for existing entry $contactmethod = new ContactMethod(); $contactmethod->loadBy('contact', $value); if ($contactmethod->isLoaded()) { $model_data[$type]['PartyContactMethod']['contactmethod_id'] = $model_data[$type]['ContactMethod'][$contactmethod->idField] = $contactmethod->{$contactmethod->idField}; } } } break; } } if (!$system->controller->save_model('Person', $model_data, $errors, $warnings, $this->duplicates_action)) { if ($this->abort_action != 'S') { // Abort on Error if ($this->abort_action == 'A') { // Rollback all imported records $db->FailTrans(); $db->CompleteTrans(); } // If not abort_all_on_error, // then imported records up to this point will be saved return false; } // Skip error record and continue, so reset errors array $warnings[] = 'Ignored'; $warnings = array_merge($warnings, $errors); $errors = array(); $flash->clear(); } $system->controller->clearSavedModels(); } } if ($this->abort_action == 'A') { // Everything is OK here, just need to complete transaction // if mode is set to abort all on error $db->CompleteTrans(); } return array('internal_id' => null, 'internal_identifier_field' => '', 'internal_identifier_value' => ''); }
<?php $person = Person::model()->findByPk($loan->member); $address = PersonAddress::model()->addressForPerson($person->primaryKey); $loanType = Loans::model()->findByPk($loan->loan_type); ?> <table> <tr> <td style="display:table-cell; text-align:justify; width:200px; height: 12px"> <font style="font-family: sans-serif; font-weight: bold" size="11">Member’s Full Names:</font> </td> <td style="display:table-cell; text-align:justify; width:300px; height: 12px"> <font style="font-family: sans-serif; font-weight: normal" size="11"> <?php echo strtoupper("{$person->first_name} {$person->middle_name} {$person->last_name}"); ?> </font> </td> </tr> <tr> <td style="display:table-cell; text-align:justify; width:200px; height: 12px"> <font style="font-family: sans-serif; font-weight: bold" size="11">National Identity Card Number:</font> </td> <td style="display:table-cell; text-align:justify; width:300px; height: 12px"> <font style="font-family: sans-serif; font-weight: normal" size="11"> <?php echo $person->idno; ?> </font>
<?php $member = Person::model()->findByPk($model->member); $witness = Person::model()->findByPk($model->witness); if ($model->loan_type == 4) { $guarantor1 = Person::model()->findByPk($model->guarantor1); $guarantor2 = Person::model()->findByPk($model->guarantor2); } $address = PersonAddress::model()->find('person_id=:id', array(':id' => $model->member)); $loan = Loans::model()->findByPk($model->loan_type); $contributions = ContributionsByMembers::model()->netTotalMemberContribution($model->member, date('Y') . '-' . date('m') . '-' . date('d')); ?> <div style="height: 400px; border-right: 3px solid #4f99c6"> <?php if ($model->closed != 'Yes' && empty($model->close_date)) { ?> <div style="height: 20px; text-align: center"> <b><?php echo "{$member->last_name} {$member->first_name} {$member->middle_name}"; ?> </b> </div> <div style="height: 360px; overflow-y: scroll"> <?php $form = $this->beginWidget('CActiveForm', array('id' => 'loan-applications-form', 'enableAjaxValidation' => false)); ?>
public function actionRegiterAmember() { $this->pageTitle = Lang::t('New Member Sign Up'); $user_model = new Users(Users::SCENARIO_SIGNUP); $person_model = new Person(); $person_address = new PersonAddress(); $contribution = new ContributionsByMembers(); $contribution->receiptno = empty($contribution->receiptno) ? NextReceiptNo::model()->receiptNo() : $contribution->receiptno; $user_model->activation_code = Common::generateHash(microtime()); $user_model->user_level = UserLevels::LEVEL_MEMBER; $user_model->timezone = SettingsTimezone::DEFAULT_TIME_ZONE; if (Yii::app()->request->isPostRequest) { $verifyPhoneCode = isset($_POST['verifyPhoneCode']) ? $_POST['verifyPhoneCode'] : null; $verifyMailCode = isset($_POST['verifyMailCode']) ? $_POST['verifyMailCode'] : null; if (isset($_POST['Person'])) { $person_model = Person::model()->find('idno=:idno', array(':idno' => $_POST['Person']['idno'])); $person_model = empty($person_model) ? new Person() : $person_model; $person_model->attributes = $_POST['Person']; $person_model->married = 'n'; $person_model->havechildren = 'n'; $person_model->validate(); } if (isset($_POST['Users'])) { if (!$person_model->isNewRecord) { $user_model = Users::model()->findByPk($person_model->id); if (empty($user_model)) { $user_model = new Users(Users::SCENARIO_SIGNUP); $user_model->id = $person_model->id; } } $user_model->attributes = $_POST['Users']; $user_model->status = 'Active'; $user_model->answer = strtoupper($user_model->answer); $user_model->validate(); } if (isset($_POST['PersonAddress'])) { if (!empty($person_model->id)) { $person_address = PersonAddress::model()->find('person_id=:id', array(':id' => $person_model->id)); } $person_address = empty($person_address) ? new PersonAddress() : $person_address; $person_address->attributes = $_POST['PersonAddress']; $person_address->validate(array('phone1')); } if (isset($_POST['ContributionsByMembers'])) { $contribution->attributes = $_POST['ContributionsByMembers']; $contribution->contribution_type = 1; $contribution->date = date('Y') . '-' . date('m') . '-' . date('d'); $contribution->validate(array('amount', 'receiptno', 'date', 'payment_mode', 'transaction_no')); } if (!$user_model->hasErrors() && !$person_model->hasErrors() && !$person_address->hasErrors() && !$contribution->hasErrors()) { if ($user_model->save(false)) { if (true == ($personNewModel = $person_model->isNewRecord)) { $person_model->id = $user_model->id; } $person_model->save(false); $person_address->person_id = $person_model->id; $person_address->save(false); $contribution->member = $person_model->id; $contribution->rowsToCreate($contribution, $contribution->member, $contribution->contribution_type, $contribution->amount, $contribution->date, $contribution->receiptno, array()); if (!$personNewModel) { $withdrawal = MemberWithdrawal::model()->find('member=:id', array(':id' => $person_model->id)); $withdrawal->status = 'Yes'; $withdrawal->update(array('status')); } Yii::app()->user->setFlash('success', Lang::t('Account created. Click login at bottom of the page to proceed.')); $this->refresh(); } } } $this->render('application.modules.users.views.default.default', array('model' => null, 'others' => array('user_model' => $user_model, 'person_model' => $person_model, 'person_address' => $person_address, 'verifyPhoneCode' => isset($verifyPhoneCode) ? $verifyPhoneCode : null, 'verifyMailCode' => isset($verifyMailCode) ? $verifyMailCode : null, 'contribution' => $contribution, 'render' => 'application.modules.auth.views.register.index'), 'user_model' => Users::model()->loadModel(Yii::app()->user->id), 'person_model' => Person::model()->loadModel(Yii::app()->user->id), 'title' => 'New Account SignUp', 'render' => 'application.modules.users.views.default._createAnotherUser')); }