Commit 190eeb61 authored by okhin's avatar okhin 🚴

Merge branch '32-nouveau-front' into 'preprod'

Ajout des petits triangles

See merge request !30
parents 3d6385d9 3a43f954
Pipeline #2123 passed with stages
in 1 minute and 19 seconds
......@@ -25,6 +25,12 @@ class Perso extends Controller
$this->get_contreparties($f3);
$this->get_dons($f3);
$this->get_recurrents($f3);
if ($f3->exists('GET.validate')) {
$f3->set('modal_counterparts', '1');
$f3->clear('GET.validate');
} else {
$f3->set('modal_counterparts', '0');
};
$f3->set('block_content', 'user/perso.html');
}
......@@ -356,6 +362,7 @@ class Perso extends Controller
// Récupération des valeurs du formulaire
$adresse_id = $f3->get('adresse_id');
$quoi = $f3->get('quoi');
$commentaire = $f3->get('commentaire');
$valeur = 0;
$piplome_id = intval(substr($f3->get('piplome_id'), 0, strpos($f3->get('piplome_id'), '_')));
$taille = intval($f3->get('taille'));
......@@ -380,22 +387,22 @@ class Perso extends Controller
if ($cumul >= $valeur) {
switch ($quoi) {
case 'piplome':
$db->query("INSERT INTO contreparties (user_id,datec,quoi,taille,adresse_id,status) VALUES ('".$f3->get('SESSION.id')."',NOW(),'piplome','".\Utils::asl($piplome_id)."','".\Utils::asl($adresse_id)."',1)");
$db->query("INSERT INTO contreparties (user_id,datec,quoi,taille,adresse_id,status,commentaire) VALUES ('".$f3->get('SESSION.id')."',NOW(),'piplome','".\Utils::asl($piplome_id)."','".\Utils::asl($adresse_id)."',1, '".\Utils::asl($commentaire)."')");
break;
case 'pibag':
$db->query("INSERT INTO contreparties (user_id,datec,quoi,taille,adresse_id,status) VALUES ('".$f3->get('SESSION.id')."',NOW(),'pibag','','".\Utils::asl($adresse_id)."',1)");
$db->query("INSERT INTO contreparties (user_id,datec,quoi,taille,adresse_id,status) VALUES ('".$f3->get('SESSION.id')."',NOW(),'pibag','','".\Utils::asl($adresse_id)."',1, '".\Utils::asl($commentaire)."')");
break;
case 'pishirt':
$db->query("INSERT INTO contreparties (user_id,datec,quoi,taille,adresse_id,status) VALUES ('".$f3->get('SESSION.id')."',NOW(),'pishirt','".\Utils::asl($taille)."','".\Utils::asl($adresse_id)."',1)");
$db->query("INSERT INTO contreparties (user_id,datec,quoi,taille,adresse_id,status) VALUES ('".$f3->get('SESSION.id')."',NOW(),'pishirt','".\Utils::asl($taille)."','".\Utils::asl($adresse_id)."',1, '".\Utils::asl($commentaire)."')");
break;
case 'hoopie':
$db->query("INSERT INTO contreparties (user_id,datec,quoi,taille,adresse_id,status) VALUES ('".$f3->get('SESSION.id')."',NOW(),'hoodie','".\Utils::asl($taille_h)."','".\Utils::asl($adresse_id)."',1)");
$db->query("INSERT INTO contreparties (user_id,datec,quoi,taille,adresse_id,status) VALUES ('".$f3->get('SESSION.id')."',NOW(),'hoodie','".\Utils::asl($taille_h)."','".\Utils::asl($adresse_id)."',1, '".\Utils::asl($commentaire)."')");
}
}
// Puis diminution du cumul de la valeur des contreparties
$db->query("UPDATE users SET cumul = cumul - ".$valeur." WHERE id='".$f3->get('SESSION.id')."'");
$f3->set('msg', _("Merci, vos contreparties seront envoyées dès que possible !"));
$this->show($f3, $args);
$f3->reroute('/perso');
}
public function receipt($f3, $params)
......
......@@ -5,6 +5,5 @@
<include href="toolbar.html" />
<include href="{{ @block_content }}" />
<include href="footer.html" />
</check>
</body>
</html>
......@@ -30,11 +30,13 @@
<!-- Custom Styles pour la version 2018 -->
<link rel="stylesheet" href="./static/css/custom.css" media="all">
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<!--
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
-->
<!-- Latest compiled and minified JavaScript -->
<!--
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
-->
</head>
<div id="subtitle" class="row fluid">
<div id="subtitle" class="row">
<div class="page-header">
<h1 class="text-left">{{ _("Merci de soutenir La Quadrature du Net &lt;3&nbsp;!")}}</h1>
</div>
</div>
<div id="perso" class="row fluid">
<div class="col-md-4"><!-- Form infos du compte -->
<div class="panel panel-default">
<input id="compte" type="checkbox">
<label for="compte" class="panel-heading" role="tab" id="headingInfos">
<div class="panel-heading" role="tab" id="headingInfos">
<div class="panel-title col-xs text-left">
{{ _("Compte")}}
<div class="panel-title col-xs-2 text-right">
......@@ -39,6 +39,31 @@
</div>
</div>
</div>
<div id="collapseInfos" class="panel-collapse collapse" aria-labelledby="headingInfos">
<div class="panel-body text-left">
<form method="POST" action="{{ 'infos' | alias }}">
<input type="hidden" name="csrf" value="{{ @CSRF }}" />
<div class="form-group">
<label for="pseudo">{{ _("Pseudo") }}</label>
<input type="text" class="form-control" id="pseudo" name="pseudo" value="{{ @infos.pseudo }}">
</div>
<div class="form-group">
<label for="email">{{ _("Adresse mail")}}</label>
<input type="email" class="form-control" name="email" id="email" value="{{ @infos.email }}">
</div>
<div class="form-group">
<label for="password">{{ _("Mot de passe")}}</label>
<input type="password" class="form-control" name="password" id="password">
</div>
<div class="form-group">
<label for="password_confirmation">{{ _("Confirmation de mot de passe")}}</label>
<input type="password" class="form-control" name="password_confirmation" id="password_confirmation">
</div>
<input type="submit" class="btn btn-lg btn-primary c-boutonslongs" value="{{ _("Mettre à jour") }}">
</form>
</div>
</div>
</div>
</div><!-- /Form infos du compte -->
<div class="col-md-4"><!-- Form addresses -->
<div class="panel panel-default">
......@@ -60,50 +85,50 @@
<select class="form-control">
<repeat group="{{ @adresses }}" value="{{ @adresse }}">
<option value="{{ @adresse.id }}">{{ @adresse.alias }}</option>
</repeat>
</select>
</div>
</form>
<h3>{{ _("Ajouter une nouvelle adresse")}}</h3>
<h3>{{ _("Ajouter une nouvelle adresse.")}}</h3>
<form method="POST" action="{{ 'adresses' | alias }}" id="create-adress-form">
<input type="hidden" name="csrf" value="{{ @CSRF }}" />
<input type="hidden" name="action" value="ADD" />
<input type="hidden" name="id" value="{{ @adresse.id }}" />
<input type="hidden" name="id" value="" />
<div class="form-group">
<label for="alias">{{ _("Nom de l'adresse")}}</label>
<input type="text" class="form-control" name="alias" value="{{ @adresse.alias }}">
<input type="text" class="form-control" name="alias" value="">
</div>
<div class="form-group">
<label for="nom">{{ _("Destinataire") }}</label>
<input type="text" class="form-control" name="nom" value="{{ @adresse.nom }}">
<input type="text" class="form-control" name="nom" value="">
</div>
<div class="form-group">
<label for="adresse">{{ _("Adresse")}}</label>
<input type="text" class="form-control" name="adresse" value="{{ @adresse.adresse }}">
<input type="text" class="form-control" name="adresse" value="">
</div>
<div class="form-group">
<label for="adresse2">{{ _("Complément d'adresse")}}</label>
<input type="text" class="form-control" name="adresse2" value="{{ @adresse.adresse2 }}">
<input type="text" class="form-control" name="adresse2" value="">
</div>
<div class="form-group">
<label for="codepostal">{{ _("Code Postal")}}</label>
<input type="text" class="form-control" name="codepostal" value="{{ @adresse.codepostal }}">
<input type="text" class="form-control" name="codepostal" value="">
</div>
<div class="form-group">
<label for="ville">{{ _("Ville")}}</label>
<input type="text" class="form-control" name="ville" value="{{ @adresse.ville }}">
<input type="text" class="form-control" name="ville" value="">
</div>
<div class="form-group">
<label for="state">{{ _("Province / État")}}</label>
<input type="text" class="form-control" name="state" value="{{ @adresse.etat }}">
<input type="text" class="form-control" name="state" value="">
</div>
<div class="form-group">
<label for="pays">{{ _("Pays")}}</label>
<input type="text" class="form-control" name="pays" value="{{ @adresse.pays }}">
<input type="text" class="form-control" name="pays" value="">
</div>
<div class="form-group">
<label for="default">
<input type="checkbox" name="defaut" value="true" <check if="{{ @adresse.defaut > 0 }}">checked</check>>{{ _("Utiliser comme adresse par défaut.") }}
<input type="checkbox" name="defaut" value="true" >{{ _("Utiliser comme adresse par défaut.") }}
</label>
</div>
<input type="submit" class="btn btn-lg c-boutonslongs" value="{{ _("Créer cette adresse")}}">
......@@ -160,8 +185,7 @@
</div>
</div>
</div><!-- / Form historique -->
</div>
</section>
</div>
<section id="wrapper" class="text-center fluid">
<div id="subtitle" class="row">
<div class="page-header">
......@@ -207,10 +231,10 @@
<h2 class="text-left">{{ _("Demander des contreparties")}}</h2>
</div>
<!-- FIXME: Lien page contrepartie -->
<p class="text-left">{{ _("Pour débloquer les objets associés à un bonus, cliquez sur l'icône de celui-ci. Le monant disponible pour les objets sera déduit du montant du palier et les objets seront disponibles sur la page <a href=\"#\">Mes contreparties</a> pour en demander la livraison.")}}</p>
<p class="text-left">{{ _("Pour débloquer les objets associés à un bonus, cliquez sur l'icône de celui-ci. Le montant disponible pour les objets sera déduit du montant du palier et les objets seront disponibles sur la page <a href=\"#\">Mes contreparties</a> pour en demander la livraison.")}}</p>
<div id="" class="row">
<form method="POST" action="{{ 'add_contrepartie' | alias }}" name="contreparties">
<input type="hidden" name="csrf" value="{{ @CSRF }}">
<form method="GET" action="{{ 'perso' | alias }}" name="contreparties">
<input type="hidden" name="validate" value="true">
<check if="{{ @infos.cumul >= 30 }}">
<div class="col-md-8 col-md-offset-2"><!-- piplome -->
<div class="panel panel-default">
......@@ -228,10 +252,10 @@
<label for="quoi1">
<h3 class="text-left">{{ _("Piplôme")}}</h3>
</label>
<form class="text-left">
<div class="text-left">
<label for="piplome_id">{{ _("Titulaire du Piplôme")}}</label>
<input type="text" class="form-control" id="piplome_id" name="piplome_id" value="" placeholder="Nom, prénom, pseudonyme, etc …">
</form>
</div>
</div>
</div>
<div class="c-prixcontrepartie">
......@@ -239,6 +263,7 @@
</div>
</div>
</div>
</div>
</div><!-- piplome -->
</check>
<check if="{{ @infos.cumul >= 50 }}">
......@@ -260,9 +285,6 @@
</label>
</div>
</div>
<div class="c-prixcontrepartie">
<p>50&nbsp;</p>
</div>
</div>
</div>
</div><!-- / Pibag -->
......@@ -293,7 +315,6 @@
</repeat>
</select>
</div>
</form>
</div>
</div>
<div class="c-prixcontrepartie">
......@@ -301,6 +322,7 @@
</div>
</div>
</div>
</div>
</div><!-- / Pishirt -->
</check>
<check if="{{ @infos.cumul >= 250 }}">
......@@ -329,7 +351,6 @@
</repeat>
</select>
</div>
</form>
</div>
</div>
<div class="c-prixcontrepartie">
......@@ -337,6 +358,7 @@
</div>
</div>
</div>
</div>
</div><!-- / Hoopi -->
</check>
<check if="{{ count(@adresses) > 0 }}">
......@@ -360,10 +382,44 @@
<!-- Modale de confirmation -->
<!-- TODO: Récupérer le contenu de la modale -->
<div class="modal fade" id="ModaleConfirmation" tabindex="-1" role="dialog">
<!-- On utilise un GET /perso avec le formulaire précent pour peupler la modale -->
<check if="{{ @modal_counterparts == 1 }}">
<div class="modal fade show in" id="ModaleConfirmation" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<form class="text-left" method="POST" action="{{ 'add_contrepartie' | alias}}">
<div class="modal-content c-modale">
<div class="modal-body">
<h3>{{ _("Envoyer à l'adresse&nbsp;:") }}</h3>
<p>
{{ @adresses[@GET['adresse_id']].nom }}<br>
{{ @adresses[@GET['adresse_id']].adresse }}<br>
{{ @adresses[@GET['adresse_id']].adresse2 }}<br>
{{ @adresses[@GET['adresse_id']].codepostal }}&nbsp;
{{ @adresses[@GET['adresse_id']].ville }}
</p>
<h3>{{ _("Récapitulatif&nbsp;:") }}</h3>
<div class="media">
<div class="media-left">
<img class="media-object" src="" alt="{{ @GET['quoi']}}">
</div>
<div class="media-body">
<p>{{ @GET['quoi'] }} {{ @GET['taille'] }}{{ @GET['taille_h']}}{{ @GET['piplome_id'] }}</p>
</div>
</section>
</div>
</div>
<div class="form-group text-left">
<label for="commentaire"><h3>{{ _("Un commentaire&nbsp;?") }}</h3></label>
<textarea class="form-control" id="commentaire" name="commentaire" placeholder="" row="3"></textarea>
<div class="modal-footer">
<input type="hidden" name="csrf" value="{{ @CSRF }}">
<repeat group="{{@GET}}" key="{{ @key }}" value="{{ @value }}">
<input type="hidden" name="{{ @key }}" value="@value">
</repeat>
<a href="{{ 'perso' | alias }}" type="button" class="btn btn-default" data-dismiss="modal">Close</a>
<input type="submit" class="btn btn-primary" value="{{ _('Valider') }}">
</div>
</div>
</div>
</form>
</div>
</check>
<?php
use Phinx\Migration\AbstractMigration;
class AddCommentaire extends AbstractMigration
{
/**
* Change Method.
*
* Write your reversible migrations using this method.
*
* More information on writing migrations is available here:
* http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
*
* The following commands can be used in this method and Phinx will
* automatically reverse them when rolling back:
*
* createTable
* renameTable
* addColumn
* renameColumn
* addIndex
* addForeignKey
*
* Remember to call "create()" or "update()" and NOT "save()" when working
* with the Table class.
*/
public function change()
{
$table = $this->table('contreparties');
$table->addColumn('commentaire', 'string')
->update();
}
}
......@@ -25,6 +25,7 @@ class CounterpartFinderTest extends FunctionalTest
'pdf_id' => '1',
'pdf_nom' => 'Main',
'pdf_url' => 'pdf',
'commentaire' => '',
];
$this->assertEquals($expectedCounterpart, $firstCounterpart);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment