Дипломная работа: Автоматизация документооборота организации ООО "АРСтрой"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
97
*/
public function getEmail()
{
return $this->email;
}
/**
* @param string $email
*/
public function setEmail($email)
{
$this->email = $email;
}
/**
* @return string
*/
public function getPhone()
{
return $this->phone;
}
/**
* @param string $phone
*/
public function setPhone($phone)
{
$this->phone = $phone;
}
/**
* @return string
*/
public function getUserfio()
{
return $this->userfio;
}
/**
* @param string $userfio
*/
public function setUserfio($userfio)
{
$this->userfio = $userfio;
}
/**
* @return Movement[]|ArrayCollection
*/
public function getMovements()
{
return $this->movements;
}
/**
98
* @param Movement[]|ArrayCollection $movements
*/
public function setMovements($movements)
{
$this->movements = $movements;
}
}
<?php
namespace AppBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* Class Department
* @package AppBundle\Entity
* @ORM\Entity
* @ORM\Table(name = "department")
*/
class Department extends AbstractEntity
{
/**
* @var string
* @ORM\Column(name = "caption", type = "string")
*/
protected $caption;
/**
* @var boolean
* @ORM\Column(name = "main", type = "boolean")
*/
protected $deleted;
/**
* @var ArrayCollection|Worker[]
* @ORM\OneToMany(targetEntity = "AppBundle\Entity\Worker", mappedBy =
"department", cascade = {"persist", "remove"})
*/
protected $workers;
public function __construct()
{
parent::__construct();
$this->deleted = false;
$this->workers = new ArrayCollection();
}
/**
* @return string
*/
public function getCaption()
{
return $this->caption;
99
}
/**
* @param string $caption
*/
public function setCaption($caption)
{
$this->caption = $caption;
}
/**
* @return boolean
*/
public function isDeleted()
{
return $this->deleted;
}
/**
* @param boolean $deleted
*/
public function setDeleted($deleted)
{
$this->deleted = $deleted;
}
/**
* @return Worker[]|ArrayCollection
*/
public function getWorkers()
{
$workers= array();
foreach ($this->workers as $worker) {
if (!($worker->isDismis())){
array_push($workers,$worker);
}
}
return $workers;
}
/**
* @param Worker[]|ArrayCollection $workers
*/
public function setWorkers($workers)
{
$this->workers = $workers;
}
}
<?php
namespace AppBundle\Controller;
use AppBundle\Form\Type\UserFormType;
use AppBundle\Form\Type\UserFilterFormType;
use AppBundle\Entity\Role;
100
use AppBundle\Entity\User;
use Sensio\Bundle\FrameworkExtraBundle\Configuration as Config;
use Symfony\Component\Form\FormError;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoder;
use Symfony\Component\Security\Core\Security;
class UsersController extends InitializableController
{
/**
* @return RedirectResponse|Response
* @Config\Route("/users", name = "site_users_index")
*/
public function indexAction()
{
if (!($this->authChecker->isGranted(Role::ADMIN))) {
return $this->redirectToRoute('homepage');
}
else {
$form=$this->createForm(new UserFilterFormType());
$username = null;
$email=null;
$phone=null;
$role=null;
$form->handleRequest($this->request);
$usersquery = $this->getRepository('User')->createQueryBuilder('u')
->leftJoin('u.roles', 'r')
->where('u.deleted <> 1')
->orderBy('u.id', 'DESC');
if ($form->isSubmitted() && $form->isValid()) {
$username = $form->get('username')->getData();
$email = $form->get('email')->getData();
$phone = $form->get('phone')->getData();
$role = $form->get('role')->getData();
}
if (!empty($username)) {
$usersquery->andWhere('LOWER(u.username) LIKE LOWER(:username)
')->setParameter('username', '%' . trim($username) . '%');
}
if (!empty($email)) {
$usersquery->andWhere('LOWER(u.email) LIKE LOWER(:email) ')-
>setParameter('email', '%' . trim($username) . '%');
}
if (!empty($phone)) {
$usersquery->andWhere('LOWER(u.phone) LIKE LOWER(:phone) ')-
>setParameter('phone', '%' . trim($username) . '%');
}
101
if (!empty($role)) {
$usersquery->andWhere('r.id = :role')->setParameter('role', $role);
}
$users=$usersquery->getQuery()->getResult();
$this->view['users'] = $users;
$this->view['form'] = $form->createView();
$this->navigation = array('active' => 'users');
return $this->render('AppBundle:Users:index.html.twig');
}
}
/**
* @return RedirectResponse|Response
* @Config\Route("/users/add", name = "site_users_add")
*/
public function addAction()
{
if (!($this->authChecker->isGranted(Role::ADMIN))) {
return $this->redirectToRoute('homepage');
}
else {
$user = new User();
$user->getRolesCollection()->add($this->getRepository('Role')-
>findOneByRole(Role::USER));
$form = $this->createForm(new UserFormType(), $user);
$form->handleRequest($this->request);
if ($form->isSubmitted() && $form->isValid()) {
$valid = true;
$sames = $this->getRepository('User')->createQueryBuilder('u')
->select('COUNT(u.id) AS id')
->where('u.username = :username')
->setParameters(array('username' => $user->getUsername()))
->getQuery()->getSingleScalarResult();
if ($sames > 0) {
$form->get('username')->addError(new
FormError('Пользователь с таким логином уже
существует.'));
$valid = false;
}
if (is_null($form->get('password')->getData())) {
$form->get('password')->addError(new
FormError('Пожалуйста, укажите пароль
пользователя.'));
$valid = false;
}
if ($valid) {
/** @var UserPasswordEncoder $encoder */
$encoder = $this->get('security.password_encoder');
$user->setSalt(User::generateSalt())
Источник: https://baza.diplomsite.ru/previewfile/1738