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">
Exemple #6
0
 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' => '');
 }
Exemple #7
0
<?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'));
 }