Exemplo n.º 1
0
 public function getCurrentUser()
 {
     if (isset($_SESSION['siteuser']) && is_null($this->currentUser)) {
         $this->currentUser = DataSource::factory(Siteuser::cls(), $_SESSION['siteuser']);
     }
     return $this->currentUser;
 }
Exemplo n.º 2
0
 public function actionIndex()
 {
     if (CoreFunctions::isAJAX()) {
         if (!$this->EmployeeAuthentication->authenticated()) {
             SCMSNotificationLog::instance()->pushError('Нет доступа.');
             $this->Response->send();
             return;
         }
     } else {
         $this->needAuthenticate();
     }
     $siteuserId = Param::get('id')->noEmpty('Параметр обязателен для заполнения.')->asInteger(true, "Неверно задан параметр.");
     /** @var Siteuser $oSiteuser */
     $oSiteuser = DataSource::factory(Siteuser::cls(), $siteuserId);
     if ($oSiteuser->id) {
         $oSiteuser->deleted = true;
         try {
             $oSiteuser->commit();
             SCMSNotificationLog::instance()->pushMessage("Пользователь \"{$oSiteuser->name}\" успешно удалён.");
         } catch (Exception $e) {
             SCMSNotificationLog::instance()->pushError($e->getMessage());
         }
     } else {
         SCMSNotificationLog::instance()->pushError("Пользователь с ID {$siteuserId} не найден");
     }
     $this->Response->send();
 }
Exemplo n.º 3
0
 public function actionIndex()
 {
     $this->needAuthenticate();
     $siteuserId = Param::get('id', false)->asInteger(false);
     /** @var Siteuser $oSiteuser */
     $oSiteuser = is_null($siteuserId) ? null : DataSource::factory(Siteuser::cls(), $siteuserId);
     $view = new ViewSiteuserEditForm();
     $view->oSiteuser = $oSiteuser;
     // Подготовка хлебных крошек
     $viewBreadcrumbs = new ViewBreadcrumbs();
     $viewBreadcrumbs->Breadcrumbs = [new Breadcrumb('Панель управления', '/admin'), new Breadcrumb('Пользователи', '/modules/siteusers')];
     if ($oSiteuser !== null) {
         $viewBreadcrumbs->Breadcrumbs[] = new Breadcrumb("Редактирование \"{$oSiteuser->name}\"", '');
     } else {
         $viewBreadcrumbs->Breadcrumbs[] = new Breadcrumb('Добавление нового пользователя', '');
     }
     $view->backUrl = CoreFunctions::buildUrlByBreadcrumbs($viewBreadcrumbs->Breadcrumbs, 1);
     $this->Frame->bindView('breadcrumbs', $viewBreadcrumbs);
     $this->Frame->bindView('content', $view);
     $this->Frame->render();
 }
