Initial commit
This commit is contained in:
commit
3bc898dd10
130 changed files with 25918 additions and 0 deletions
|
@ -0,0 +1,19 @@
|
|||
{# source: https://stackoverflow.com/a/65082524/1814910 #}
|
||||
<ul>
|
||||
{% for carte in field.value %}
|
||||
{%- set url = ea_url()
|
||||
.setController('App\\Controller\\Admin\\CarteFractalCrudController')
|
||||
.setAction('detail')
|
||||
.setEntityId(carte.id)
|
||||
-%}
|
||||
<li>
|
||||
<a href="{{ url }}">
|
||||
{{ carte }}
|
||||
</a>
|
||||
</li>
|
||||
{% else %}
|
||||
</ul>
|
||||
<span class="badge badge-secondary">None</span>
|
||||
<ul>
|
||||
{% endfor %}
|
||||
</ul>
|
98
templates/base.html.twig
Normal file
98
templates/base.html.twig
Normal file
|
@ -0,0 +1,98 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>{% block title %}Bienvenue !{% endblock %}</title>
|
||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text></svg>">
|
||||
{% block stylesheets %}
|
||||
<!-- Bootstrap icons-->
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" />
|
||||
<!-- Core theme CSS (includes Bootstrap)-->
|
||||
<link href="{{ asset('css/styles.css') }}" rel="stylesheet">
|
||||
{% endblock %}
|
||||
{% block javascripts %}
|
||||
<!-- Bootstrap core JS-->
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<!-- Core theme JS-->
|
||||
<script src="{{ asset('js/scripts.js') }}"></script>
|
||||
{% endblock %}
|
||||
</head>
|
||||
<body style="background-color: blue;" class="bg-light d-flex flex-column min-vh-100">
|
||||
|
||||
{% block menu %}
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-expand-md navbar-dark fixed-top" style="background-color: rgb(10, 20, 32);">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<img src="{{ asset('media/fractal.png') }}" alt="Fractal" width="50" height="50" />
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse"
|
||||
aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarCollapse">
|
||||
<!-- Centrer le menu -->
|
||||
<ul class="navbar-nav justify-content-center w-100 mb-2 mb-md-0">
|
||||
{{ render_bootstrap_menu('main') }}
|
||||
{% if app.user %}
|
||||
{{ render_bootstrap_menu('account') }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" aria-current="page" href="{{ path('app_membre_fractal_show', {'id': app.user.membreFractal.id}) }}">Mon Compte</a>
|
||||
</li>
|
||||
{% if 'ROLE_ADMIN' in app.user.roles %}
|
||||
{{ render_bootstrap_menu('admin') }}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{{ render_bootstrap_menu('anonymousaccount') }}
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
{% endblock %}
|
||||
|
||||
{% block alerts %}
|
||||
{% for type, messages in app.flashes %}
|
||||
{% for message in messages %}
|
||||
{%if type == 'error'%} {% set type = 'danger' %} {%endif%}
|
||||
{%if type == 'message'%} {% set type = 'info' %} {%endif%}
|
||||
<div class="alert alert-{{ type }} alert-dismissible" role="alert">
|
||||
<div>{{ message|raw }}</div>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
{% endfor %} {# messages #}
|
||||
{% endfor %} {# type, messages #}
|
||||
{% endblock %} {# alerts #}
|
||||
{% block body %}
|
||||
<div class="container body-container pt-5 mt-5">
|
||||
|
||||
<main>
|
||||
|
||||
{# Ici la partie utile que les gabarits des pages vont surcharger #}
|
||||
{% block main %}
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<p>
|
||||
<i>MAIN</i>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %} {# main #}
|
||||
|
||||
</main>
|
||||
|
||||
</div> <!-- /.body-container -->
|
||||
|
||||
{% block footer %}
|
||||
<footer class="text-center text-lg-start bg-black text-muted mt-auto" style="background-color: rgba(36,44,50,255);">
|
||||
<div class="text-center p-4" style="background-color: rgba(0, 0, 0, 0.05);">
|
||||
Application Collection Fractal
|
||||
<small><br><small><small>Inspiré du rendu de Timothée Mathubert</small></small></small>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
{% endblock %} {# footer #}
|
||||
|
||||
{% endblock %}
|
||||
</body>
|
||||
</html>
|
4
templates/carte_fractal/_form.html.twig
Normal file
4
templates/carte_fractal/_form.html.twig
Normal file
|
@ -0,0 +1,4 @@
|
|||
{{ form_start(form) }}
|
||||
{{ form_widget(form) }}
|
||||
<button class="btn btn-success mt-2 mb-2">{{ button_label|default('Save') }}</button>
|
||||
{{ form_end(form) }}
|
21
templates/carte_fractal/index.html.twig
Normal file
21
templates/carte_fractal/index.html.twig
Normal file
|
@ -0,0 +1,21 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Hello CarteFractalController!{% endblock %}
|
||||
{% block main %}
|
||||
<div class="text-center">
|
||||
{% if 'ROLE_ADMIN' in app.user.roles %}
|
||||
<h1>Liste des Cartes</h1>
|
||||
{% else %}
|
||||
<h1 class="mb-3">Mes Cartes</h1>
|
||||
{% endif %}
|
||||
{% for carte in cartesfractal %}
|
||||
<a href="{{ path('app_carte_fractal_show',{'id': carte.id}) }}" class="btn bg-success text-light">
|
||||
<img src={{ vich_uploader_asset(carte,'imageFile') }} class="mx-auto p-2 img-fluid" alt="carte" />
|
||||
<div class="card-body mx-auto p-2">
|
||||
<h5 class="card-title text-center">{{ carte.description }}</h5>
|
||||
</div>
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
11
templates/carte_fractal/new.html.twig
Normal file
11
templates/carte_fractal/new.html.twig
Normal file
|
@ -0,0 +1,11 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}New CarteFractal{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<h1>Créer une Carte Fractal</h1>
|
||||
|
||||
{{ include('carte_fractal/_form.html.twig') }}
|
||||
|
||||
<a href="{{ path('app_membre_fractal_show',{'id':membre_fractal.id}) }}" class="btn btn-primary">Retour</a>
|
||||
{% endblock %}
|
21
templates/carte_fractal/show.html.twig
Normal file
21
templates/carte_fractal/show.html.twig
Normal file
|
@ -0,0 +1,21 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Carte {{ carte.description }}{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<div class="card shadow p-3 mb-5 bg-success rounded text-light mx-auto" style="width: 25rem;">
|
||||
<h1 class="text-center">{{ carte.description }}</h1>
|
||||
|
||||
<img src={{ vich_uploader_asset(carte,'imageFile') }} class="mx-auto img-fluid" alt="carte" />
|
||||
|
||||
<div class="card-body mx-auto p-2">
|
||||
|
||||
<p class="card-text text-center">{{ carte.type }}</p>
|
||||
<p class="card-text text-center">{{ carte.prix }} Points Fractal</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<a href="{{ path('app_classeur_fractal_show',{'id':carte.classeurFractal.id})}}" class="btn btn-primary">Retour</a>
|
||||
</div>
|
||||
{% endblock %}
|
4
templates/classeur_fractal/_delete_form.html.twig
Normal file
4
templates/classeur_fractal/_delete_form.html.twig
Normal file
|
@ -0,0 +1,4 @@
|
|||
<form method="post" action="{{ path('app_classeur_fractal_show', {'id': classeur_fractal.id}) }}" onsubmit="return confirm('Are you sure you want to delete this item?');">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ classeur_fractal.id) }}">
|
||||
<button class="btn btn-danger mb-3">Supprimer</button>
|
||||
</form>
|
4
templates/classeur_fractal/_form.html.twig
Normal file
4
templates/classeur_fractal/_form.html.twig
Normal file
|
@ -0,0 +1,4 @@
|
|||
{{ form_start(form) }}
|
||||
{{ form_widget(form) }}
|
||||
<button class="btn btn-success mt-2 mb-2">{{ button_label|default('Save') }}</button>
|
||||
{{ form_end(form) }}
|
16
templates/classeur_fractal/edit.html.twig
Normal file
16
templates/classeur_fractal/edit.html.twig
Normal file
|
@ -0,0 +1,16 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Edit ClasseurFractal{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<div class="text-center">
|
||||
<h1 class="mb-3">Éditer le classeur "{{ classeur_fractal.name }}"</h1>
|
||||
|
||||
{{ include('classeur_fractal/_form.html.twig', {'button_label': 'Update'}) }}
|
||||
|
||||
{{ include('classeur_fractal/_delete_form.html.twig') }}
|
||||
|
||||
<a href="{{ path('app_classeur_fractal_show',{'id':classeur_fractal.id}) }}" class="btn btn-primary">Retour aux classeurs</a>
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
39
templates/classeur_fractal/index.html.twig
Normal file
39
templates/classeur_fractal/index.html.twig
Normal file
|
@ -0,0 +1,39 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Liste des Classeurs Fractal{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
{% if 'ROLE_ADMIN' in app.user.roles %}
|
||||
<div class="text-center">
|
||||
<h1>Tous les classeurs</h1>
|
||||
</div>
|
||||
{% else %}
|
||||
|
||||
<div class="text-center">
|
||||
<a href="{{ path('app_classeur_fractal_new',{'id': membre.id})}}" class ="btn btn-info text-white mx-auto w-25 mt-4 mb-5"><h4>Nouveau Classeur</h4></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% for classeur in classeurs %}
|
||||
|
||||
<div class="card shadow p-3 mb-5 bg-body-tertiary rounded bg-light mx-auto" style="width: 25rem;">
|
||||
|
||||
<img src='https://www.pngkey.com/png/detail/160-1600289_sierpinski-triangle.png' class="mx-auto p-2" alt="classeur" width="200" height="100">
|
||||
|
||||
<div class="card-body mx-auto p-2">
|
||||
|
||||
<h5 class="card-title text-center">{{ classeur.name }}</h5>
|
||||
<p class="card-text text-center">Classeur de {{ classeur.membreFractal }}</p>
|
||||
|
||||
<div class="container mx-auto p-2">
|
||||
<a href="{{ path('app_classeur_fractal_show',{'id':classeur.id}) }}" class="btn btn-primary">Détails</a>
|
||||
<a href="{{ path('app_classeur_fractal_edit',{'id':classeur.id}) }}" class="btn btn-danger">Éditer</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
</ul>
|
||||
{% endblock %}
|
11
templates/classeur_fractal/new.html.twig
Normal file
11
templates/classeur_fractal/new.html.twig
Normal file
|
@ -0,0 +1,11 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}New ClasseurFractal{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<h1>Create new ClasseurFractal</h1>
|
||||
|
||||
{{ include('classeur_fractal/_form.html.twig') }}
|
||||
|
||||
<a href="{{ path('app_classeur_fractal_index') }}" class="btn btn-primary">Retour aux classeurs</a>
|
||||
{% endblock %}
|
32
templates/classeur_fractal/show.html.twig
Normal file
32
templates/classeur_fractal/show.html.twig
Normal file
|
@ -0,0 +1,32 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Classeur n°{{ classeur.id }}{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<div class="card shadow p-3 mb-5 bg-body-tertiary rounded mx-auto p-2 bg-light" style="width: 50rem;">
|
||||
<h1 class="text-center">{{ classeur.name }}</h1>
|
||||
<img src='https://www.pngkey.com/png/detail/160-1600289_sierpinski-triangle.png' class="mx-auto p-2" alt="classeur" width="200" height="100">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-center">Classeur de {{classeur.membreFractal}}</h5>
|
||||
|
||||
<div class="card mx-auto p-2">
|
||||
<div class="card-body mx-auto p-2 mt-3 mb-3">
|
||||
{% if classeur.cartesfractal.isEmpty() %}
|
||||
<p class="card-text text-center">Vous n'avez aucune carte.</p>
|
||||
{% endif %}
|
||||
{% for carte in classeur.cartesfractal %}
|
||||
<a href="{{ path('app_carte_fractal_show', {'id': carte.id}) }}" class="btn btn-success mx-auto p-2">
|
||||
<img src={{vich_uploader_asset(carte,'imageFile')}} class="mx-auto p-2 img-fluid" alt="carte" />
|
||||
<br>
|
||||
<p class="text-center"><h5>{{ carte }}</h5></p>
|
||||
</a>
|
||||
{% endfor %} {# [inventaire].[objets] #}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="{{ path('app_carte_fractal_new', {'id': classeur.id}) }}" class="btn btn-success mb-2">Ajouter une carte</a>
|
||||
<a href="{{ path('app_classeur_fractal_edit',{'id':classeur.id})}}" class="btn btn-danger mb-2">Éditer</a>
|
||||
<a href="{{ path('app_membre_fractal_show',{'id':classeur.membreFractal.id})}}" class="btn btn-primary">Retour</a>
|
||||
</div>
|
||||
{# % dump classeur % #}
|
||||
{% endblock %}
|
4
templates/collection_fractal/_delete_form.html.twig
Normal file
4
templates/collection_fractal/_delete_form.html.twig
Normal file
|
@ -0,0 +1,4 @@
|
|||
<form method="post" action="{{ path('app_collection_fractal_delete', {'id': collection_fractal.id}) }}" onsubmit="return confirm('Are you sure you want to delete this item?');">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ collection_fractal.id) }}">
|
||||
<button class="btn">Delete</button>
|
||||
</form>
|
4
templates/collection_fractal/_form.html.twig
Normal file
4
templates/collection_fractal/_form.html.twig
Normal file
|
@ -0,0 +1,4 @@
|
|||
{{ form_start(form) }}
|
||||
{{ form_widget(form) }}
|
||||
<button class="btn btn-success mt-2 mb-2">{{ button_label|default('Save') }}</button>
|
||||
{{ form_end(form) }}
|
21
templates/collection_fractal/carte_show.html.twig
Normal file
21
templates/collection_fractal/carte_show.html.twig
Normal file
|
@ -0,0 +1,21 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}CollectionFractal{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<div class="text-center"><h1>Collection "{{collection_fractal.name}}"</h1>
|
||||
<a href="{{ path('app_collection_fractal_show',{'id': collection_fractal.id}) }}", class="btn btn-primary mb-3 mx-auto">Retour</a>
|
||||
</div>
|
||||
<div class="card shadow p-3 mb-5 bg-body-tertiary rounded bg-light mx-auto" style="width: 25rem;">
|
||||
|
||||
<img src={{ vich_uploader_asset(carte_fractal,'imageFile') }} class="mx-auto img-fluid" alt="carte" />
|
||||
|
||||
<div class="card-body mx-auto p-2">
|
||||
|
||||
<h5 class="card-title text-center">{{ carte_fractal.description }}</h5>
|
||||
<p class="card-text text-center">{{ carte_fractal.type }}</p>
|
||||
<p class="card-text text-center">{{ carte_fractal.prix }} Points Fractal</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
13
templates/collection_fractal/edit.html.twig
Normal file
13
templates/collection_fractal/edit.html.twig
Normal file
|
@ -0,0 +1,13 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Edit CollectionFractal{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<h1>Edit CollectionFractal</h1>
|
||||
|
||||
{{ include('collection_fractal/_form.html.twig', {'button_label': 'Update'}) }}
|
||||
|
||||
<a href="{{ path('app_collection_fractal_index') }}">back to list</a>
|
||||
|
||||
{{ include('collection_fractal/_delete_form.html.twig') }}
|
||||
{% endblock %}
|
79
templates/collection_fractal/index.html.twig
Normal file
79
templates/collection_fractal/index.html.twig
Normal file
|
@ -0,0 +1,79 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Collection Fractal{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
|
||||
<div class="text-center mt-3 mb-3">
|
||||
<a href="{{ path('app_collection_fractal_new', {'id': app.user.membreFractal.id}) }}" class="btn btn-success"><h2>Nouvelle Collection</h2></a>
|
||||
</div>
|
||||
{% if 'ROLE_ADMIN' in app.user.roles %}
|
||||
<div class="text-center mb-3"><h1>Toutes les collections</h1></div>
|
||||
{% for collection in priv_collections_fractal %}
|
||||
<div class="card shadow p-3 mb-5 bg-body-tertiary rounded bg-light mx-auto" style="width: 25rem;">
|
||||
|
||||
<img src='https://render.fineartamerica.com/images/rendered/default/flat/tapestry/images/artworkimages/medium/1/buddhabrot-fractal-buddha-miroslav-nemecek.jpg?&targetx=0&targety=-68&imagewidth=930&imageheight=930&modelwidth=930&modelheight=794&backgroundcolor=000018&orientation=1&producttype=tapestry-50-61' class="mx-auto p-2" alt="collection" width="100" height="100">
|
||||
|
||||
<div class="card-body mx-auto p-2">
|
||||
|
||||
<h5 class="card-title text-center">{{ collection.name }}</h5>
|
||||
<p class="card-text text-center">Collection de {{ collection.membreFractal }}</p>
|
||||
<p class="card-text text-center">{{ collection.ispublic ? 'Publique' : 'Privée' }}</p>
|
||||
|
||||
<div class="container mx-auto p-2">
|
||||
<a href="{{ path('app_collection_fractal_show',{'id':collection.id}) }}" class="btn btn-primary">Détails</a>
|
||||
<a href="{{ path('app_collection_fractal_edit',{'id':collection.id}) }}" class="btn btn-danger">Éditer</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<div class=text-center><h1>Collections Fractal</h1></div>
|
||||
{% for collection in collection_fractales %}
|
||||
<div class="card shadow p-3 mb-5 bg-body-tertiary rounded bg-light mx-auto" style="width: 25rem;">
|
||||
|
||||
<img src='https://render.fineartamerica.com/images/rendered/default/flat/tapestry/images/artworkimages/medium/1/buddhabrot-fractal-buddha-miroslav-nemecek.jpg?&targetx=0&targety=-68&imagewidth=930&imageheight=930&modelwidth=930&modelheight=794&backgroundcolor=000018&orientation=1&producttype=tapestry-50-61' class="mx-auto" alt="collection" width="100" height="100">
|
||||
|
||||
<div class="card-body mx-auto">
|
||||
|
||||
<h5 class="card-title text-center">{{ collection.name }}</h5>
|
||||
<p class="card-text text-center">Collection de {{ collection.membreFractal }}</p>
|
||||
|
||||
<div class="container">
|
||||
<a href="{{ path('app_collection_fractal_show',{'id':collection.id}) }}" class="btn btn-primary text-center">Détails</a>
|
||||
{% if app.user.membreFractal.id == collection.membreFractal.id %}
|
||||
<a href="{{ path('app_collection_fractal_edit',{'id':collection.id}) }}" class="btn btn-danger">Éditer</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div> {% endfor %}
|
||||
<div class=text-center><h1>Mes Collections Privées</h1></div>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nom</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for collection_fractal in priv_collections_fractal %}
|
||||
<tr>
|
||||
<td>{{ collection_fractal.name }}</td>
|
||||
<td>
|
||||
<a href="{{ path('app_collection_fractal_show', {'id': collection_fractal.id}) }}" class="btn btn-primary">Afficher</a>
|
||||
<a href="{{ path('app_collection_fractal_edit', {'id': collection_fractal.id}) }}" class="btn btn-danger">Éditer</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr>
|
||||
<td colspan="4">Vous n'avez pas de collection privée.</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% endblock %}
|
11
templates/collection_fractal/new.html.twig
Normal file
11
templates/collection_fractal/new.html.twig
Normal file
|
@ -0,0 +1,11 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}New CollectionFractal{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<h1>Create new CollectionFractal</h1>
|
||||
|
||||
{{ include('collection_fractal/_form.html.twig') }}
|
||||
|
||||
<a href="{{ path('app_collection_fractal_index') }}">back to list</a>
|
||||
{% endblock %}
|
21
templates/collection_fractal/show.html.twig
Normal file
21
templates/collection_fractal/show.html.twig
Normal file
|
@ -0,0 +1,21 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}CollectionFractal{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<div class="text-center">
|
||||
<h1 class="mb-3">Collection "{{ collection_fractal.name }}"</h1>
|
||||
<ul>
|
||||
{% for carte in collection_fractal.cartesfractal %}
|
||||
<a href="{{ path('app_collection_carte_show', {'carte_id': carte.id, 'collection_id': collection_fractal.id}) }}" class="btn btn-success">
|
||||
<img src={{vich_uploader_asset(carte,'imageFile')}} class="img-fluid" alt="carte" />
|
||||
<br>
|
||||
<p class="text-center"><h5>{{ carte }}</h5></p>
|
||||
</a>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
|
||||
<a href="{{ path('app_collection_fractal_index') }}", class="btn btn-primary">Retour aux Collections</a>
|
||||
</div>
|
||||
{% endblock %}
|
9
templates/index.html.twig
Normal file
9
templates/index.html.twig
Normal file
|
@ -0,0 +1,9 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block main %}
|
||||
<div class="text-center">
|
||||
<h1>Bienvenue sur MyFractals !!</h1>
|
||||
<p>Le site où on partage nos meilleurs fractales ! </p>
|
||||
<img src="https://www.researchgate.net/profile/Jozsef-Vass/publication/260126327/figure/fig2/AS:669555936477199@1536645983987/Ray-tracing-Figure-13-The-Sierpinski-Pyramid.jpg">
|
||||
</div>
|
||||
{% endblock %}
|
29
templates/login/index.html.twig
Normal file
29
templates/login/index.html.twig
Normal file
|
@ -0,0 +1,29 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{# ... #}
|
||||
|
||||
{% block main %}
|
||||
<div class="card mt-5 text-center">
|
||||
{% if error %}
|
||||
<div>{{ error.messageKey|trans(error.messageData, 'security') }}</div>
|
||||
{% endif %}
|
||||
|
||||
<form action="{{ path('app_login') }}" method="post">
|
||||
<div class="form-outline mb-4 mt-2">
|
||||
<h1>Connexion</h1>
|
||||
<label for="username" class="mt-5">Email :</label>
|
||||
<input type="text" id="username" name="_username" value="{{ last_username }}"/>
|
||||
</div>
|
||||
<div class="form-outline mb-4">
|
||||
<label for="password">Mot de passe : </label>
|
||||
<input type="password" id="password" name="_password"/>
|
||||
</div>
|
||||
{# If you want to control the URL the user is redirected to on success
|
||||
<input type="hidden" name="_target_path" value="/account"/> #}
|
||||
|
||||
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">
|
||||
|
||||
<button type="submit" class="btn btn-primary btn-block mb-4">Se Connecter</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
4
templates/membre_fractal/_delete_form.html.twig
Normal file
4
templates/membre_fractal/_delete_form.html.twig
Normal file
|
@ -0,0 +1,4 @@
|
|||
<form method="post" action="{{ path('app_membre_fractal_delete', {'id': membre_fractal.id}) }}" onsubmit="return confirm('Are you sure you want to delete this item?');">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ membre_fractal.id) }}">
|
||||
<button class="btn">Delete</button>
|
||||
</form>
|
4
templates/membre_fractal/_form.html.twig
Normal file
4
templates/membre_fractal/_form.html.twig
Normal file
|
@ -0,0 +1,4 @@
|
|||
{{ form_start(form) }}
|
||||
{{ form_widget(form) }}
|
||||
<button class="btn btn-success mt-2 mb-2">{{ button_label|default('Save') }}</button>
|
||||
{{ form_end(form) }}
|
22
templates/membre_fractal/edit.html.twig
Normal file
22
templates/membre_fractal/edit.html.twig
Normal file
|
@ -0,0 +1,22 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Éditer {{membre_fractal.pseudo}}{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
|
||||
{% if 'ROLE_ADMIN' in app.user.roles %}
|
||||
|
||||
<h1>Éditer {{membre_fractal.pseudo}}</h1>
|
||||
{{ include('membre_fractal/_form.html.twig', {'button_label': 'Update'}) }}
|
||||
<a href="{{ path('app_membre_fractal_index') }}", class="btn btn-primary">Retour à la liste</a>
|
||||
{{ include('membre_fractal/_delete_form.html.twig') }}
|
||||
|
||||
{% else %}
|
||||
|
||||
<h1>Éditer mon profil</h1>
|
||||
{{ include('membre_fractal/_form.html.twig', {'button_label': 'Update'}) }}
|
||||
<a href="{{ path('app_membre_fractal_show',{'id':membre_fractal.id}) }}", class="btn btn-primary">Retour au profil</a>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
33
templates/membre_fractal/index.html.twig
Normal file
33
templates/membre_fractal/index.html.twig
Normal file
|
@ -0,0 +1,33 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}ADMIN Membres{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<h1>Liste des Membres</h1>
|
||||
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<th>Pseudo</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for membre_fractal in membre_fractales %}
|
||||
<tr>
|
||||
<td>{{ membre_fractal.id }}</td>
|
||||
<td>{{ membre_fractal.pseudo }}</td>
|
||||
<td>
|
||||
<a href="{{ path('app_membre_fractal_show', {'id': membre_fractal.id}) }}" class="btn btn-primary">Détails</a>
|
||||
<a href="{{ path('app_membre_fractal_edit', {'id': membre_fractal.id}) }}" class="btn btn-danger">Éditer</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr>
|
||||
<td colspan="4">no records found</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock %}
|
53
templates/membre_fractal/show.html.twig
Normal file
53
templates/membre_fractal/show.html.twig
Normal file
|
@ -0,0 +1,53 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
|
||||
{% block title %}Mon Compte{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<div class="text-center"><h1>Bonjour {{ membre_fractal.pseudo }} !</h1>
|
||||
<a href="{{ path('app_membre_fractal_edit',{'id': membre_fractal.id}) }}" class="btn btn-danger mt-3 mb-3">Éditer mon profil</a>
|
||||
{% if 'ROLE_ADMIN' in app.user.roles %}
|
||||
<a href="{{ path('app_membre_fractal_index') }}" class="btn btn-primary mb-3">Liste des Membres</a>
|
||||
{% endif %}
|
||||
|
||||
<h2>Mes Classeurs</h2>
|
||||
{% for classeur in membre_fractal.classeursfractal %}
|
||||
<div class="card shadow p-3 bg-body-tertiary rounded bg-light mb-3 mx-auto" style="width: 15rem;">
|
||||
|
||||
<img src='https://www.pngkey.com/png/detail/160-1600289_sierpinski-triangle.png' class="mx-auto p-2" alt="classeur" width="150" height="100">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<h5 class="card-title">{{ classeur.name }}</h5>
|
||||
<div class="container">
|
||||
<a href="{{ path('app_classeur_fractal_show',{'id':classeur.id}) }}" class="btn btn-primary">Détails</a>
|
||||
<a href="{{ path('app_classeur_fractal_edit',{'id':classeur.id}) }}" class="btn btn-danger">Éditer</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% endfor %}
|
||||
<h2>Mes Collections</h2>
|
||||
{% for collection in membre_fractal.collectionsfractal %}
|
||||
<div class="card shadow p-3 bg-body-tertiary rounded bg-light mb-3 mx-auto" style="width: 15rem;">
|
||||
|
||||
<img src='https://render.fineartamerica.com/images/rendered/default/flat/tapestry/images/artworkimages/medium/1/buddhabrot-fractal-buddha-miroslav-nemecek.jpg?&targetx=0&targety=-68&imagewidth=930&imageheight=930&modelwidth=930&modelheight=794&backgroundcolor=000018&orientation=1&producttype=tapestry-50-61' class="mx-auto p-2" alt="classeur" width="100" height="100">
|
||||
|
||||
<div class="card-body mx-auto p-2">
|
||||
|
||||
<h5 class="card-title text-center">{{ collection.name }}</h5>
|
||||
<div class="container mx-auto p-2">
|
||||
<a href="{{ path('app_collection_fractal_show',{'id':collection.id}) }}" class="btn btn-primary">Détails</a>
|
||||
<a href="{{ path('app_collection_fractal_edit',{'id':collection.id}) }}" class="btn btn-danger">Éditer</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% else %}
|
||||
<h3>Vous n'avez aucune collection.</h3>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
21
templates/registration/register.html.twig
Normal file
21
templates/registration/register.html.twig
Normal file
|
@ -0,0 +1,21 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Register{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<div class="text-center card mt-3 mb-3"><h1>Inscription</h1>
|
||||
|
||||
{{ form_errors(registrationForm) }}
|
||||
|
||||
<div class="mt-3 mt-5">{{ form_start(registrationForm) }}</div>
|
||||
<div class="mt-3">{{ form_row(registrationForm.email) }}</div>
|
||||
<div class="mt-3">{{ form_row(registrationForm.pseudo) }}</div>
|
||||
<div class="mt-3">{{ form_row(registrationForm.plainPassword, {
|
||||
label: 'Mot de passe'
|
||||
}) }}</div>
|
||||
<div class="mt-3 mb-3">{{ form_row(registrationForm.agreeTerms) }}</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary btn-block mb-4 mx-5">S'inscrire</button>
|
||||
{{ form_end(registrationForm) }}
|
||||
</div>
|
||||
{% endblock %}
|
Loading…
Add table
Add a link
Reference in a new issue