public function getCurrentUser() { if (isset($_SESSION['siteuser']) && is_null($this->currentUser)) { $this->currentUser = DataSource::factory(Siteuser::cls(), $_SESSION['siteuser']); } return $this->currentUser; }
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(); }
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(); }
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 }
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); }