Диплом: Автоматизация и обеспечение информационной безопасности приема заявок на ремонт и модернизацию персональных компьютеров в ООО "Бизнес Решения"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
106
return $this->redirectToRoute('homepage');
}
else {
$equipment = new Equipment();
$form = $this->createForm(new EquipmentFormType(),
$equipment);
$form->handleRequest($this->request);
if ($this->request->isMethod('POST')) {
if ($form->isSubmitted() && $form->isValid()) {
$valid = true;
if ($valid) {
$this->manager->persist($equipment);
$this->manager->flush();
//освязываем добавленные
foreach ($equipment->getUnits() as $unit) {
$unit->setEquipment($equipment);
$this->manager->persist($unit);
$this->manager->flush();
}
$this->addNotice('success',
'equipment.html.twig',
array('notice' => 'added', 'place' =>
$equipment->getPlace())
);
return $this-
>redirectToRoute('site_equipment_index');
}
}
}
$this->view['equipment']=null;
$this->forms['equipment'] = $form->createView();
$this->navigation = array('active' => 'equipments');
return $this-
>render('AppBundle:Equipments:equipment.html.twig');
}
}
/**
* @param Equipment $equipment
* @return RedirectResponse|Response
* @Config\Route("/equipment/{equipment}/edit", name =
"site_equipment_edit")
* @Config\ParamConverter("equipment", options = {"mapping":
{"equipment": "id"}})
*/
public function editAction(Equipment $equipment)
{
if (!($this->authChecker->isGranted(Role::ADMIN))) {
return $this->redirectToRoute('homepage');
}
else {
$form = $this->createForm(new EquipmentFormType(),
$equipment);
$form->handleRequest($this->request);
if ($form->isSubmitted() && $form->isValid()) {
$valid = true;
if ($valid) {
$units = $equipment->getUnits();
foreach($units as $unit) {
107
$unit->setEquipment($equipment);
$this->manager->persist($unit);
$this->manager->flush();
}
$this->manager->persist($equipment);
$this->manager->flush();
$this->addNotice('success',
'equipment.html.twig',
array('notice' => 'changed', 'place' =>
$equipment->getPlace())
);
return $this-
>redirectToRoute('site_equipment_index');
}
}
$this->forms['equipment'] = $form->createView();
$this->view['equipment'] = $equipment;
$this->navigation = array('active' => 'equipments');
return $this-
>render('AppBundle:Equipments:equipment.html.twig');
}
}
/**
* @param Equipment $equipment
* @return Response
* @Config\Route("/equipment/{equipment}/remove", name =
"site_equipment_remove")
* @Config\ParamConverter("equipment", options = {"mapping":
{"equipment": "id"}})
*/
public function removeAction(Equipment $equipment)
{
$this->manager->remove($equipment);
$this->manager->flush();
$this->addNotice('error',
'equipment.html.twig',
array('notice' => 'removed', 'place' => $equipment-
>getPlace())
);
return $this->redirectToRoute('site_equipment_index');
}
}
<?php
namespace AppBundle\Controller;
use AppBundle\Entity\Vendor;
use AppBundle\Entity\Role;
use AppBundle\Form\Type\VendorFilterFormType;
use AppBundle\Form\Type\VendorFormType;
use Sensio\Bundle\FrameworkExtraBundle\Configuration as Config;
use Symfony\Component\Form\FormError;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Response;
class VendorController extends InitializableController
{
/**
* @return RedirectResponse|Response
108
* @Config\Route("/ve
ndor/index/{pagenum}", name =
"site_vendor_index", defaults={ "pagenum": "1"})
*/
public function indexAction($pagenum=1)
{
if (!($this->authChecker->isGranted(Role::ADMIN))) {
return $this->redirectToRoute('homepage');
}
else {
$form=$this->createForm(new VendorFilterFormType());
$caption = null;
$form->handleRequest($this->request);
$query = $this->getRepository('Vendor')-
>createQueryBuilder('v')
->orderBy('v.caption', 'DESC');
$countquery = $this->getRepository('Vendor')-
>createQueryBuilder('v')
->select('COUNT(DISTINCT v.id)');
if ($form->isSubmitted() && $form->isValid()) {
$caption = $form->get('caption')->getData();
}
if (!empty($caption)) {
$query-
>andWhere('LOWER(v.caption) LIKE
LOWER(:caption) ')->setParameter('caption', '%' . trim($caption) .
'%');
$countquery->an
dWhere('LOWER(v.caption) LIKE
LOWER(:caption) ')->setParameter('caption', '%' . trim($caption) .
'%');
}
$count=$countquery->getQuery()->getSingleScalarResult();
$pages = floor($count / 20) + ($count % 20 > 0 ? 1 : 0);
if ($pages < 1) $pages = 1;
if ($pagenum > $pages) $pagenum = $pages;
$vendors = $query->setFirstResult(($pagenum - 1) * 20)
->setMaxResults(20)
->getQuery()->getResult();
$this->view['page']=$pagenum;
$this->view['pages']=$pages;
$this->view['vendors'] = $vendors;
$this->view['form'] = $form->createView();
$this->navigation = array('active' => 'vendors');
return $this->render('AppBundle:Vendors:index.html.twig');
}
}
/**
* @return RedirectResponse|Response
* @Config\Route("/vendor/add", name = "site_vendor_add")
*/
public function addAction()
{
if (!($this->authChecker->isGranted(Role::ADMIN))) {
return $this->redirectToRoute('homepage');
}
else {
$vendor = new Vendor();
109
$form = $this->createForm(new VendorFormType(), $vendor);
$form->handleRequest($this->request);
if ($form->isSubmitted() && $form->isValid()) {
$valid = true;
$sames = $this->getRepository('Vendor')-
>createQueryBuilder('v')
->select('COUNT(v.id) AS id')
->where('v.caption = :caption')
->setParameters(array('caption' => $vendor-
>getCaption()))
->getQuery()->getSingleScalarResult();
if ($sames > 0) {
$form->get('caption')->addError(new
FormError('Вендор с таким названием уже имеется в базе'));
$valid = false;
}
if ($valid) {
$this->manager->persist($vendor);
$this->manager->flush();
$this->addNotice('success',
'vendor.html.twig',
array('notice' => 'added', 'caption' =>
$vendor->getCaption())
);
return $this-
>redirectToRoute('site_vendor_index');
}
}
$this->view['vendor']=null;
$this->forms['vendor'] = $form->createView();
$this->navigation = array('active' => 'vendors');
return $this-
>render('AppBundle:Vendors:vendor.html.twig');
}
}
/**
* @param Vendor $vendor
* @return RedirectResponse|Response
* @Config\
Route("/vendor/{vendor}/edit", name =
"site_vendor_edit")
* @Config\ParamConverter("vendor", options = {"mapping":
{"vendor": "id"}})
*/
public function editAction(Vendor $vendor)
{
if (!($this->authChecker->isGranted(Role::ADMIN))) {
return $this->redirectToRoute('homepage');
}
else {
$form = $this->createForm(new VendorFormType(), $vendor);
$form->handleRequest($this->request);
if ($form->isSubmitted() && $form->isValid()) {
$valid = true;
$sames = $this->getRepository('Vendor')-
>createQueryBuilder('v')
->select('COUNT(v.id) AS id')
->where('v.caption = :caption')
110
->setParameters(array('caption' => $vendor-
>getCaption()))
->getQuery()->getSingleScalarResult();
if ($sames > 0) {
$form->get('caption')->addError(new
FormError('Компания с таким названием уже имеется в базе'));
$valid = false;
}
if ($valid) {
$this->manager->persist($vendor);
$this->manager->flush();
$this->addNotice('success',
'vendor.html.twig',
array('notice' => 'changed', 'caption' =>
$vendor->getCaption())
);
return $this-
>redirectToRoute('site_vendor_index');
}
}
$this->forms['vendor'] = $form->createView();
$this->view['vendor'] = $vendor;
$this->navigation = array('active' => 'vendor');
return $this-
>render('AppBundle:Vendors:vendor.html.twig');
}
}
/**
* @param Vendor $vendor
* @return Response
* @Config\
Route("/vendor/{vendor}/remove", name =
"site_vendor_remove")
* @Config\ParamConverter("vendor", options = {"mapping":
{"vendor": "id"}})
*/
public function removeAction(Vendor $vendor)
{
$this->manager->remove($vendor);
$this->manager->flush();
$this->addNotice('error',
'vendor.html.twig',
array('notice' => 'removed', 'caption' => $vendor-
>getCaption())
);
return $this->redirectToRoute('site_vendor_index');
}
}
{% extends 'AppBundle::layout.html.twig' %}
{% block head_title %}Техника{% endblock %}
{% block head_additions %}
<style>
.page {max-width: 700px;}
</style>
{% endblock %}
{% block body_content %}
<div class="page">
<div class="page-header">
111
{% if view.equipment is empty %}
<h1>Новое оборудование</h1>
{% else %}
<h1>Редактирование оборудование</h1>
{% endif %}
</div>
{% set form = forms.equipment %}
{{ form_start(form, {'attr': {'class': 'form'}}) }}
{% set errors = form.place.vars.errors %}
{% set class = 'form-group' ~ (errors|length > 0 ? ' has-
error' : '') %}
<div class="{{ class }}">
{{ form_label(form.place, null, {'label_attr':
{'class': 'control-label'}}) }}
{% if form.place.vars.required %}<span class="text-
danger">*</span>{% endif %}
{{ form_widget(form.place, {'attr': {'class': 'form-
control', 'autofocus': true, 'placeholder':'Например, 1.2.12'}}) }}
{% if errors|length > 0 %}
{% for error in errors %}<span class="help-block
text-danger">{{ error.message }}</span>{% endfor %}
{% endif %}
</div>
{% set errors = form.serial.vars.errors %}
{% set class = 'form-group' ~ (errors|length > 0 ? ' has-
error' : '') %}
<div class="{{ class }}">
{{ form_label(form.serial, null, {'label_attr':
{'class': 'control-label'}}) }}
{% if form.serial.vars.required %}<span class="text-
danger">*</span>{% endif %}
{{ form_widget(form.serial, {'attr': {'class': 'form-
control', 'placeholder':'Серийнй номер'}}) }}
{% if errors|length > 0 %}
{% for error in errors %}<span class="help-block
text-danger">{{ error.message }}</span>{% endfor %}
{% endif %}
</div>
{% set errors = form.vendor.vars.errors %}
{% set class = 'form-group' ~ (errors|length > 0 ? ' has-
error' : '') %}
<div class="{{ class }}">
{{ form_label(form.vendor, null, {'label_attr': {'class':
'control-label'}}) }}
{% if form.vendor.vars.required %}<span class="text-
danger">*</span>{% endif %}
{{ form_widget(form.vendor, {'attr': {'class': 'form-
control'}}) }}
{% if errors|length > 0 %}
{% for error in errors %}<span class="help-block text-
danger">{{ error.message }}</span>{% endfor %}
{% endif %}
</div>
{% set errors = form.model.vars.errors %}
{% set class = 'form-group' ~ (errors|length > 0 ? ' has-
error' : '') %}
<div class="{{ class }}">
112
{{ form_label(form.model, null, {'label_attr': {'class':
'control-label'}}) }}
{% if form.model.vars.required %}<span class="text-
danger">*</span>{% endif %}
{{ form_widget(form.model, {'attr': {'class': 'form-
control'}}) }}
{% if errors|length > 0 %}
{% for error in errors %}<span class="help-block text-
danger">{{ error.message }}</span>{% endfor %}
{% endif %}
</div>
{% set errors = form.numbp.vars.errors %}
{% set class = 'form-group' ~ (errors|length > 0 ? ' has-
error' : '') %}
<div class="{{ class }}">
{{ form_label(form.numbp, null, {'label_attr': {'class':
'control-label'}}) }}
{% if form.numbp.vars.required %}<span class="text-
danger">*</span>{% endif %}
{{ form_widget(form.numbp, {'attr': {'class': 'form-
control', 'min':1}}) }}
{% if errors|length > 0 %}
{% for error in errors %}<span class="help-block text-
danger">{{ error.message }}</span>{% endfor %}
{% endif %}
</div>
{% set errors = form.power.vars.errors %}
{% set class = 'form-group' ~ (errors|length > 0 ? ' has-
error' : '') %}
<div class="{{ class }}">
{{ form_label(form.power, null, {'label_attr': {'class':
'control-label'}}) }}
{% if form.power.vars.required %}<span class="text-
danger">*</span>{% endif %}
{{ form_widget(form.power, {'attr': {'class': 'form-
control'}}) }}
{% if errors|length > 0 %}
{% for error in errors %}<span class="help-block text-
danger">{{ error.message }}</span>{% endfor %}
{% endif %}
</div>
{% set prototype = form.units.vars.prototype %}
{% set prototype_source = '<div class="row"><div class="col-
xs-11 col-sm-11 col-md-11 col-lg-11">' ~
form_label(prototype.number) ~ form_widget(prototype.number,
{'attr': {'class': 'form-control'}}) ~
'</div>
<a href="javascript:void();" class="delete-unit-widget"
title="Удалить" ></a>
</div>'
%}
<div id="units" data-prototype="{{ prototype_source|e }}">
{{ form_label(form.units) }}
{% for unit in form.units %}
<div class="form-group">
<div class="row">
<div class="col-xs-11 col-sm-11 col-md-11 col-
lg-11">
113
{{ form_label(unit.number) }}
{{ form_widget(unit.number, {'attr':
{'class': 'form-control'}}) }}
</div>
<a href="javascript:void(0);"
class="delete-unit-widget" title="Удалить" ></a>
</div>
</div>
{% endfor %}
</div>
<span class="help-block">
<a href="javascript:void(0);" id="add-unit">
<span class="glyphicon glyphicon-plus-sign" aria-
hidden="true"></span> Добавить еще один юнит
</a>
</span>
{% set errors = form.company.vars.errors %}
{% set class = 'form-group' ~ (errors|length > 0 ? ' has-
error' : '') %}
<div class="{{ class }}">
{{ form_label(form.company, null, {'label_attr': {'class':
'control-label'}}) }}
{% if form.company.vars.required %}<span class="text-
danger">*</span>{% endif %}
{{ form_widget(form.company, {'attr': {'class': 'form-
control'}}) }}
{% if errors|length > 0 %}
{% for error in errors %}<span class="help-block text-
danger">{{ error.message }}</span>{% endfor %}
{% endif %}
</div>
{% set errors = form.dogovor.vars.errors %}
{% set class = 'form-group' ~ (errors|length > 0 ? ' has-
error' : '') %}
<div class="{{ class }}">
{{ form_label(form.dogovor, null, {'label_attr': {'class':
'control-label'}}) }}
{% if form.dogovor.vars.required %}<span class="text-
danger">*</span>{% endif %}
{{ form_widget(form.dogovor, {'attr': {'class': 'form-
control'}}) }}
{% if errors|length > 0 %}
{% for error in errors %}<span class="help-block text-
danger">{{ error.message }}</span>{% endfor %}
{% endif %}
</div>
{% set errors = form.numbz.vars.errors %}
{% set class = 'form-group' ~ (errors|length > 0 ? ' has-
error' : '') %}
<div class="{{ class }}">
{{ form_label(form.numbz, null, {'label_attr': {'class':
'control-label'}}) }}
{% if form.numbz.vars.required %}<span class="text-
danger">*</span>{% endif %}
{{ form_widget(form.numbz, {'attr': {'class': 'form-
control'}}) }}
{% if errors|length > 0 %}
114
{% for error in errors %}<span class="help-block text-
danger">{{ error.message }}</span>{% endfor %}
{% endif %}
</div>
{% set errors = form.installDate.vars.errors %}
{% set class = 'form-group' ~ (errors|length > 0 ? ' has-
error' : '') %}
<div class="{{ class }}">
{{ form_label(form.installDate, null, {'label_attr':
{'class': 'control-label'}}) }}
{% if form.installDate.vars.required %}<span class="text-
danger">*</span>{% endif %}
{{ form_widget(form.installDate, {'attr': {'class': 'form-
control', 'placeholder':'Кликните по полю для отображения
календаря'}}) }}
{% if errors|length > 0 %}
{% for error in errors %}<span class="help-block text-
danger">{{ error.message }}</span>{% endfor %}
{% endif %}
</div>
{% set errors = form.destructDate.vars.errors %}
{% set class = 'form-group' ~ (errors|length > 0 ? ' has-
error' : '') %}
<div class="{{ class }}">
{{ form_label(form.destructDate, null, {'label_attr':
{'class': 'control-label'}}) }}
{% if form.destructDate.vars.required %}<span class="text-
danger">*</span>{% endif %}
{{ form_widget(form.destructDate, {'attr': {'class':
'form-control', 'placeholder':'Кликните по полю для отображения
календаря'}}) }}
{% if errors|length > 0 %}
{% for error in errors %}<span class="help-block text-
danger">{{ error.message }}</span>{% endfor %}
{% endif %}
</div>
<hr>
<em>Знаком <span class="text-danger">*</span> отмечены
поля, обязательные для заполнения</em>
<hr>
<a href="{{ url('site_equipment_index') }}" class="btn
btn-default">
<span class="glyphicon glyphicon-backward" aria-
hidden="true"></span> Назад
</a>
{% if view.equipment is not empty %}
<a href="{{ url('site_equipment_remove',
{'equipment':view.equipment.id}) }}" class="btn btn-danger">
<span class="glyphicon glyphicon-remove" aria-
hidden="true"></span> Удалить
</a>
{% endif %}
<button type="submit" class="btn btn-success">
<span class="glyphicon glyphicon-floppy-disk" aria-
hidden="true"></span> Сохранить изменения
</button>
{{ form_end(form) }}
</div>
115
{% endblock %}
{% block body_additions %}
{% set form = forms.equipment %}
<script>
$(document).ready(function() {
var units_count = {{ form.units|length }};
$('#add-unit').click(function () {
var units = $('#units');
$('<div class="form-group"></div>').html(
units.attr('data-
prototype').replace(/__name__/g, units_count)
).appendTo(units);
units_count++;
$(".delete-unit-widget").click(
function () {
$(this).parent().parent().remove();
units_count--;
})
});
$(".delete-unit-widget").click(
function () {
$(this).parent().parent().remove();
units_count--;
})
})
</script>
<script type="text/javascript">
$("#equipment_installDate").datepicker({
format: "dd-mm-yyyy",
endDate: new Date(),
weekStart: 1,
todayBtn: "linked",
language: "ru",
autoclose: true,
todayHighlight: true
});
$("#equipment_destructDate").datepicker({
format: "dd-mm-yyyy",
endDate: new Date(),
weekStart: 1,
todayBtn: "linked",
language: "ru",
autoclose: true,
todayHighlight: true
});
</script>
{% endblock %}

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

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