This commit is contained in:
afornerot 2019-04-17 11:59:05 +02:00
parent ffad0f1b43
commit 4e345a7d4c
26 changed files with 144 additions and 73 deletions

View File

@ -16,6 +16,7 @@ TRUNCATE TABLE sidebar;
INSERT IGNORE INTO `sidebar` (`id`, `parent_id`, `roworder`, `label`, `path`, `fonticon`, `permission`, `appactivate`) VALUES
(1000, NULL, 1000, 'CONFIGURATION', '', 'fa-gear', 'ROLE_ADMIN', ''),
(1010, 1000, 1010, 'Générale', 'cadoles_core_config_commun', 'fa-table', 'ROLE_ADMIN', ''),
(1020, 1000, 1020, 'Thème', 'cadoles_core_config_theme', 'fa-paint-brush', 'ROLE_ADMIN,ROLE_MODO', ''),
(1200, NULL, 1200, 'ORGANISATION', NULL, 'fa-sitemap', 'ROLE_ADMIN,ROLE_MODO', ''),
(1210, 1200, 1210, 'Listes Blanche', 'cadoles_core_config_whitelist', 'fa-tasks', 'ROLE_ADMIN', ''),
(1220, 1200, 1220, 'Niveau 01', 'cadoles_core_config_niveau01', 'fa-building', 'ROLE_ADMIN', ''),
@ -28,8 +29,9 @@ INSERT IGNORE INTO `sidebar` (`id`, `parent_id`, `roworder`, `label`, `path`, `f
(1520, 1500, 1520, 'Items', 'cadoles_portal_config_item', 'fa-desktop', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'),
(1530, 1500, 1530, 'Annonces', 'cadoles_portal_config_alert', 'fa-bell', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'),
(1540, 1500, 1540, 'Calendriers', 'cadoles_portal_config_calendar', 'fa-calendar', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'),
(1550, 1500, 1550, 'Chartes', 'cadoles_portal_config_notice', 'fa-info', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'),
(1560, 1500, 1560, 'Icônes', 'cadoles_portal_config_icon', 'fa-bug', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'),
(1550, 1500, 1550, 'Blogs', 'cadoles_portal_config_blog', 'fa-paper-plane', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'),
(1560, 1500, 1560, 'Chartes', 'cadoles_portal_config_notice', 'fa-info', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'),
(1570, 1500, 1570, 'Icônes', 'cadoles_portal_config_icon', 'fa-bug', 'ROLE_ADMIN,ROLE_MODO', 'portal_activate'),
(7000, NULL, 7000, 'CRON', NULL, 'fa-bolt', 'ROLE_ADMIN', 'cron_activate'),
@ -44,6 +46,8 @@ INSERT IGNORE INTO `config` (`order`, `visible`, `changeable`, `required`, `type
('002', 1, 0, 1, 'string', 'version', '1.0.0', '', 'Version de l\'application'),
('003', 1, 1, 0, 'string', 'subappname', 'Portail', '', 'Le sous titre de votre site'),
('004', 1, 1, 1, 'logo', 'logo', 'uploads/logo/logo.png', '', 'Le logo de votre site'),
('005', 1, 0, 0, 'theme', 'theme', '', '', 'Le theme de votre site'),
('040', 1, 1, 1, 'boolean', 'fgheader', '1', '', 'Utiliser une image en bannière du site'),
('041', 1, 1, 1, 'header', 'header', 'uploads/header/header.png', 'fgheader', 'Image en bannière du site'),

View File

@ -1,7 +1,7 @@
{% set logo = "" %}
{% set fgheader = "" %}
{% set header = "header.png" %}
{% set header = "" %}
{% set heightheader = "" %}
{% set colormain = "2e3131" %}

View File

@ -1,6 +1,3 @@
name: Black
author: Arnaud Fornerot
version: 1.0
forcelogo: false
forceheader: true
color: 1e824c
version: 1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@ -1,7 +1,7 @@
{% set logo = "" %}
{% set fgheader = "" %}
{% set header = "header.jpg" %}
{% set header = "" %}
{% set heightheader = "" %}
{% set colormain = "6c7a89" %}

View File

@ -1,6 +1,3 @@
name: Gray
author: Arnaud Fornerot
version: 1.0
forcelogo: false
forceheader: true
color: 6c7a89
version: 1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@ -1,7 +1,7 @@
{% set logo = "" %}
{% set fgheader = "" %}
{% set header = "header.png" %}
{% set header = "" %}
{% set heightheader = "" %}
{% set colormain = "1e824c" %}

View File

@ -1,6 +1,3 @@
name: Green
author: Arnaud Fornerot
version: 1.0
forcelogo: false
forceheader: true
color: 1e824c
version: 1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@ -1,7 +1,7 @@
{% set logo = "" %}
{% set fgheader = "" %}
{% set header = "header.jpg" %}
{% set header = "" %}
{% set heightheader = "" %}
{% set colormain = "f15a22" %}

View File

@ -1,6 +1,3 @@
name: Orange
author: Arnaud Fornerot
version: 1.0
forcelogo: false
forceheader: true
color: 6c7a89
version: 1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@ -1,7 +1,7 @@
{% set logo = "" %}
{% set fgheader = "" %}
{% set header = "header.jpg" %}
{% set header = "" %}
{% set heightheader = "" %}
{% set colormain = "f7ca18" %}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@ -67,7 +67,9 @@
.herotitle img,
.avatar,
.pagemenu,
.grid .grid-preview .caption
.grid .grid-preview .caption,
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
.btn-primary
{
background-color: #{{ color['main'] }}
}
@ -82,7 +84,9 @@
.pagination>.active>span:focus,
.pagination>.active>span:hover,
.page-header,
.sidebar ul li
.sidebar ul li,
.bootstrap-switch.bootstrap-switch-focused,
.btn-primary
{
border-color: #{{ color['main'] }}
}
@ -101,16 +105,26 @@
.nav>li>a:hover,
.nav .open>a, .nav .open>a:focus, .nav .open>a:hover,
.sidebar ul li a.active,
.navbar-top-links li.active a
.navbar-top-links li.active a,
.nav-pills>li.active>a,
.nav-pills>li.active>a:hover,
.nav-pills>li.active>a:focus,
.btn-primary:hover
{
background-color: #{{ color['dark'] }}
}
.btn-primary:hover
{
border-color: #{{ color['dark'] }}
}
.form-control:focus
{
border-color: #{{ color['light'] }}
}
.form-control:focus {
.form-control:focus,
.bootstrap-switch.bootstrap-switch-focused {
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba({{ color['lightrgb']['r'] }},{{ color['lightrgb']['g'] }},{{ color['lightrgb']['b'] }},.6)
}

View File

@ -85,7 +85,7 @@
</button>
<a class="navbar-brand" href="{{ path("cadoles_core_home") }}">
<img id="logo" src="/{{ alias }}/logo) }}">
<img id="logo" src="/{{ alias }}/{{ logo }}">
{{ app.session.get('appname') }}
</a>
</div>

View File

@ -30,9 +30,11 @@ class BlogController extends Controller
public function ajaxlistAction(Request $request,$access="config")
{
// S'assurer que c'est un appel ajax
/*
if (!$request->isXmlHttpRequest()) {
return new JsonResponse(array('message' => 'Interdit'), 400);
}
*/
$em = $this->getDoctrine()->getManager();
@ -41,17 +43,30 @@ class BlogController extends Controller
$search= $request->query->get('search');
$draw= $request->query->get('draw');
$order= $request->query->get('order');
// Query de base
$qbase=$em->createQueryBuilder()
->from($this->labelentity,'table')
->leftJoin('CadolesCoreBundle:User','user','WITH','table.user=user')
->addSelect('user');
$alluser= $request->query->get('alluser');
$qsearch=$qbase->where('table.id LIKE :value')
->orWhere('table.name LIKE :value')
->orWhere('user.username LIKE :value')
->setParameter("value", "%".$search["value"]."%");
// Query de base
$qbase=$em->createQueryBuilder()->from($this->labelentity,'table');
$qsearch=$em->createQueryBuilder()->from($this->labelentity,'table');
if($alluser=="false") {
$qbase->where("table.user is null");
$qsearch->where("table.user is null");
}
else {
$qbase->from('CadolesCoreBundle:User','user')
->where("table.user=user");
$qsearch->from('CadolesCoreBundle:User','user')
->where("table.user=user");
}
if($alluser=="false")
$qsearch->andwhere('table.id LIKE :value OR table.name LIKE :value');
else
$qsearch->andWhere('table.id LIKE :value OR table.name LIKE :value OR user.username LIKE :value') ;
$qsearch->setParameter("value", "%".$search["value"]."%");
// Nombre total d'enregistrement
$total = $qbase->select('COUNT(table)')->getQuery()->getSingleScalarResult();
@ -75,12 +90,13 @@ class BlogController extends Controller
$qb->orderBy('table.name',$order[0]["dir"]);
break;
case 2 :
$qb->orderBy('user.username',$order[0]["dir"]);
if($alluser=="true") $qb->orderBy('user.username',$order[0]["dir"]);
break;
}
// Execution de la requete d'affichage
$datas=$qb->setFirstResult($start)->setMaxResults($length)->getQuery()->getResult();
//dump($qsearch->getQuery()->getSql());
// Construction du tableau de retour
$output = array(

View File

@ -40,17 +40,30 @@ class CalendarController extends Controller
$search= $request->query->get('search');
$draw= $request->query->get('draw');
$order= $request->query->get('order');
// Query de base
$qbase=$em->createQueryBuilder()
->from($this->labelentity,'table')
->leftJoin('CadolesCoreBundle:User','user','WITH','table.user=user')
->addSelect('user');
$alluser= $request->query->get('alluser');
$qsearch=$qbase->where('table.id LIKE :value')
->orWhere('table.name LIKE :value')
->orWhere('user.username LIKE :value')
->setParameter("value", "%".$search["value"]."%");
// Query de base
$qbase=$em->createQueryBuilder()->from($this->labelentity,'table');
$qsearch=$em->createQueryBuilder()->from($this->labelentity,'table');
if($alluser=="false") {
$qbase->where("table.user is null");
$qsearch->where("table.user is null");
}
else {
$qbase->from('CadolesCoreBundle:User','user')
->where("table.user=user");
$qsearch->from('CadolesCoreBundle:User','user')
->where("table.user=user");
}
if($alluser=="false")
$qsearch->andwhere('table.id LIKE :value OR table.name LIKE :value');
else
$qsearch->andWhere('table.id LIKE :value OR table.name LIKE :value OR user.username LIKE :value') ;
$qsearch->setParameter("value", "%".$search["value"]."%");
// Nombre total d'enregistrement
$total = $qbase->select('COUNT(table)')->getQuery()->getSingleScalarResult();
@ -74,7 +87,7 @@ class CalendarController extends Controller
$qb->orderBy('table.name',$order[0]["dir"]);
break;
case 2 :
$qb->orderBy('user.username',$order[0]["dir"]);
if($alluser=="true") $qb->orderBy('user.username',$order[0]["dir"]);
break;
}

View File

@ -49,20 +49,26 @@ class PageController extends Controller
// Query de base
$qbase=$em->createQueryBuilder()->from($this->labelentity,'table');
$qsearch=$em->createQueryBuilder()->from($this->labelentity,'table');
if($alluser=="false") {
dump("pouet");
$qbase->where('table.user IS NOT NULL');
$qbase->where("table.user is null");
$qsearch->where("table.user is null");
}
else
else {
$qbase->from('CadolesCoreBundle:User','user')
->where("table.user=user");
$qsearch=$qbase->where('table.id LIKE :value')
->orWhere('table.name LIKE :value')
->setParameter("value", "%".$search["value"]."%");
if($alluser=="true") $qsearch->orWhere('user.username LIKE :value') ;
$qsearch->from('CadolesCoreBundle:User','user')
->where("table.user=user");
}
if($alluser=="false")
$qsearch->andwhere('table.id LIKE :value OR table.name LIKE :value');
else
$qsearch->andWhere('table.id LIKE :value OR table.name LIKE :value OR user.username LIKE :value') ;
$qsearch->setParameter("value", "%".$search["value"]."%");
// Nombre total d'enregistrement
$total = $qbase->select('COUNT(table)')->getQuery()->getSingleScalarResult();
@ -71,9 +77,9 @@ class PageController extends Controller
// Nombre d'enregistrement filtré
if($search["value"]=="")
$totalf = $total;
else {
else
$totalf= $qsearch->select('COUNT(table)')->getQuery()->getSingleScalarResult();
}
// Parcours des Enregistrement
if($search["value"]=="")
@ -90,13 +96,12 @@ class PageController extends Controller
$qb->orderBy('table.name',$order[0]["dir"]);
break;
case 4 :
//$qb->orderBy('user.username',$order[0]["dir"]);
if($alluser=="true") $qb->orderBy('user.username',$order[0]["dir"]);
break;
}
// Execution de la requete d'affichage
$datas=$qb->setFirstResult($start)->setMaxResults($length)->getQuery()->getResult();
dump($datas);
// Construction du tableau de retour
$output = array(

View File

@ -8,6 +8,10 @@
<p>
<a href="{{ path('cadoles_portal_config_blog_submit') }}" class="btn btn-success">Ajouter un Blog</a>
<span class="pull-right">
<label for="alluser" class="control-label">Afficher les utilisateurs</label>
<input id="alluser" name="alluser" type="checkbox" class="switch" onChange="switchalluser();">
</span>
</p>
<div class="panel panel-primary">
@ -33,14 +37,21 @@
{% block localjavascript %}
$(document).ready(function() {
$('#dataTables').DataTable({
table=$('#dataTables').DataTable({
columnDefs: [ { "targets": 'no-sort', "orderable": false } ],
responsive: true,
iDisplayLength: 100,
order: [[ 1, "asc" ]],
processing: true,
serverSide: true,
ajax: "{{ path('cadoles_portal_config_blog_ajax_list') }}",
ajax: {
"url": "{{ path('cadoles_portal_config_blog_ajax_list') }}",
"data": function ( d ) {
return $.extend( {}, d, {
"alluser": $('#alluser').bootstrapSwitch('state')
});
}
},
drawCallback: function(settings) {
$("a[data-method='delete']").click(function(){
if( !confirm('Êtes-vous sûr de vouloir supprimer ce calendrier ?')) {
@ -50,7 +61,11 @@
}
});
$(".switch").bootstrapSwitch();
});
function switchalluser() {
table.ajax.reload()
}
{% endblock %}

View File

@ -8,6 +8,11 @@
<p>
<a href="{{ path('cadoles_portal_config_calendar_submit') }}" class="btn btn-success">Ajouter un Calendrier</a>
<span class="pull-right">
<label for="alluser" class="control-label">Afficher les utilisateurs</label>
<input id="alluser" name="alluser" type="checkbox" class="switch" onChange="switchalluser();">
</span>
</p>
<div class="panel panel-primary">
@ -33,14 +38,21 @@
{% block localjavascript %}
$(document).ready(function() {
$('#dataTables').DataTable({
table = $('#dataTables').DataTable({
columnDefs: [ { "targets": 'no-sort', "orderable": false } ],
responsive: true,
iDisplayLength: 100,
order: [[ 1, "asc" ]],
processing: true,
serverSide: true,
ajax: "{{ path('cadoles_portal_config_calendar_ajax_list') }}",
ajax: {
"url": "{{ path('cadoles_portal_config_calendar_ajax_list') }}",
"data": function ( d ) {
return $.extend( {}, d, {
"alluser": $('#alluser').bootstrapSwitch('state')
});
}
},
drawCallback: function(settings) {
$("a[data-method='delete']").click(function(){
if( !confirm('Êtes-vous sûr de vouloir supprimer ce calendrier ?')) {
@ -50,7 +62,11 @@
}
});
$(".switch").bootstrapSwitch();
});
function switchalluser() {
table.ajax.reload()
}
{% endblock %}

View File

@ -1,7 +1,7 @@
dico
> voir pour ne pas rendre writer ldap obligatoire
> famille cadoles user visible alors que activer cadoles user non visible (car pas de writer ldap)
> refaire un point sur le dico
> Rendre l'alias paramétrage par genconfig
@ -16,13 +16,13 @@ dico
> Calendrier output / input
> Déplacement de widget vers une autre page du meme user
> Annonces dans pages spécifique
> upload image sur ckeditor
> widget ToDo
> widget Titre - Séparateur
> widget rss
> widget opened/closed
> Parametre canshare
> Parametre opentovisitor
> Theme
> Theme - Reste à mettre un look associé au theme - Voir pour que les themes de base ne force pas le header
> sur menu pills (dans blog et calendrier ) revoir le style du active

Binary file not shown.

Before

Width:  |  Height:  |  Size: 379 KiB

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB