Enable report list

This commit is contained in:
Marc Ducobu 2014-11-11 15:37:04 +01:00
parent c120c32064
commit 6d39e98197
4 changed files with 59 additions and 75 deletions

View File

@ -38,35 +38,17 @@ class ReportController extends Controller
* Lists all Report entities.
*
*/
public function indexAction(Request $request)
public function listAction($person_id, Request $request)
{
$em = $this->getDoctrine()->getManager();
$entities = $em->getRepository('ChillReportBundle:Report')->findAll();
$reports = $em->getRepository('ChillReportBundle:Report')->findByPerson($person_id);
$cFGroups = $em->getRepository('ChillCustomFieldsBundle:CustomFieldsGroup')
->findByEntity('Chill\ReportBundle\Entity\Report');
$person = $em->getRepository('ChillPersonBundle:Person')->find($person_id);
$cFGroupsChoice = array();
foreach ($cFGroups as $cFGroup) {
$cFGroupsChoice[$cFGroup->getId()] = $cFGroup->getName($request->getLocale());
}
$form = $this->get('form.factory')
->createNamedBuilder(null, 'form', null, array(
'method' => 'GET',
'action' => $this->generateUrl('report_new'),
'csrf_protection' => false
))
->add('cFGroup', 'choice', array(
'choices' => $cFGroupsChoice
))
->getForm();
return $this->render('ChillReportBundle:Report:index.html.twig', array(
'entities' => $entities,
'form' => $form->createView()
return $this->render('ChillReportBundle:Report:list.html.twig', array(
'reports' => $reports,
'person' => $person
));
}

View File

@ -15,6 +15,15 @@ report_create:
defaults: { _controller: "ChillReportBundle:Report:create" }
requirements: { _method: post }
report_list:
path: /person/{person_id}/report/list
defaults: { _controller: "ChillReportBundle:Report:list" }
options:
menus:
person:
order: 101
label: Report list
report_show:
path: /person/{person_id}/report/{id}/show
defaults: { _controller: "ChillReportBundle:Report:show" }

View File

@ -1,51 +0,0 @@
{% extends '::base.html.twig' %}
{% block body -%}
<h1>Report list</h1>
<table class="records_list">
<thead>
<tr>
<th>Id</th>
<th>Userr</th>
<th>Person</th>
<th>Date</th>
<th>Scope</th>
<th>Cfdata</th>
<th>Cfgroup</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{% for entity in entities %}
<tr>
<td><a href="{{ path('report_show', { 'id': entity.id }) }}">{{ entity.id }}</a></td>
<td>{{ entity.userr }}</td>
<td>{{ entity.person }}</td>
<td>{% if entity.date %}{{ entity.date|date('Y-m-d H:i:s') }}{% endif %}</td>
<td>{{ entity.scope }}</td>
<td>{{ entity.cFData }}</td>
<td>{{ entity.cFGroup }}</td>
<td>
<ul>
<li>
<a href="{{ path('report_show', { 'id': entity.id }) }}">show</a>
</li>
<li>
<a href="{{ path('report_edit', { 'id': entity.id }) }}">edit</a>
</li>
</ul>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{{ form_start(form) }}
{{ form_row(form) }}
<button type="submit">
Create a new report
</button>
{{ form_end(form) }}
{% endblock %}

View File

@ -0,0 +1,44 @@
{#
* Copyright (C) 2014, Champs Libres Cooperative SCRLFS, <http://www.champs-libres.coop>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
#}
{% extends "ChillPersonBundle::layout.html.twig" %}
{% set activeRouteKey = 'report_select_type' %}
{% block title %}{{ 'List des rapports' |trans() }}{% endblock title %}
{% block personcontent %}
<table class="" style="width:100%">
<thead>
<tr>
<th>{{ 'Date' | trans }}</th>
<th>{{ 'Report Type' | trans }}</th>
<th>{{ 'Report Scope' | trans }}</th>
<th></th>
</tr>
</thead>
<tbody>
{% for report in reports %}
<tr>
<td>{% if report.date %}{{ report.date|date('d-m-Y') }}{% endif %}</td>
<td>{{ report.cFGroup.getName(app.request.locale) }}</td>
<td>{{ report.scope }}</td>
<td><a href="{#{ path('report_edit', { 'id': entity.id }) }#}">{{ 'update' | trans }}</a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}