Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added FQCN and removed some deprecations #419

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions app/AppKernel.php
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,6 @@ public function registerBundles()
new Cocorico\PageBundle\CocoricoPageBundle(),
new Cocorico\CMSBundle\CocoricoCMSBundle(),
new Cocorico\BreadcrumbBundle\CocoricoBreadcrumbBundle(),
new Cocorico\SonataAdminBundle\CocoricoSonataAdminBundle(),
new Cocorico\SonataUserBundle\CocoricoSonataUserBundle(),
new Cocorico\MessageBundle\CocoricoMessageBundle(),
new Cocorico\ContactBundle\CocoricoContactBundle(),
new Cocorico\ReviewBundle\CocoricoReviewBundle(),
Expand Down
151 changes: 151 additions & 0 deletions app/Resources/SonataAdminBundle/views/CRUD/base_edit_form.html.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
{% block form %}
{{ sonata_block_render_event('sonata.admin.edit.form.top', { 'admin': admin, 'object': object }) }}

{# NEXT_MAJOR: remove default filter #}
{% set url = objectId|default(admin.id(object)) is not null ? 'edit' : 'create' %}

{% if not admin.hasRoute(url)%}
<div>
{{ "form_not_available"|trans({}, "SonataAdminBundle") }}
</div>
{% else %}
<form
{% if sonata_admin.adminPool.getOption('form_type') == 'horizontal' %}class="form-horizontal"{% endif %}
role="form"
{# NEXT_MAJOR: remove default filter #}
action="{% block sonata_form_action_url %}{{ admin.generateUrl(url, {'id': objectId|default(admin.id(object)), 'uniqid': admin.uniqid, 'subclass': app.request.get('subclass')}) }}{% endblock %}"
{% if form.vars.multipart %} enctype="multipart/form-data"{% endif %}
method="POST"
{% if not sonata_admin.adminPool.getOption('html5_validate') %}novalidate="novalidate"{% endif %}
{% block sonata_form_attributes %}{% endblock %}
>

{{ include('@SonataAdmin/Helper/render_form_dismissable_errors.html.twig') }}

{% block sonata_pre_fieldsets %}
<div class="row">
{% endblock %}

{% block sonata_tab_content %}
{% import "@SonataAdmin/CRUD/base_edit_form_macro.html.twig" as form_helper %}
{% set has_tab = ((admin.formtabs|length == 1 and admin.formtabs|keys[0] != 'default') or admin.formtabs|length > 1 ) %}

<div class="col-md-12">
{% if has_tab %}
{% set tab_prefix = 'tab_' ~ admin.uniqid ~ '_' ~ random() %}
{% set tab_query_index = app.request.query.get('_tab', 0)|split("_")|last %}
<div class="nav-tabs-custom">
<ul class="nav nav-tabs" role="tablist">
{% for name, form_tab in admin.formtabs %}
{% set _tab_name = tab_prefix ~ '_' ~ loop.index %}
<li{% if (not app.request.query.has('_tab') and loop.index == 1) or (tab_query_index == loop.index) %} class="active"{% endif %}>
<a href="#{{ _tab_name }}" class="changer-tab" aria-controls="{{ _tab_name }}" data-toggle="tab">
<i class="fa fa-exclamation-circle has-errors hide" aria-hidden="true"></i> {{ form_tab.label|trans({}, form_tab.translation_domain ?: admin.translationDomain) }}
</a>
</li>
{% endfor %}
</ul>
<div class="tab-content">
{% for code, form_tab in admin.formtabs %}
{% set _tab_name = tab_prefix ~ '_' ~ loop.index %}
<div
class="tab-pane fade{% if (not app.request.query.has('_tab') and loop.first) or (tab_query_index == loop.index) %} in active{% endif %}"
id="{{ _tab_name }}"
>
<div class="box-body container-fluid">
<div class="sonata-ba-collapsed-fields">
{% if form_tab.description != false %}
<p>
{{ form_tab.description|trans({}, form_tab.translation_domain ?: admin.translationDomain)|raw }}
</p>
{% endif %}

{{ form_helper.render_groups(admin, form, form_tab['groups'], has_tab) }}
</div>
</div>
</div>
{% endfor %}
</div>
<input type="hidden" name="_tab" value="{{ app.request.query.get('_tab') }}">
</div>
{% else %}
{{ form_helper.render_groups(admin, form, admin.formtabs['default'].groups, has_tab) }}
{% endif %}
</div>
{% endblock %}

{% block sonata_post_fieldsets %}
</div>
{% endblock %}

{{ form_rest(form) }}

{% block formactions %}
<div class="sonata-ba-form-actions well well-small form-actions">
{% block sonata_form_actions %}
{% if app.request.isxmlhttprequest %}
{# NEXT_MAJOR: remove default filter #}
{% if objectId|default(admin.id(object)) is not null %}
<button type="submit" class="btn btn-success" name="btn_update"><i class="fa fa-save" aria-hidden="true"></i> {{ 'btn_update'|trans({}, 'SonataAdminBundle') }}</button>
{% if admin.hasRoute('delete') and admin.hasAccess('delete', object) %}
{{ 'delete_or'|trans({}, 'SonataAdminBundle') }}
<a class="btn btn-danger" href="{{ admin.generateObjectUrl('delete', object) }}">
<i class="fa fa-minus-circle" aria-hidden="true"></i> {{ 'link_delete'|trans({}, 'SonataAdminBundle') }}
</a>
{% endif %}
{% else %}
<button type="submit" class="btn btn-success" name="btn_create"><i class="fa fa-plus-circle" aria-hidden="true"></i> {{ 'btn_create'|trans({}, 'SonataAdminBundle') }}</button>
{% endif %}
{% else %}
{% if admin.supportsPreviewMode %}
<button class="btn btn-info persist-preview" name="btn_preview" type="submit">
<i class="fa fa-eye" aria-hidden="true"></i>
{{ 'btn_preview'|trans({}, 'SonataAdminBundle') }}
</button>
{% endif %}
{# NEXT_MAJOR: remove default filter #}
{% if objectId|default(admin.id(object)) is not null %}
<button type="submit" class="btn btn-success" name="btn_update_and_edit"><i class="fa fa-save" aria-hidden="true"></i> {{ 'btn_update_and_edit_again'|trans({}, 'SonataAdminBundle') }}</button>

{% if admin.hasRoute('list') and admin.hasAccess('list') %}
<button type="submit" class="btn btn-success" name="btn_update_and_list"><i class="fa fa-save"></i> <i class="fa fa-list" aria-hidden="true"></i> {{ 'btn_update_and_return_to_list'|trans({}, 'SonataAdminBundle') }}</button>
{% endif %}

{% if admin.hasRoute('delete') and admin.hasAccess('delete', object) %}
{{ 'delete_or'|trans({}, 'SonataAdminBundle') }}
<a class="btn btn-danger" href="{{ admin.generateObjectUrl('delete', object) }}"><i class="fa fa-minus-circle" aria-hidden="true"></i> {{ 'link_delete'|trans({}, 'SonataAdminBundle') }}</a>
{% endif %}

{#Mangopay dashboard access for bank wire payout and payin refund#}
{% if bundleExist('CocoricoMangoPayBundle') and admin.isGranted('EDIT', object) %}
{% if admin.hasroute('mangopay_withdraw') and object.status == BookingBankWireConstants.STATUS_TO_DO %}
{% include 'CocoricoMangoPayBundle:Admin:list_action_do_bank_wire.html.twig' with {'object': object} only %}
{% elseif bundleExist('CocoricoListingDepositBundle') and admin.hasroute('mangopay_deposit_refund') %}
{% include 'CocoricoMangoPayBundle:Admin:list_action_do_deposit_payin_refund.html.twig' with {'object': object} only %}
{% include 'CocoricoMangoPayBundle:Admin:list_action_do_deposit_bankwire.html.twig' with {'object': object} only %}
{% endif %}
{% endif %}

{% if admin.isAclEnabled() and admin.hasRoute('acl') and admin.hasAccess('acl', object) %}
<a class="btn btn-info" href="{{ admin.generateObjectUrl('acl', object) }}"><i class="fa fa-users" aria-hidden="true"></i> {{ 'link_edit_acl'|trans({}, 'SonataAdminBundle') }}</a>
{% endif %}
{% else %}
{% if admin.hasroute('edit') and admin.hasAccess('edit') %}
<button class="btn btn-success" type="submit" name="btn_create_and_edit"><i class="fa fa-save" aria-hidden="true"></i> {{ 'btn_create_and_edit_again'|trans({}, 'SonataAdminBundle') }}</button>
{% endif %}
{% if admin.hasroute('list') and admin.hasAccess('list') %}
<button type="submit" class="btn btn-success" name="btn_create_and_list"><i class="fa fa-save"></i> <i class="fa fa-list" aria-hidden="true"></i> {{ 'btn_create_and_return_to_list'|trans({}, 'SonataAdminBundle') }}</button>
{% endif %}
<button class="btn btn-success" type="submit" name="btn_create_and_create"><i class="fa fa-plus-circle" aria-hidden="true"></i> {{ 'btn_create_and_create_a_new_one'|trans({}, 'SonataAdminBundle') }}</button>
{% endif %}
{% endif %}
{% endblock %}
</div>
{% endblock formactions %}
</form>
{% endif%}

{{ sonata_block_render_event('sonata.admin.edit.form.bottom', { 'admin': admin, 'object': object }) }}

{% endblock %}

17 changes: 17 additions & 0 deletions app/Resources/SonataAdminBundle/views/Pager/base_results.html.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{% extends '@!SonataAdmin/Pager/base_results.html.twig' %}

{% block num_results %}
{{ 'list_results_count'|transchoice(admin.datagrid.pager.nbresults, {'%count%': admin.datagrid.pager.nbresults}, 'SonataAdminBundle') }}
&nbsp;-&nbsp;
{% endblock %}

{% block max_per_page %}
<label class="control-label" for="{{ admin.uniqid }}_per_page">{{ 'label_per_page'|trans({},'SonataAdminBundle') }}</label>
<select class="per-page small form-control" id="{{ admin.uniqid }}_per_page" style="width: auto">
{% for per_page in admin.getperpageoptions %}
<option {% if per_page == admin.datagrid.pager.maxperpage %}selected="selected"{% endif %} value="{{ admin.generateUrl('list', {'filter': admin.datagrid.values|merge({'_page': 1, '_per_page': per_page})}) }}">
{{- per_page -}}
</option>
{% endfor %}
</select>
{% endblock %}
50 changes: 50 additions & 0 deletions app/Resources/SonataAdminBundle/views/standard_layout.html.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{% extends '@!SonataAdmin/standard_layout.html.twig' %}

{% block stylesheets %}
{{ parent() }}
<link rel="stylesheet" href="{{ asset('css/admin.css') }}"/>
{% endblock %}

{% block javascripts %}
{{ parent() }}
<script src="{{ asset('js/admin.js') }}"></script>
{% endblock %}

{% block logo %}
{% spaceless %}
<a class="logo" href="{{ path('sonata_admin_dashboard') }}">
{% if 'single_image' == sonata_admin.adminPool.getOption('title_mode') or 'both' == sonata_admin.adminPool.getOption('title_mode') %}
<img src="{{ asset(sonata_admin.adminPool.titlelogo) }}" alt="{{ sonata_admin.adminPool.title }}">
{% endif %}
</a>
{% endspaceless %}
{% endblock %}

{% block sonata_top_nav_menu_user_block %}
<li class="dropdown user-menu">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fa fa-user fa-fw" aria-hidden="true"></i> <i class="fa fa-caret-down" aria-hidden="true"></i>
</a>
</li>
{% endblock %}

{% block side_bar_after_nav %}
{% if app.user and is_granted(sonata_admin.adminPool.getOption('role_admin')) %}
<ul class="sidebar-menu">
{% if cocorico_admin_translation %}
<li>
<a href="{{ path('jms_translation_index') }}" target="_blank">
<i class="fa fa-flag-o"></i>
<span>{{ 'Translations'|trans({}, 'SonataAdminBundle') }}</span>
</a>
</li>
{% endif %}
<li>
<a href="{{ path('cocorico_home') }}" target="_blank">
<i class="fa fa-home"></i>
<span>{{ 'Access site'|trans({}, 'SonataAdminBundle') }}</span>
</a>
</li>
</ul>
{% endif %}
{% endblock %}
4 changes: 2 additions & 2 deletions app/config/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ security:
target: /%cocorico.admin%/
# invalidate_session: false #uncomment it to avoid to logout from all firewall
anonymous: true

logout_on_user_change: true
main:
context: frontend
pattern: ^/(%cocorico.locales_string%)
Expand Down Expand Up @@ -63,7 +63,7 @@ security:
anonymous: true
switch_user: { role: ROLE_SUPER_ADMIN, parameter: _become_who_you_are }
# switch_user: true

logout_on_user_change: true
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
Expand Down
13 changes: 8 additions & 5 deletions src/Cocorico/CMSBundle/Admin/FooterAdmin.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollection;
use Sonata\Form\Type\DatePickerType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\UrlType;
use Symfony\Component\Validator\Constraints\NotBlank;

class FooterAdmin extends AbstractAdmin
Expand Down Expand Up @@ -76,23 +79,23 @@ protected function configureFormFields(FormMapper $formMapper)
'required_locales' => $this->locales,
'fields' => array(
'url' => array(
'field_type' => 'url',
'field_type' => UrlType::class,
'locale_options' => $urls,
'required' => false,
),
'urlHash' => array(
'field_type' => 'text',
'field_type' => TextType::class,
'locale_options' => $urlsHash,
'required' => false,
'disabled' => true
),
'title' => array(
'field_type' => 'text',
'field_type' => TextType::class,
'locale_options' => $titles,
'required' => true,
),
'link' => array(
'field_type' => 'url',
'field_type' => UrlType::class,
'locale_options' => $links,
'required' => true,

Expand Down Expand Up @@ -166,7 +169,7 @@ protected function configureDatagridFilters(DatagridMapper $datagridMapper)

return true;
},
'field_type' => 'sonata_type_date_picker',
'field_type' => DatePickerType::class,
'field_options' => array('format' => 'dd/MM/yyyy'),
),
null
Expand Down
5 changes: 3 additions & 2 deletions src/Cocorico/ContactBundle/Admin/ContactAdmin.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollection;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;

class ContactAdmin extends AbstractAdmin
{
Expand Down Expand Up @@ -51,7 +52,7 @@ protected function configureFormFields(FormMapper $formMapper)
)
->add(
'email',
'email',
EmailType::class,
array(
'label' => 'admin.contact.email.label',
)
Expand Down Expand Up @@ -169,7 +170,7 @@ protected function configureListFields(ListMapper $listMapper)
null,
array(
'label' => 'admin.contact.status.label',
'template' => 'CocoricoSonataAdminBundle::list_field_value_translated.html.twig',
'template' => 'admin/list_field_value_translated.html.twig',
'data_trans' => 'cocorico_contact'
)
)
Expand Down
Loading