Exemplo n.º 4
0
    public function currentRender()
    {
        ?>
        <form action="/admin/modules/siteusers/save/" id="siteuser-edit-form" method="post">
            <legend><?php 
        echo $this->oSiteuser !== null ? 'Редактирование' : 'Добавление';
        ?>
 пользователя</legend>
            <fieldset>
                <?php 
        if ($this->oSiteuser !== null) {
            ?>
                <input type="hidden" id="siteuser-edit-id" name="siteuser-edit-id" value="<?php 
            echo $this->oSiteuser->getPrimaryKey();
            ?>
" />
                <?php 
        }
        ?>

                <div class="row">
                    <div class="col-lg-6 col-md-6">
                        <div class="row">
                            <div class="col-lg-4 col-md-4">
                                <div class="form-group">
                                    <label for="siteuser-edit-surname">Фамилия</label>
                                    <input type="text" class="form-control" id="siteuser-edit-surname" name="siteuser-edit-surname" placeholder="Фамилия" value="<?php 
        echo !is_null($this->oSiteuser) ? $this->oSiteuser->surname : '';
        ?>
" required="required" />
                                    <span class="help-block">Фамилия пользователя</span>
                                </div>
                            </div>
                            <div class="col-lg-4 col-md-4">
                                <div class="form-group">
                                    <label for="siteuser-edit-name">Имя</label>
                                    <input type="text" class="form-control" id="siteuser-edit-name" name="siteuser-edit-name" placeholder="Имя" value="<?php 
        echo !is_null($this->oSiteuser) ? $this->oSiteuser->name : '';
        ?>
" required="required" />
                                    <span class="help-block">Имя пользователя</span>
                                </div>
                            </div>
                            <div class="col-lg-4 col-md-4">
                                <div class="form-group">
                                    <label for="siteuser-edit-patronymic">Отчество</label>
                                    <input type="text" class="form-control" id="siteuser-edit-patronymic" name="siteuser-edit-patronymic" placeholder="Отчество" value="<?php 
        echo !is_null($this->oSiteuser) ? $this->oSiteuser->patronymic : '';
        ?>
" required="required" />
                                    <span class="help-block">Отчество пользователя</span>
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-lg-6 col-md-6">
                                <div class="form-group">
                                    <label for="siteuser-edit-email">E-mail</label>
                                    <input type="email" class="form-control" id="siteuser-edit-email" name="siteuser-edit-email" placeholder="E-mail" value="<?php 
        echo !is_null($this->oSiteuser) ? $this->oSiteuser->email : '';
        ?>
" required="required" />
                                    <span class="help-block">Адрес электронной почты пользователя</span>
                                </div>
                            </div>
                            <div class="col-lg-6 col-md-6">
                                <div class="form-group">
                                    <label for="siteuser-edit-phone">Телефон</label>
                                    <input type="text" class="form-control" id="siteuser-edit-phone" name="siteuser-edit-phone" placeholder="Телефон" value="<?php 
        echo !is_null($this->oSiteuser) ? $this->oSiteuser->phone : '';
        ?>
" required="required" />
                                    <span class="help-block">Номер контактного телефона пользователя</span>
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-lg-2 col-md-2">
                                <div class="form-group">
                                    <label for="siteuser-edit-postcode">Индекс</label>
                                    <input type="text" class="form-control" id="siteuser-edit-postcode" name="siteuser-edit-postcode" placeholder="Индекс" value="<?php 
        echo !is_null($this->oSiteuser) ? $this->oSiteuser->postcode : '';
        ?>
" required="required" />
                                    <span class="help-block">Почтовый индекс пользователя</span>
                                </div>
                            </div>
                            <div class="col-lg-10 col-md-10">
                                <div class="form-group">
                                    <label for="siteuser-edit-address">Адрес</label>
                                    <input type="text" class="form-control" id="siteuser-edit-address" name="siteuser-edit-address" placeholder="Адрес" value="<?php 
        echo !is_null($this->oSiteuser) ? $this->oSiteuser->mail_address : '';
        ?>
" required="required" />
                                    <span class="help-block">Фактический адрес пребывания пользователя</span>
                                </div>
                            </div>
                        </div>
                    </div>

                    <div class="col-lg-6 col-md-6">
                        <div class="row">
                            <div class="col-lg-6 col-md-6">
                                <div class="form-group">
                                    <label for="siteuser-edit-type">Тип</label>
                                    <select class="form-control" name="siteuser-edit-type" id="siteuser-edit-type" required="required">
                                        <option value="">Не выбрано</option>
                                        <option value="<?php 
        echo Siteuser::TYPE_USER;
        ?>
"<?php 
        echo $this->oSiteuser && $this->oSiteuser->type == Siteuser::TYPE_USER ? ' selected="selected"' : '';
        ?>
>Пользователь</option>
                                        <option value="<?php 
        echo Siteuser::TYPE_CONTRACTOR;
        ?>
"<?php 
        echo $this->oSiteuser && $this->oSiteuser->type == Siteuser::TYPE_CONTRACTOR ? ' selected="selected"' : '';
        ?>
>Контрагент</option>
                                    </select>
                                    <span class="help-block">Тип пользователя</span>
                                </div>
                            </div>
                            <div class="col-lg-6 col-md-6">
                                <div class="form-group">
                                    <label for="siteuser-edit-status">Статус</label>
                                    <select class="form-control" name="siteuser-edit-status" id="siteuser-edit-status" required="required">
                                        <option value="">Не выбрано</option>
                                        <option value="<?php 
        echo Siteuser::STATUS_UNCONFIRMED;
        ?>
"<?php 
        echo $this->oSiteuser && $this->oSiteuser->status == Siteuser::STATUS_UNCONFIRMED ? ' selected="selected"' : '';
        ?>
>Не подтверждён</option>
                                        <option value="<?php 
        echo Siteuser::STATUS_CONFIRMED;
        ?>
"<?php 
        echo $this->oSiteuser && $this->oSiteuser->status == Siteuser::STATUS_CONFIRMED ? ' selected="selected"' : '';
        ?>
>Подтверждён</option>
                                        <option value="<?php 
        echo Siteuser::STATUS_DENIED;
        ?>
"<?php 
        echo $this->oSiteuser && $this->oSiteuser->status == Siteuser::STATUS_DENIED ? ' selected="selected"' : '';
        ?>
>Отказался</option>
                                    </select>
                                    <span class="help-block">Статус пользователя</span>
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-lg-6 col-md-6">
                                <div class="form-group">
                                    <label for="siteuser-edit-active">Активность</label>
                                    <input class="checkbox" name="siteuser-edit-active" id="siteuser-edit-active" title="Активен-ли пользователь." type="checkbox"<?php 
        echo is_null($this->oSiteuser) || $this->oSiteuser->active ? ' CHECKED' : '';
        ?>
>
                                    <span class="help-block">Активен-ли пользователь</span>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </fieldset>

            <hr/>
            <a href="<?php 
        echo $this->backUrl;
        ?>
" class="btn btn-warning">Отмена</a>
            <button id="siteuser-edit-save" name="siteuser-edit-save" type="submit" class="btn btn-primary">Сохранить</button>
            <button id="siteuser-edit-accept" name="siteuser-edit-accept" type="submit" class="btn btn-success">Применить</button>
        </form>
        <?php 
    }
