Commit 73875ddc authored by El-gitano's avatar El-gitano

Ajout d'un sélectionneur de pays dans l'édition d'une équipe

Passage des alertes en service d'information sur toute l'application (à finir)
parent d5aeebdf
=== TABLEAU ===
Rajouter export CSV
Lors de la suppression des ligne ajouter une animation ?
Gérer le bouton de supression multiple (avec possibilité de mettre du texte à la place d'un bouton)
Gérer les alertes correctement (via un service)
=== MODALS ===
=== Gestion des alertes ===
Voir pourquoi la date du calendrier ne se met pas au jour actuel dans ajouter joueur
Passer les alertes en transparant au dessus du reste de l'affichage
Placer les alertes dans un container
Modifier les anciens appels aux alertes vers le service d'alerte
=== JOUEURS ÉQUIPE ===
......@@ -19,19 +18,14 @@ Gérer les modifications du tableau après appel à l'API
=== GENERAL ===
Ajouter les photos des joueurs
Ajouter les photos des joueurs (dans les formulaires et lors du focus d'une ligne du tableau)
Fonctionnalité de vérification du tournois avant lancement
Faire la documentation
Faire des tests
=== AUTH ===
Passer obligatoirement sur la page authentification au début
=== Éditer équipe ===
Faire un carousel de sélection
Nom en anglais <=> code ISO <=> Image drapeau (voir flagpedia)
Remettre l'authentification quand nécessaire
=== Tirage ===
......
......@@ -33,6 +33,7 @@
<img id="logo" src="images/logo.png" alt="logo"/><h3 class="text-muted">AceCream</h3>
</div>
<afficheur-infos></afficheur-infos>
<div ng-view=""></div>
<div class="footer">
......@@ -93,6 +94,11 @@
<script src="scripts/services/valeurs.js"></script>
<script src="scripts/filters/assocfilter.js"></script>
<script src="scripts/controllers/headercontroller.js"></script>
<script src="scripts/services/pays.js"></script>
<script src="scripts/directives/flagselector.js"></script>
<script src="scripts/services/alertservice.js"></script>
<script src="scripts/services/informer.js"></script>
<script src="scripts/directives/afficheurinfos.js"></script>
<!-- endbuild -->
<!-- Ajouts persos -->
......
......@@ -8,8 +8,10 @@
*/
angular
.module('panelAdminApp', ['ngRoute', 'ui.bootstrap'])
.config(['$routeProvider', '$httpProvider', 'apicallProvider', 'urlAPI', function ($routeProvider, $httpProvider, apicallProvider, urlAPI) {
.config(['$routeProvider', '$httpProvider', '$logProvider', 'apicallProvider', 'urlAPI', function ($routeProvider, $httpProvider, $logProvider, apicallProvider, urlAPI) {
$logProvider.debugEnabled(true);
apicallProvider.setUrl(urlAPI);
// Vérification du code de retour de l'API pour la reconnexion auto. + modification de certaines entêtes
......@@ -46,4 +48,18 @@ angular
templateUrl: 'views/main.html',
controller: 'MainCtrl'
});
}]);
}])
.run(function($rootScope, $location, infosConnexion) {
/*$rootScope.$on( "$routeChangeStart", function(event, next, current) {
// Pas authentifié
if ((!infosConnexion.login && !infosConnexion.password) || infosConnexion.token === ' ') {
if(next.templateUrl !== "views/authentification.html") {
$location.path("/authentification");
}
}
}); */
});
......@@ -9,7 +9,7 @@
*/
var app = angular.module('panelAdminApp');
app.controller('JoueursCtrl', ['$scope', 'apicall', '$modal', '$log', function ($scope, apicall, $modal, $log) {
app.controller('JoueursCtrl', ['$scope', 'apicall', '$modal', '$log', 'informer', function ($scope, apicall, $modal, $log, informer) {
$scope.methodeMaj = apicall.getJoueurs;
......@@ -80,14 +80,14 @@ app.controller('JoueursCtrl', ['$scope', 'apicall', '$modal', '$log', function (
apicall.addJoueur(joueur).then(function(data){
$log.info('Joueur ajouté');
//console.log(data);
informer.informer('success', 'Joueur ajouté avec succès');
//$scope.chargerJoueurs(); // TODO Régler ce problème
},
function(){
$log.info('Joueur non-ajouté');
//$scope.alertes.push({type : 'danger', msg: 'Impossible de modifier un joueur (cliquer pour essayer de recharger)'}); // TODO Changer ce truc
informer.informer('danger', 'Impossible d\'ajouter le joueur');
});
}, function () {
......
......@@ -6,12 +6,14 @@ app.controller('AjoutJoueurCtrl', ['$scope','$modalInstance', '$filter', '$log',
$scope.joueur = {
DateBirth : Date()
DateBirth: new Date()
};
$scope.$watch('joueur.DateBirth', function(){
$scope.joueur.DateBirth = $filter('date')($scope.joueur.DateBirth, 'yyyy-MM-dd');
$log.info('Date entrée ' + $scope.joueur.DateBirth);
$scope.joueur.DateBirth = $filter('date')($scope.joueur.DateBirth, 'yyyy-MM-dd');
$log.info('Date de naissance : ' + $scope.joueur.DateBirth);
});
apicall.getEquipes().success(function(data){
......@@ -25,6 +27,7 @@ app.controller('AjoutJoueurCtrl', ['$scope','$modalInstance', '$filter', '$log',
$scope.ok = function () {
console.log($scope.joueur);
$modalInstance.close($scope.joueur);
};
......
'use strict';
/**
* @ngdoc directive
* @name panelAdminApp.directive:afficheurInfos
* @description
* # afficheurInfos
*/
angular.module('panelAdminApp')
.directive('afficheurInfos', ['informer', function (informer) {
return {
templateUrl: '/views/directives/afficheurAlertes.html',
restrict: 'E',
scope:{},
link: function($scope) {
$scope.alertes = informer.getInformations();
$scope.fermerAlerte = function(alerte){
informer.supprimer(alerte);
};
}
};
}]);
'use strict';
/**
* @ngdoc directive
* @name panelAdminApp.directive:flagSelector
* @description
* # flagSelector
*/
angular.module('panelAdminApp')
.directive('flagSelector', ['$log', '$filter', 'Pays', function ($log, $filter, Pays) {
return {
templateUrl: 'views/directives/flagSelector.html',
restrict: 'E',
scope: {
elemSelection:'='
},
link: function($scope){
$scope.selectionnerEquipe = function(equipe){
$log.info('Selection de l\'équipe ' + equipe.NomPays);
if($scope.oldSelection){
$scope.oldSelection.selected = false;
}
equipe.selected = true;
$scope.oldSelection = equipe;
$scope.elemSelection.NameTeam = equipe.NomPays;
};
$scope.equipes = angular.copy(Pays);
$scope.oldSelection = null;
if($scope.elemSelection){
var temp = $filter('filter')($scope.equipes, {NomPays:$scope.elemSelection.NameTeam});
temp.selected = true;
$scope.oldSelection = temp;
}
}
};
}]
);
......@@ -25,29 +25,9 @@ angular.module('panelAdminApp')
titre:'@'
},
templateUrl: 'views/tableau.html',
templateUrl: 'views/directives/tableau.html',
link: function($scope) {
/* Gestion des alertes */
$scope.alertes = [];
$scope.fermerAlerte = function(index){
$log.debug('Supression d\'une alerte dans le tableau des alertes');
$scope.alertes.splice(index, 1);
};
var supprimerAlertes = function(){
$scope.alertes = [];
};
var ajouterAlerte = function(type, message){
$log.debug('Ajout d\'une alerte dans le tableau des alertes');
$scope.alertes.push({type : 'alert-'+type, msg: message});
};
/* Gestion du triage */
$scope.trierPar = function(entree){
......@@ -119,7 +99,6 @@ angular.module('panelAdminApp')
$scope.chargerEntrees = function(){
$scope.chargement = true;
supprimerAlertes();
$scope.fctMaj().apply($scope.fctMaj, $scope.paramsMaj).success(function(data){
......@@ -136,7 +115,7 @@ angular.module('panelAdminApp')
}).error(function(){
ajouterAlerte('danger', 'Impossible de récupérer les données (cliquez sur actualiser pour essayer de recharger)');
//ajouterAlerte('danger', 'Impossible de récupérer les données (cliquez sur actualiser pour essayer de recharger)'); // TODO A changer
$scope.entrees = [];
$scope.chargement = false;
......@@ -168,17 +147,6 @@ angular.module('panelAdminApp')
joueur.selection = !joueur.selection;
};
// Supprime l'ensemble des joueurs sélectionnés
$scope.supprimerSelection = function(){
var selectJoueurs = $filter('filter')($scope.entrees, {selection:true});
angular.forEach(selectJoueurs, function(element){
$scope.supprimerEntree(element);
});
};
// À définir
$scope.ajouterJoueur = function(){
......
'use strict';
/**
* @ngdoc service
* @name panelAdminApp.informer
* @description
* # informer
* Factory in the panelAdminApp.
*/
angular.module('panelAdminApp')
.factory('informer', function () {
var Informer = {
messages:[]
};
Informer.informer = function(type, msg) {
this.messages.push({
type : 'alert-'+type,
msg: msg
});
};
Informer.getInformations = function() {
return this.messages;
};
Informer.supprimer = function(info) {
this.messages.splice(this.messages.indexOf(info), 1);
};
return Informer;
});
'use strict';
/**
* @ngdoc service
* @name panelAdminApp.Pays
* @description
* # Pays
* Value in the panelAdminApp.
*/
angular.module('panelAdminApp')
.value('Pays',
[
{
NomPays:'Afghanistan',
Iso:'AF'
},
{
NomPays:'Albania',
Iso:'AL'
},
{
NomPays:'Algeria',
Iso:'DZ'
},
{
NomPays:'Andorra',
Iso:'AD'
},
{
NomPays:'Angola',
Iso:'AO'
},
{
NomPays:'Argentina',
Iso:'AR'
},
{
NomPays:'Armenia',
Iso:'AM'
},
{
NomPays:'Australia',
Iso:'AU'
},
{
NomPays:'Austria',
Iso:'AT'
},
{
NomPays:'Azerbaijan',
Iso:'AZ'
},
{
NomPays:'Bahrain',
Iso:'BH'
},
{
NomPays:'Bangladesh',
Iso:'BD'
},
{
NomPays:'Barbados',
Iso:'BB'
},
{
NomPays:'Belarus',
Iso:'BY'
},
{
NomPays:'Belgium',
Iso:'BE'
},
{
NomPays:'Belize',
Iso:'BZ'
},
{
NomPays:'Benin',
Iso:'BJ'
},
{
NomPays:'Bhutan',
Iso:'BT'
},
{
NomPays:'Bolivia',
Iso:'BO'
},
{
NomPays:'Botswana',
Iso:'BW'
},
{
NomPays:'Brazil',
Iso:'BR'
},
{
NomPays:'Brunei',
Iso:'BN'
},
{
NomPays:'Bulgaria',
Iso:'BG'
},
{
NomPays:'Burundi',
Iso:'BI'
},
{
NomPays:'Cambodia',
Iso:'KH'
},
{
NomPays:'Cameroon',
Iso:'CM'
},
{
NomPays:'Canada',
Iso:'CA'
},
{
NomPays:'Chad',
Iso:'TD'
},
{
NomPays:'Chile',
Iso:'CL'
},
{
NomPays:'Colombia',
Iso:'CO'
},
{
NomPays:'Croatia',
Iso:'HR'
},
{
NomPays:'Cuba',
Iso:'CU'
},
{
NomPays:'Cyprus',
Iso:'CY'
},
{
NomPays:'Denmark',
Iso:'DK'
},
{
NomPays:'Djibouti',
Iso:'DJ'
},
{
NomPays:'Dominica',
Iso:'DM'
},
{
NomPays:'Ecuador',
Iso:'EC'
},
{
NomPays:'Egypt',
Iso:'EG'
},
{
NomPays:'Eritrea',
Iso:'ER'
},
{
NomPays:'Estonia',
Iso:'EE'
},
{
NomPays:'Ethiopia',
Iso:'ET'
},
{
NomPays:'Fiji',
Iso:'FJ'
},
{
NomPays:'Finland',
Iso:'FI'
},
{
NomPays:'France',
Iso:'FR'
},
{
NomPays:'Gabon',
Iso:'GA'
},
{
NomPays:'Georgia',
Iso:'GE'
},
{
NomPays:'Germany',
Iso:'DE'
},
{
NomPays:'Ghana',
Iso:'GH'
},
{
NomPays:'Greece',
Iso:'GR'
},
{
NomPays:'Grenada',
Iso:'GD'
},
{
NomPays:'Guatemala',
Iso:'GT'
},
{
NomPays:'Guinea',
Iso:'GN'
},
{
NomPays:'Guyana',
Iso:'GY'
},
{
NomPays:'Haiti',
Iso:'HT'
},
{
NomPays:'Honduras',
Iso:'HN'
},
{
NomPays:'Hungary',
Iso:'HU'
},
{
NomPays:'Iceland',
Iso:'IS'
},
{
NomPays:'India',
Iso:'IN'
},
{
NomPays:'Indonesia',
Iso:'ID'
},
{
NomPays:'Iran',
Iso:'IR'
},
{
NomPays:'Iraq',
Iso:'IQ'
},
{
NomPays:'Ireland',
Iso:'IE'
},
{
NomPays:'Israel',
Iso:'IL'
},
{
NomPays:'Italy',
Iso:'IT'
},
{
NomPays:'Jamaica',
Iso:'JM'
},
{
NomPays:'Japan',
Iso:'JP'
},
{
NomPays:'Jordan',
Iso:'JO'
},
{
NomPays:'Kazakhstan',
Iso:'KZ'
},
{
NomPays:'Kenya',
Iso:'KE'
},
{
NomPays:'Kiribati',
Iso:'KI'
},
{
NomPays:'Kosovo',