Exemplo n.º 1
0
 /**
  * Logs in the user using the given username and password in the model.
  * @return boolean whether login is successful
  */
 public function login()
 {
     if ($this->_identity === null) {
         $this->_identity = new UserIdentity($this->username, $this->password);
         $this->_identity->authenticate();
     }
     if ($this->_identity->errorCode === UserIdentity::ERROR_NONE) {
         if (Yii::app()->session['attamps'] >= 3 && Yii::app()->session['exp'] > time()) {
             $this->addError('password', "You have already made 3 incorrect attempts. Now you can't sign in for next 15 min.");
             return false;
         } else {
             if (Yii::app()->session['attamps'] >= 3) {
                 Yii::app()->session['attamps'] = 0;
             }
         }
         $user = Users::model()->findByAttributes(array('user_email' => $this->username, 'user_password' => md5($this->password)));
         if (!empty($user)) {
             if ($user->user_status == 1) {
                 if ($this->rememberMe) {
                     $user_id = new CHttpCookie('user_id', $user->user_id);
                     $user_id->expire = time() + 3600 * 24 * 30;
                     Yii::app()->request->cookies['user_id'] = $user_id;
                     $user_role = new CHttpCookie('user_role', $user->user_role_type);
                     $user_role->expire = time() + 3600 * 24 * 30;
                     Yii::app()->request->cookies['user_role'] = $user_role;
                 }
                 //$this->setRights($user['user_accountTypeID']);
                 $this->setConfiguration();
                 //print_r($rights);die;
                 Yii::app()->session['attamps'] = 0;
                 Yii::app()->session['user_data'] = $user;
                 Yii::app()->session['session_time'] = strtotime(Date('Y-m-d H:i:s')) + 1200;
                 $role_name = UserRoles::model()->getRoleName($user->user_role_type);
                 Yii::app()->user->name = $role_name;
                 return true;
             } else {
                 $this->addError('password', 'Your Account Got Disabled By Admin.');
                 return false;
             }
         } else {
             Yii::app()->session['attamps'] = Yii::app()->session['attamps'] + 1;
             Yii::app()->session['exp'] = time() + 60 * 15;
             if (Yii::app()->session['attamps'] > 2) {
                 $this->addError('password', "You have already made 3 incorrect attempts. Now you can't sign in for next 15 min.");
                 return false;
             }
             $this->addError('password', 'Invalid Credentials');
             return false;
         }
     } else {
         return false;
     }
 }
Exemplo n.º 2
0
 function actionEmailAssignee()
 {
     $template = Template::getTemplate('user_mail_on_assign_ticket_');
     $subject = $template->template_subject;
     $message = $template->template_content;
     $userdata['website_url'] = Utils::getBaseUrl();
     $results = TicketAssign::model()->findAllByAttributes(array(), array('condition' => 'send_mail = :send_mail AND status=1', 'params' => array('send_mail' => 0)));
     foreach ($results as $users) {
         $userInfo = Users::model()->findByPk($users->fwd_to);
         $ticket_id = $users->ticket_id;
         $userdata['ticket_id'] = $ticket_id;
         $userdata['user_name'] = $userInfo->user_name;
         $userdata['role_name'] = UserRoles::model()->getRoleName($users->fwd_by);
         $userdata['ticket_link'] = Utils::getBaseUrl() . "/ticket/view/" . base64_encode($ticket_id);
         $subject = $this->replace($userdata, $subject);
         $message = $this->replace($userdata, $message);
         $this->SendMail($userInfo->user_email, $userInfo->user_name, $subject, $message);
         $model = TicketAssign::model()->findByPk($users->id);
         $model->send_mail = 1;
         $model->update();
     }
 }
Exemplo n.º 3
0
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer $id the ID of the model to be loaded
  * @return UserRoles the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = UserRoles::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
Exemplo n.º 4
0
 protected function _before()
 {
     $this->model = UserRoles::model();
     return parent::_before();
 }
Exemplo n.º 5
0
 public function getClientAssigneeList($id)
 {
     $assigneeList = TicketAssign::model()->findAllByAttributes(array("ticket_id" => $id, "status" => 1, 'user_role_type' => 5), array('condition' => 'fwd_to!=:id', 'params' => array('id' => Yii::app()->session['user_data']['user_id'])));
     if (!empty($assigneeList)) {
         $str = '<table class = "table table-bordered table-striped" >
             <tr><th style = "width:20px;" > #</th><th>Name</th><th>Email ID</th><th>Role</th><th style="max-width:120px;">Department</th><th>Assigned by</th><th style="width:60px;">Action</th></tr>';
         $count = 1;
         foreach ($assigneeList as $list) {
             $userinfo = Users::model()->findByAttributes(array('user_id' => $list['fwd_to']));
             $str .= '<tr >
                     <td> ' . $count++ . ' </td>
                     <td>' . $userinfo['user_name'] . '</td>   
                     <td>' . $userinfo['user_email'] . '</td>   
                     <td>' . UserRoles::model()->getRoleName($userinfo["user_role_type"]) . '</td>
                     <td>' . Department::model()->getDepartmentName($userinfo['user_department_id']) . '</td>
                    <td>' . Users::model()->getUserName($list['fwd_by']) . '</td>';
             if (Yii::app()->session['user_data']['user_id'] == $list['fwd_by']) {
                 $str .= '<td><a class="removeUser" data="' . $userinfo['user_id'] . '"  title="Remove assign User" href="javascript:"><i class="fa fa-times" ></i></a></td></tr>';
             } else {
                 $str .= '<td></td></tr>';
             }
         }
         $str .= '</table>';
     } else {
         $str .= '<div class = "norecord col-sm-12">No users assigned.</div>';
     }
     return $str;
 }
Exemplo n.º 6
0
 public function actionIndex()
 {
     $this->hasPrivilege(Acl::ACTION_VIEW);
     $this->pageTitle = Lang::t($this->resourceLabel . 's');
     $this->showPageTitle = TRUE;
     $this->render('index', array('model' => UserRoles::model()->searchModel(array(), $this->settings[Constants::KEY_PAGINATION], 'name')));
 }
Exemplo n.º 7
0
        </div>
    </div>
    <div class="form-group">
        <?php 
    echo CHtml::activeLabelEx($model, 'role_id', array('class' => $label_class));
    ?>
        <div class="<?php 
    echo $input_class;
    ?>
">
            <p class="help-block"><?php 
    echo Lang::t('Only applicable for user levels below SUPERADMIN');
    ?>
</p>
            <?php 
    echo CHtml::activeDropDownList($model, 'role_id', UserRoles::model()->getListData('id', 'name'), array('class' => 'form-control'));
    ?>
        </div>
    </div>
<?php 
}
?>
<div class="form-group">
    <?php 
echo CHtml::activeLabelEx($model, 'email', array('class' => $label_class));
?>
    <div class="<?php 
echo $input_class;
?>
">
        <?php 
Exemplo n.º 8
0
    <div class="panel-heading">
        <h4 class="panel-title">
            <i class="fa fa-chevron-down"></i> <a data-toggle="collapse" data-parent="#accordion" href="#account_info"><?php 
echo Lang::t('Account Details');
?>
</a>
            <?php 
if ($can_update || Users::isMyAccount($model->id)) {
    ?>
                <span><a class="pull-right" href="<?php 
    echo $this->createUrl('view', array('id' => $model->id, 'action' => Users::ACTION_UPDATE_ACCOUNT));
    ?>
"><i class="fa fa-edit"></i> <?php 
    echo Lang::t('Edit');
    ?>
</a></span>
            <?php 
}
?>
        </h4>
    </div>
    <div id="account_info" class="panel-collapse collapse in">
        <div class="panel-body">
            <div class="detail-view">
                <?php 
$this->widget('application.components.widgets.DetailView', array('data' => $model, 'attributes' => array(array('name' => 'id'), array('label' => Lang::t('Department'), 'visible' => !empty($model->dept_id), 'value' => CHtml::link(CHtml::encode(Dept::model()->get($model->dept_id, "name")), Yii::app()->createUrl('dept/default/view', array('id' => $model->dept_id)), array()), 'type' => 'raw'), array('name' => 'status', 'value' => CHtml::tag('span', array('class' => $model->status === Users::STATUS_ACTIVE ? 'badge badge-success' : 'badge badge-danger'), $model->status), 'type' => 'raw'), array('name' => 'username'), array('name' => 'email'), array('name' => 'user_level'), array('name' => 'role_id', 'visible' => !empty($model->role_id), 'value' => UserRoles::model()->get($model->role_id, 'name')), array('name' => 'timezone'), array('name' => 'date_created', 'value' => MyYiiUtils::formatDate($model->date_created)), array('name' => 'created_by', 'value' => Users::model()->get($model->created_by, "username"), 'visible' => !empty($model->created_by)), array('name' => 'last_modified', 'value' => MyYiiUtils::formatDate($model->last_modified), 'visible' => !empty($model->last_modified)), array('name' => 'last_modified_by', 'value' => Users::model()->get($model->last_modified_by, "username"), 'visible' => !empty($model->last_modified_by)), array('name' => 'last_login', 'value' => MyYiiUtils::formatDate($model->last_login)))));
?>
            </div>
        </div>
    </div>
</div>
Exemplo n.º 9
0
 public function actionCustomSearch()
 {
     $restrictedUsers = array();
     $restrictedUsers = $_POST['restrictedUsers'];
     $ticket_id = $_POST['ticket_id'];
     $assigneeList = TicketAssign::model()->findAllByAttributes(array("ticket_id" => $ticket_id, "status" => 1));
     foreach ($assigneeList as $row) {
         $restrictedUsers[] = $row['fwd_to'];
     }
     $username = $_POST['username'];
     $deparment = $_POST['department'];
     $emailid = $_POST['email_id'];
     $userList = Users::model()->getFilterUser($username, $deparment, $restrictedUsers, $emailid);
     if (!empty($userList)) {
         foreach ($userList as $row) {
             $userlist[$row['user_id']] = $row['user_name'] . " (" . $row['user_email'] . ", " . UserRoles::model()->getRoleName($row['user_role_type']) . ")";
         }
         echo CHtml::checkBoxList('userlist', '', $userlist, array('template' => '<div class="col-sm-6 removeBR">{input} {label}</div>', 'class' => 'selectAssignee'));
     } else {
         echo "<div class='col-md-12'><div class='alert alert-danger'>No users found. </div></div>";
     }
 }
Exemplo n.º 10
0
 public function actionDashboard()
 {
     $user = Users::model()->findByAttributes(array('user_id' => Yii::app()->session['user_data']['user_id']));
     Yii::app()->session['user_data'] = $user;
     $this->user_data = Yii::app()->session['user_data'];
     $role_name = UserRoles::model()->getRoleName($user->user_role_type);
     Yii::app()->user->name = $role_name;
     $user_role_type = Yii::app()->session['user_data']['user_role_type'];
     $this->render('dashboard', $data);
 }
Exemplo n.º 11
0
 public function getRole($id)
 {
     if (empty($id)) {
         return NULL;
     }
     $dept_id = UserRoles::model()->getScaler('name', '`id`=:t1', array(':t1' => $id));
     return !empty($dept_id) ? $dept_id : NULL;
 }
Exemplo n.º 12
0
 public static function getUserType()
 {
     $gettype = ModulePermission::getUserRoleType();
     $result = UserRoles::model()->findAll(array('select' => '*', 'condition' => 'user_role_type  IN(' . $gettype . ')'));
     $list = array();
     foreach ($result as $row) {
         if (Yii::app()->session['user_data']['user_role_type'] < $row['user_role_type']) {
             $list[$row['user_role_type']] = $row['user_role_name'];
         }
     }
     return $list;
 }
Exemplo n.º 13
0
 public function init()
 {
     $model = new Configuration();
     $setmodel = $model->findAll();
     Yii::app()->db->setactive(FALSE);
     foreach ($setmodel as $set) {
         if ($set->name == 'company_logo') {
             $this->company_logo = $set->value;
         }
         if ($set->name == 'site_name') {
             $this->site_name = $set->value;
         }
         if ($set->name == 'Host') {
             $this->Host = $set->value;
         }
         if ($set->name == 'Username') {
             $this->Username = $set->value;
         }
         if ($set->name == 'user_password') {
             $this->user_password = $set->value;
         }
         if ($set->name == 'from_smtp') {
             $this->from_smtp = $set->value;
         }
         if ($set->name == 'Site_email') {
             $this->site_email = $set->value;
         }
         if ($set->name == 'site_contact_no') {
             $this->site_contact_no = $set->value;
         }
     }
     if (!in_array(Yii::app()->controller->id, array('auth', 'app'))) {
         if (!isset(Yii::app()->session['user_data'])) {
             $this->redirect(Yii::app()->request->baseUrl . '/auth');
         } else {
             if (strtotime(date('Y-m-d H:i:s')) > Yii::app()->session['session_time'] && isset(Yii::app()->session['user_data'])) {
                 //  $loginmodel = new LoginForm;
                 //  $loginmodel->UpdateLastLogoutTime(Yii::app()->session['user_data']['user_id']);
                 //  unset(Yii::app()->session['user_data']);
                 // Yii::app()->user->logout();
             }
             $user = Users::model()->findByAttributes(array('user_id' => Yii::app()->session['user_data']['user_id']));
             Yii::app()->session['user_data'] = $user;
             $this->user_data = Yii::app()->session['user_data'];
             $role_name = UserRoles::model()->getRoleName($user->user_role_type);
             Yii::app()->user->name = $role_name;
             $user_role_type = Yii::app()->session['user_data']['user_role_type'];
             if ($user_role_type > 0) {
                 $modulist = ModulePermission::getAllmoduleList($user_role_type);
                 $module_id = SystemModules::getModuleIdBykey(Yii::app()->controller->id);
                 if (!in_array($module_id, $modulist)) {
                     $this->redirect(Yii::app()->request->baseUrl . '/auth');
                 }
             }
         }
     } else {
         if (Yii::app()->controller->id == "app") {
             $string = ltrim(strstr(Yii::app()->request->pathInfo, '/'), "/");
             if (!in_array(ucfirst($string), array('AddOrder', 'AddUser', 'EmailComments', 'MailToUsers', 'EmailAssignee', 'EmailChangeTicketStatus'))) {
                 echo json_encode(array("error" => true, 'error_code' => "401", "Message" => "Invalid Action"));
                 exit;
             }
         }
         if (strtotime(date('Y-m-d H:i:s')) > Yii::app()->session['session_time'] && isset(Yii::app()->session['user_data'])) {
             // $loginmodel = new LoginForm;
             // $loginmodel->UpdateLastLogoutTime(Yii::app()->session['user_data']['user_id']);
             // unset(Yii::app()->session['user_data']);
             //  Yii::app()->user->logout();
         }
     }
 }
Exemplo n.º 14
0
echo $form->toggleButtonRow($model, 'status', $htmlOptions);
?>
				</div>
				<div class="pure-control-group">
					<?php 
echo $form->emailFieldRow($model, 'email', $htmlOptions);
?>
				</div>
				<div class="pure-control-group">
					<?php 
echo $form->textFieldRow($model, 'displayName', $htmlOptions);
?>
				</div>
				<div class="pure-control-group">
					<?php 
echo $form->dropDownListrow($model, 'user_role', CHtml::listData(UserRoles::model()->findAll(), 'id', 'name'), $htmlOptions);
?>
				</div>

				<legend>Optional Information</legend>
				<div class="pure-control-group">
					<?php 
echo $form->textFieldRow($model, 'firstName', $htmlOptions);
?>
				</div>
				<div class="pure-control-group">
					<?php 
echo $form->textFieldRow($model, 'lastName', $htmlOptions);
?>
				</div>
				<div class="pure-control-group">