first commit
This commit is contained in:
150
templates/backend_admin/position_affichage/creer.html.twig
Normal file
150
templates/backend_admin/position_affichage/creer.html.twig
Normal file
@@ -0,0 +1,150 @@
|
||||
{% extends 'base_backend_admin.html.twig' %}
|
||||
|
||||
{% block title %} Position {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Page Heading -->
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-4">
|
||||
<h1 class="h3 mb-0 text-gray-800">Position et affichage</h1>
|
||||
<ol class="breadcrumb float-sm-right">
|
||||
<li class="breadcrumb-item active">Position et affichage</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="card shadow mb-4" >
|
||||
<!-- Card Header - Dropdown -->
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Afficher l'annonce sur la page d'acceuil</h6>
|
||||
</div>
|
||||
<!-- Card Body -->
|
||||
<div class="card-body" style="min-height: 700px">
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
|
||||
<div class="col-md-12 mb-4 mt-2">
|
||||
<label for="societe" class="form-label">Société</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="fa-regular fa-building"></i></span>
|
||||
<select class="form-select" id="societe" required="">
|
||||
<option value=""></option>
|
||||
{% for societe in societes %}
|
||||
<option value="{{ societe.getId() }}">{{ societe.getNom() }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<div class="invalid-feedback">
|
||||
Please select a valid country.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-12 mb-5 annonce" style="display:none">
|
||||
<label for="annonce" class="form-label">Annonce</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="fa-solid fa-scroll"></i></span>
|
||||
<select class="form-select" id="annonce" required="">
|
||||
</select>
|
||||
<div class="invalid-feedback">
|
||||
Please select a valid Annonce.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row mb-5 largeur" style="display:none">
|
||||
<div class="col-md-8">
|
||||
Dimension: <b><span id="largeur"></span></b>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="col-md-8 mb-5 ligne" style="display:none">
|
||||
<label for="ligne" class="form-label">Ligne d'affichage sur la Page d'accueil</label>
|
||||
<select class="form-select" id="ligne" required=""></select>
|
||||
<div class="invalid-feedback">
|
||||
Please select a valid country.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="intervalle-date mb-5" style="display:none">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-5">
|
||||
<label for="dateDebut" class="form-label">Date Début</label>
|
||||
<input type="date" class="form-control" id="dateDebut" placeholder="" value="" required="">
|
||||
<div class="invalid-feedback">
|
||||
Valid first name is required.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="offset-1 col-md-5 dateFin">
|
||||
<label for="dateFin" class="form-label">Date Fin</label>
|
||||
<input type="date" class="form-control" id="dateFin" placeholder="" value="" required="">
|
||||
<div class="invalid-feedback">
|
||||
Valid last name is required.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row mb-5 valOperation" style="display:none">
|
||||
<div class="col-md-5 offset-4">
|
||||
<button type="button" class="btn btn-outline-secondary" id="valOperation">valider</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-6 offset-1" >
|
||||
|
||||
<div id="loading-data"></div>
|
||||
|
||||
<div id="annonce-ligne"></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="save-operation" style="display:none">
|
||||
<div class="col-md-6 offset-3 " >
|
||||
<hr class="my-4 mb-4">
|
||||
<center>
|
||||
<button class="w-5 btn btn-primary btn-lg" id="save-operation">
|
||||
<i class="fa-regular fa-floppy-disk"></i>
|
||||
enregister
|
||||
</button>
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
<script>
|
||||
var pathReservation = "{{ path('backend_admin_position_creer') }}";
|
||||
var pathTestReservation = "{{ path('backend_admin_position_disponibilite') }}";
|
||||
var pathLigneDetail = "{{ path('backend_admin_position_ligne_detail') }}";
|
||||
var pathSave = "{{ path('backend_admin_position_save') }}";
|
||||
var pathPositionDetail = "{{ path('backend_admin_position_detail') }}";
|
||||
</script>
|
||||
|
||||
{{ parent() }}
|
||||
{{ encore_entry_script_tags('app_backend_annonce') }}
|
||||
{% endblock %}
|
||||
176
templates/backend_admin/position_affichage/detail.html.twig
Normal file
176
templates/backend_admin/position_affichage/detail.html.twig
Normal file
@@ -0,0 +1,176 @@
|
||||
{% extends 'base_backend_admin.html.twig' %}
|
||||
|
||||
{% block title %} Position {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Page Heading -->
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-4">
|
||||
<h1 class="h3 mb-0 text-gray-800">Position et affichage</h1>
|
||||
<ol class="breadcrumb float-sm-right">
|
||||
<li class="breadcrumb-item active">Position et affichage</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
{% include 'backend_admin/basic/notice.html.twig' %}
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="card shadow mb-4" >
|
||||
<!-- Card Header - Dropdown -->
|
||||
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Afficher l'annonce sur la page d'acceuil</h6>
|
||||
</div>
|
||||
<!-- Card Body -->
|
||||
<div class="card-body" style="min-height: 700px">
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
|
||||
<div class="mb-4">
|
||||
<div class="card border-left-primary shadow h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="col-10">
|
||||
<div class="font-weight-bold text-primary text-uppercase mb-1">
|
||||
Annonce:
|
||||
</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ position.getAnnonce().getTitre() }}</div>
|
||||
</div>
|
||||
<div class="col-1 offset-1">
|
||||
<i class="fa-solid fa-scroll fa-2x text-gray-300"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="mb-4">
|
||||
<div class="card border-left-success shadow h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="col-5">
|
||||
<div class="font-weight-bold text-success text-uppercase mb-1">
|
||||
Date Début
|
||||
</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ position.getDateAdd()|date("d/m/Y") }}</div>
|
||||
</div>
|
||||
<div class="col-5">
|
||||
<div class="font-weight-bold text-success text-uppercase mb-1">
|
||||
Date Fin
|
||||
</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ position.getDateFin()|date("d/m/Y") }}</div>
|
||||
</div>
|
||||
<div class="col-1 offset-1">
|
||||
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="mb-4">
|
||||
<div class="card border-left-success shadow h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="col-5">
|
||||
<div class="font-weight-bold text-success text-uppercase mb-1">
|
||||
Ligne d'affichage
|
||||
</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ ligne.getRang() }}</div>
|
||||
</div>
|
||||
<div class="col-5">
|
||||
<div class="font-weight-bold text-success text-uppercase mb-1">
|
||||
Dimension
|
||||
</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ position.getAnnonce().getDimension() }}</div>
|
||||
</div>
|
||||
<div class="col-1 offset-1">
|
||||
<i class="fas fa-clipboard-list fa-2x text-gray-300"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-4">
|
||||
<div class="card border-left-danger shadow h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="col mr-2">
|
||||
<div class="font-weight-bold text-danger text-uppercase mb-1">
|
||||
Prix Total d'annonce:
|
||||
</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ position.getTotalPrix()}} DT</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="mb-4">
|
||||
<div class="card border-left-warning shadow h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="col-7">
|
||||
<div class="font-weight-bold text-warning text-uppercase mb-1">
|
||||
Créer par:
|
||||
</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ position.getCreateBy().getFirstname() }} {{ position.getCreateBy().getLastname() }}</div>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="font-weight-bold text-warning text-uppercase mb-1">
|
||||
date:
|
||||
</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ position.getDateAdd()|date("d/m/Y") }}</div>
|
||||
</div>
|
||||
<div class="col-1 offset-1">
|
||||
<i class="fa-solid fa-scroll fa-2x text-gray-300"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-6 offset-1" >
|
||||
<div id="annonce-ligne"> <div class="col-md-12 col-lg-12 order-md-last">
|
||||
<h4 class="d-flex justify-content-between align-items-center mb-3">
|
||||
<span class="text-muted">Affichage d'annonce sur la Ligne <b>{{ position.getLigneRange() }}</b></span>
|
||||
<span class="badge bg-secondary rounded-pill"> {{ position.getAffichages()|length }} Jour</span>
|
||||
</h4>
|
||||
<div class="overflow-scroll p-3 bg-light" style="height: 550px;">
|
||||
<ul class="list-group mb-3">
|
||||
|
||||
{% for affichage in position.getAffichages() %}
|
||||
<li class="list-group-item d-flex justify-content-between lh-sm">
|
||||
<div>
|
||||
<h6 class="my-0"> {{ affichage.getDateShow()|date("d/m/Y") }}</h6>
|
||||
</div>
|
||||
<small class="text-muted">Ligne {{ affichage.getLigneRange() }}</small>
|
||||
<span class="text-muted">{{ affichage.getPrix() }} DT</span>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
70
templates/backend_admin/position_affichage/index.html.twig
Normal file
70
templates/backend_admin/position_affichage/index.html.twig
Normal file
@@ -0,0 +1,70 @@
|
||||
{% extends 'base_backend_admin.html.twig' %}
|
||||
|
||||
{% block title %} Position et Affichage {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<!-- Page Heading -->
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-4">
|
||||
<h1 class="h3 mb-0 text-gray-800">Position et Affichage</h1>
|
||||
<ol class="breadcrumb float-sm-right">
|
||||
<li class="breadcrumb-item">Position et Affichage</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid">
|
||||
|
||||
{% include 'backend_admin/basic/notice.html.twig' %}
|
||||
|
||||
<a href="{{ path('backend_admin_position_creer') }}" class="btn btn-info btn-icon-split mb-4">
|
||||
<span class="icon text-white"><i class="fa-regular fa-square-plus"></i></span>
|
||||
<span class="text text-white">Ajouter une nouvelle Position et Affichage</span>
|
||||
</a>
|
||||
|
||||
|
||||
<!-- DataTales Example -->
|
||||
<div class="card shadow mb-4">
|
||||
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold text-info">Liste Positions et Affichages des annonces sur la page d'acceuil</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered" width="100%" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Titre</th>
|
||||
<th>Ligne</th>
|
||||
<th>Date début</th>
|
||||
<th>Date fin</th>
|
||||
<th>Détail</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for position in positions %}
|
||||
<tr>
|
||||
<td>{{ position.getId() }}</td>
|
||||
<td>{{ position.getAnnonce().getTitre() }}</td>
|
||||
<td>{{ position.getLigneRange() }}</td>
|
||||
<td>{{ position.getDateAdd()|date("d/m/Y")}}</td>
|
||||
<td>{{ position.getDateFin()|date("d/m/Y") }}</td>
|
||||
<td>
|
||||
<a href="{{ path('backend_admin_position_detail', {'idPosition': position.getId() }) }}" title="Détail" class="btn btn-info btn-action">
|
||||
<i class="fa-solid fa-magnifying-glass"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user