Диплом: Автоматизация приема заявок на ремонт и модернизацию ПК в АО "Старт"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
116
$form=$this->createForm(new
TicketFilterFormType());
$id = null;
$status=null;
$form->handleRequest($this->request);
$tickets = $this->getRepository('Ticket')-
>createQueryBuilder('t')
->leftJoin('t.status', 's')
->leftJoin('t.author', 'u')
->where('1=1');
if ($form->isSubmitted() && $form->isValid()) {
$id = $form->get('id')->getData();
$status = $form->get('status')->getData();
}
if (!empty($id)) {
$tickets->andWhere('t.id = :id ')-
>setParameter('id', $id);
}
if (!empty($status)) {
$tickets->andWhere('s.id = :status ')-
>setParameter('status', $status);
}
$tickets->andWhere('u.id = :user ')-
>setParameter('user', $this->user->getId());
}
$tickets=$tickets->getQuery()->getResult();
$this->view['tickets'] = $tickets;
$this->view['form'] = $form->createView();
$this->navigation = array('active' => 'tickets');
return $this-
>render('AppBundle:Tickets:index.html.twig');
}
/**
* @return RedirectResponse|Response
* @Config\Route("/tickets/add", name = "site_tickets_add")
*/
public function addAction()
{
$ticket = new Ticket();
$form = $this->createForm(new TicketFormType(),
$ticket);
$form->handleRequest($this->request);
if ($form->isSubmitted() && $form->isValid()) {
$ticket->setAuthor($this->user);
/* @var TicketStatus $status*/
$status=$this->getRepository('TicketStatus')-
>findOneBy(array('id'=>1));
$ticket->setStatus($status);
$this->manager->persist($ticket);
$this->manager->flush();
$this->addNotice('success',
117
'tickets.html.twig',
array('notice' => 'added', 'id' => $ticket-
>getId())
);
return $this-
>redirectToRoute('site_tickets_index');
}
$this->forms['ticket'] = $form->createView();
$this->navigation = array('active' => 'tickets');
$this->view['ticket']=null;
return $this-
>render('AppBundle:Tickets:add.html.twig');
}
/**
* @param Ticket $ticket
* @return RedirectResponse|Response
* @Config\Route("/tickets/{ticket}/edit", name =
"site_tickets_edit")
* @Config\ParamConverter("ticket", options = {"mapping":
{"ticket": "id"}})
*/
public function editAction(Ticket $ticket)
{
$comment= new Comment();
$form = $this->createForm(new TicketCommentFormType(),
$comment);
$form->handleRequest($this->request);
if ($form->isSubmitted() && $form->isValid()) {
$comment->setTicket($ticket);
$comment->setAuthor($this->user);
if (is_null($ticket->getUser()) && $this->user !=
$ticket->getAuthor()) {
$ticket->setUser($this->user);
/* @var TicketStatus $status*/
$status=$this->getRepository('TicketStatus')-
>findOneBy(array('id'=>2));
$ticket->setStatus($status);
$this->manager->persist($ticket);
}
$comment->upload();
$this->manager->persist($comment);
$this->manager->flush();
return $this->redirectToRoute('site_tickets_edit',
array('ticket'=>$ticket->getId()));
}
$this->forms['comment'] = $form->createView();
$this->view['ticket'] = $ticket;
$this->navigation = array('active' => 'tickets');
return $this-
>render('AppBundle:Tickets:edit.html.twig');
}
118
/**
* @param Ticket $ticket
* @param TicketStatus $status
* @return RedirectResponse|Response
* @Config\Route("/tickets/{ticket}/change/{status}", name
= "site_tickets_change")
* @Config\ParamConverter("ticket", options = {"mapping":
{"ticket": "id"}})
* @Config\ParamConverter("status", options = {"mapping":
{"srarus": "id"}})
*/
public function changeAction(Ticket $ticket, TicketStatus
$status)
{
$ticket->setStatus($status);
if ($status->getId()==4) {
$this->addNotice('success',
'tickets.html.twig',
array('notice' => 'closed', 'id' => $ticket-
>getId())
);
}
if ($status->getId()==3) {
$this->addNotice('info',
'tickets.html.twig',
array('notice' => 'sendmodified', 'id' =>
$ticket->getId())
);
$ticket->setUser(null);
}
$this->manager->persist($ticket);
$this->manager->flush();
$this->navigation = array('active' => 'tickets');
return $this-
>render('AppBundle:Tickets:index.html.twig');
}
}
{% extends 'AppBundle::layout.html.twig' %}
{% block head_title %}Отчет{% endblock %}
{% block head_additions %}
<style>
.page {max-width: 500px;}
</style>
{% endblock %}
{% block body_content %}
1>Отчет по заявкам</h1>
>Выберите период формирования отчета</p>
{% set class = 'form-group' %}
119
{% set form = forms.report %}
{{ form_start(form, {'attr': {'class': 'form'}}) }}
<div class="{{ class }}">
{{ form_label(form.begindate, null, {'label_attr':
{'class': 'control-label'}}) }}
{{ form_widget(form.begindate, {'attr': {'class':
'form-control'}}) }}
</div>
<div class="{{ class }}">
{{ form_label(form.enddate, null, {'label_attr':
{'class': 'control-label'}}) }}
{{ form_widget(form.enddate, {'attr': {'class': 'form-
control'}}) }}
</div>
<button type="submit" class="btn btn-success">
<span class="glyphicon glyphicon-forward" aria-
hidden="true"></span> Получить отчет
</button>
{{ form_end(form) }}
{% if view.reports is not empty %}
<table class="table table-striped">
<thead>
<tr>
<th>Показатель</th>
<th>Значение</th>
</tr>
</thead>
Количество отправленных заявок
</td>
<td>
{{ view.reports.all|e }}
</td>
</tr>
Количество выполненных заявок
</td>
<td>
{{ view.reports.closed|e }}
</td>
</tr>
</tbody>
</table>
{% endif %}
</div>
{% endblock %}
{% block body_additions %}
<script type="text/javascript">
120
$("#report_begindate").datepicker({
format: "dd-mm-yyyy",
weekStart: 1,
todayBtn: "linked",
language: "ru",
autoclose: true,
todayHighlight: true
});
$("#report_enddate").datepicker({
format: "dd-mm-yyyy",
weekStart: 1,
todayBtn: "linked",
language: "ru",
autoclose: true,
todayHighlight: true
});
</script>
{% endblock %}
{% extends 'AppBundle::layout.html.twig' %}
{% block head_title %}Профиль{% endblock %}
{% block body_content %}
<h1 class="page-header">Профиль</h1>
<div class="body">
{% set form = forms.profile %}
{{ form_start(form) }}
{% set _errors = form.userfio.vars.errors %}
{% set _class = 'form-group' ~ (_errors|length > 0
? ' has-error' : '') %}
<div class="{{ _class }}">
{{ form_label(form.userfio, null,
{'label_attr': {'class': 'control-label'}}) }} <span
class="required">*</span>
{{ form_widget(form.userfio, {'attr': {'class':
'form-control'}}) }}
{% if _errors|length > 0 %}{% for _error in
_errors %}<span class="help-block">{{ _error.message|e
}}</span>{% endfor %}{% endif %}
</div>
{% set _errors = form.username.vars.errors %}
{% set _class = 'form-group' ~ (_errors|length > 0
? ' has-error' : '') %}
<div class="{{ _class }}">
{{ form_label(form.username, null,
{'label_attr': {'class': 'control-label'}}) }} <span
class="required">*</span>
{{ form_widget(form.username, {'attr':
{'class': 'form-control'}}) }}
121
{% if _errors|length > 0 %}{% for _error in
_errors %}<span class="help-block">{{ _error.message|e
}}</span>{% endfor %}{% endif %}
</div>
{% set _errors = form.email.vars.errors %}
{% set _class = 'form-group' ~ (_errors|length > 0
? ' has-error' : '') %}
<div class="{{ _class }}">
{{ form_label(form.email, null, {'label_attr':
{'class': 'control-label'}}) }} <span class="required">*</span>
{{ form_widget(form.email, {'attr': {'class':
'form-control'}}) }}
{% if _errors|length > 0 %}{% for _error in
_errors %}<span class="help-block">{{ _error.message|e
}}</span>{% endfor %}{% endif %}
</div>
{% set _errors = form.phone.vars.errors %}
{% set _class = 'form-group' ~ (_errors|length > 0
? ' has-error' : '') %}
<div class="{{ _class }}">
{{ form_label(form.phone, null, {'label_attr':
{'class': 'control-label'}}) }} <span class="required">*</span>
{{ form_widget(form.phone, {'attr': {'class':
'form-control'}}) }}
{% if _errors|length > 0 %}{% for _error in
_errors %}<span class="help-block">{{ _error.message|e
}}</span>{% endfor %}{% endif %}
</div>
{% set _errors = form.password.first.vars.errors %}
{% set _class = 'form-group' ~ (_errors|length > 0
? ' has-error' : '') %}
<div class="{{ _class }}">
{{ form_label(form.password.first, null,
{'label_attr': {'class': 'control-label'}}) }}
{{ form_widget(form.password.first, {'attr':
{'class': 'form-control'}}) }}
{% if _errors|length > 0 %}{% for _error in
_errors %}<span class="help-block">{{ _error.message|e
}}</span>{% endfor %}{% endif %}
</div>
{% set _errors = form.password.second.vars.errors %}
{% set _class = 'form-group' ~ (_errors|length > 0
? ' has-error' : '') %}
<div class="{{ _class }}">
{{ form_label(form.password.second, null,
{'label_attr': {'class': 'control-label'}}) }}
{{ form_widget(form.password.second, {'attr':
{'class': 'form-control'}}) }}
{% if _errors|length > 0 %}{% for _error in
_errors %}<span class="help-block">{{ _error.message|e
}}</span>{% endfor %}{% endif %}
122
</div>

>Знаком <span class="required">*</span> помечены
поля, обязательные для заполнения.</p>
<hr>
<a href="{{ url('homepage') }}" class="btn btn-
default">
<span class="glyphicon glyphicon-forward" aria-
hidden="true"></span> Отмена
</a>
<button type="submit" class="btn btn-success">
<span class="glyphicon glyphicon-floppy-disk"
aria-hidden="true"></span> Сохранить
</button>
{{ form_end(form) }}
</div>
{% endblock %}

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)