Exemplo n.º 5
0
 public function actionIndex()
 {
     if (CoreFunctions::isAJAX() && !$this->EmployeeAuthentication->authenticated()) {
         SCMSNotificationLog::instance()->pushError('Нет доступа!');
         $this->Response->send();
         return;
     }
     $this->needAuthenticate();
     $siteuserAuthorizator = new Authorizator();
     $siteuserId = Param::post('siteuser-edit-id', false)->asInteger(false);
     $name = Param::post('siteuser-edit-name')->noEmpty('Заполните поле "Имя"')->asString();
     $surname = Param::post('siteuser-edit-surname')->noEmpty('Заполните поле "Фамилия"')->asString();
     $patronymic = Param::post('siteuser-edit-patronymic')->noEmpty('Заполните поле "Отчество"')->asString();
     $email = Param::post('siteuser-edit-email')->noEmpty('Заполните поле "E-mail"')->asEmail(true, 'Вы ввели некорректный email.');
     $phone = Param::post('siteuser-edit-phone')->noEmpty('Заполните поле "Телефон"')->asString();
     $postcode = Param::post('siteuser-edit-postcode')->noEmpty('Заполните поле "Индекс"')->asString();
     $address = Param::post('siteuser-edit-address', false)->noEmpty('Заполните поле "Адрес"')->asString();
     $type = Param::post('siteuser-edit-type', false)->noEmpty('Необходимо указать тип пользователя')->asInteger(true, 'Недопустимое значение поля "Тип"');
     $status = Param::post('siteuser-edit-status', false)->noEmpty('Необходимо указать статус пользователя')->asInteger(true, 'Недопустимое значение поля "Статус"');
     $active = (bool) Param::post('siteuser-edit-active')->exists();
     $accept = Param::post('siteuser-edit-accept', false);
     if (!in_array($type, [Siteuser::TYPE_USER, Siteuser::TYPE_CONTRACTOR])) {
         SCMSNotificationLog::instance()->pushError('Недопустимое значение поля "Тип".');
     }
     if (!in_array($status, [Siteuser::STATUS_UNCONFIRMED, Siteuser::STATUS_CONFIRMED, Siteuser::STATUS_DENIED])) {
         SCMSNotificationLog::instance()->pushError('Недопустимое значение поля "Статус".');
     }
     $oSiteusers = DataSource::factory(Siteuser::cls());
     $oSiteusers->builder()->where("deleted=0")->whereAnd()->whereBracketOpen()->where("email='{$email}'")->whereOr()->where("phone='{$phone}'")->whereBracketClose();
     /** @var Siteuser[] $aSiteusers */
     $aSiteusers = $oSiteusers->findAll();
     if (!empty($aSiteusers)) {
         $oSiteuser = $aSiteusers[0];
         if ($oSiteuser->email == $email) {
             SCMSNotificationLog::instance()->pushError('Пользователь с таким Email уже зарегистрирован в системе.');
         }
         if ($oSiteuser->phone == $phone) {
             SCMSNotificationLog::instance()->pushError('Пользователь с таким телефоном уже зарегистрирован в системе.');
         }
     }
     if (CoreFunctions::isAJAX() && SCMSNotificationLog::instance()->hasProblems()) {
         $this->Response->send();
         return;
     }
     /** @var Siteuser $oSiteuser */
     $oSiteuser = DataSource::factory(Siteuser::cls(), $siteuserId);
     $oSiteuser->name = $name;
     $oSiteuser->surname = $surname;
     $oSiteuser->patronymic = $patronymic;
     $oSiteuser->email = $email;
     $oSiteuser->phone = $phone;
     $oSiteuser->postcode = $postcode;
     $oSiteuser->mail_address = $address;
     $oSiteuser->password = $siteuserAuthorizator->defaultPassword();
     $oSiteuser->type = $type;
     $oSiteuser->status = $status;
     $oSiteuser->active = $active;
     if ($oSiteuser->isNew()) {
         $oSiteuser->deleted = false;
     }
     try {
         $oSiteuser->commit();
     } catch (Exception $e) {
         SCMSNotificationLog::instance()->pushError($e->getMessage());
     }
     $redirect = '';
     if (!SCMSNotificationLog::instance()->hasProblems()) {
         SCMSNotificationLog::instance()->pushMessage("Пользователь \"{$oSiteuser->email}\" успешно " . ($siteuserId == 0 ? 'добавлен' : 'отредактирован') . ".");
         $redirect = "/admin/modules/siteusers/edit/?id={$oSiteuser->getPrimaryKey()}";
         if ($accept->exists()) {
             $redirect = '/admin/modules/siteusers/';
         }
     }
     $this->Response->send($redirect);
 }