Commit e89fffde authored by El-gitano's avatar El-gitano

Ajout des photos dans les tableau joueurs et joueursEquipe

Corrections d'erreur dans l'intercepteur de requête
Correction dans informer (paramètre type pour la méthode info)
Correction de l'objet infosConnexion pour le déploiement
Intégration de l'ajout dans photo dans les appels à l'API
parent 50a209d3
......@@ -3,7 +3,7 @@
"browser": true,
"esnext": true,
"bitwise": true,
"camelcase": true,
"camelcase": false,
"curly": true,
"eqeqeq": true,
"immed": true,
......
......@@ -5,6 +5,8 @@ Rajouter export CSV
=== JOUEURS & JOUEURS ÉQUIPES & ÉQUIPES ===
Ajouter les photos des joueurs (dans les formulaires et via un bouton sur une ligne du tableau)
Modifier l'URL des joueurs une fois la photo mise à jour ou ajoutée
Dans JoueursEquipe, ajouter le joueur après le retour de l'API
=== MODALS ===
......
......@@ -79,6 +79,7 @@ app.controller('JoueursCtrl', ['$scope', 'apicall', '$modal', '$log', 'informer'
apicall.addJoueur(joueur).then(function(data){
console.log(data);
informer.success('Joueur ajouté avec succès');
joueur.IdPlayer = data.playerId;
ajouterEntree(joueur);
......
......@@ -144,6 +144,31 @@ app.controller('JoueursEquipeCtrl', ['$scope', '$routeParams', '$modal', '$log',
});
}
},
{
nom:'Photo',
taille:1,
type:'btn-warning',
glyph:'glyphicon-camera',
func: function(entree){
$modal.open({
templateUrl: 'views/modal/showphoto.html',
controller: 'ShowphotoCtrl',
resolve:{
donnees:function(){
return {
entree:entree
};
}
}
});
}
},
{
nom:'Supprimer',
taille:1,
......
......@@ -11,6 +11,7 @@ angular.module('panelAdminApp')
.controller('ShowphotoCtrl', ['$scope', '$modalInstance', 'donnees', function ($scope, $modalInstance, donnees) {
$scope.joueur = donnees.entree;
$scope.joueur.Url += '?nocache=' + Math.random();
$scope.close = function () {
......
......@@ -16,9 +16,6 @@ angular.module('panelAdminApp').directive('fileModel', [function () {
link: function($scope, element) {
var changementFile = function (changeEvent) {
console.log('Changement du fichier d\'upload');
console.log(changeEvent.target.files[0]);
$scope.fichier = changeEvent.target.files[0];
};
......
......@@ -92,7 +92,7 @@ angular.module('panelAdminApp').
*/
this.addJoueur = function(infosJoueur){
infosJoueur = $filter('assocFilter')(infosJoueur, {
var infos1 = $filter('assocFilter')(infosJoueur, {
'NameTeam':'team',
'DateBirth':'birthdate',
......@@ -103,7 +103,35 @@ angular.module('panelAdminApp').
}, false);
return $http.post(url+'/players', infosJoueur);
var deffered = $q.defer();
$http.post(url+'/players', infos1).success(function(retour){
// On ajoute une photo
if(infosJoueur.photo){
infosJoueur.IdPlayer = retour.playerId;
self.updatePhoto(infosJoueur).success(function(){
deffered.resolve(retour);
}).error(function(){
deffered.reject();
});
}
else{
deffered.resolve(retour);
}
}).error(function(){
deffered.reject();
});
return deffered.promise;
};
/**
......@@ -154,15 +182,23 @@ angular.module('panelAdminApp').
}, false);
$http.put(url+'/players', infos1).success(function(){
self.updatePhoto(infosJoueur).success(function(){
return deffered.resolve();
// On ajoute une photo
if(infosJoueur.photo){
self.updatePhoto(infosJoueur).success(function(){
return deffered.resolve();
}).error(function(){
}).error(function(){
return $q.reject(deffered);
});
return $q.reject(deffered);
});
}
else{
return deffered.resolve();
}
}).error(function(){
......@@ -184,8 +220,6 @@ angular.module('panelAdminApp').
*/
this.updatePhoto = function(infosJoueur){
console.log(infosJoueur);
var fd = new FormData();
fd.append('photo', infosJoueur.photo);
......
......@@ -71,7 +71,7 @@ angular.module('panelAdminApp')
*/
informer.info = function(msg){
informer.informer('primary', msg);
informer.informer('info', msg);
};
/**
......
......@@ -33,7 +33,7 @@ angular.module('panelAdminApp')
$log.info('Erreur d\'authentification, tentative de récupération d\'un token valide');
// Si on a déjà des identifiants on demande à l'API un nouveau token
if(infosConnexion.login !== null && infosConnexion.password !== null){
var deffered = $q.defer();
var apicall = $injector.get('apicall');
......@@ -44,22 +44,13 @@ angular.module('panelAdminApp')
$log.debug('Token : ' + infosConnexion.token);
// Rejeu de la requête d'origine
$injector.get('$http')(response.config).success(function(donnees){
$log.info('Rejeu de la requête effectué avec succès');
deffered.resolve(donnees);
deffered.resolve($injector.get('$http')(response.config));
}).error(function(){
$log.info('Rejeu de la requête échoué');
return $q.reject(deffered);
});
}).error(function(){
$log.error('Reconnexion échouée, redirection vers l\'authentification');
deffered.reject();
$location.path('/authentification');
return $q.reject(deffered);
});
return deffered.promise;
......@@ -70,7 +61,7 @@ angular.module('panelAdminApp')
$log.error('Pas d\'identifiants, redirection vers l\'authentification');
informer.info('Redirection vers l\'authentification à cause de l\'expiration du token');
$location.path('/authentification');
return $q.reject(response);
return;
}
}
// Erreur diverses
......@@ -90,17 +81,18 @@ angular.module('panelAdminApp')
msg = 'Erreur inconnue avec la base de données';
break;
case -3: // Erreur gérée (à traiter de façon générique => default)
case -3:
msg = 'Erreur avec la base de données';
break;
default:
msg = 'Erreur inconnue';
msg = 'Erreur';
break;
}
// Récupération du message d'erreur s'il existe
if(response.data.message){
msg += ' : ' + response.data.message;
......@@ -114,12 +106,12 @@ angular.module('panelAdminApp')
else{
$log.info('Code de retour de l\'API OK');
return $q.when(response);
return response;
}
}
else{
return $q.when(response);
return response;
}
},
'responseError':function(rejection){
......
......@@ -9,16 +9,16 @@
*/
angular.module('panelAdminApp')
.value('infosConnexion',
// Pour debug
//* Pour debug
{
login:'perceval',
password:'faux',
token:'x' // Espace pour soumettre un token interprété par le serveur
}
// Pour déploiement
/*{
/* Pour déploiement
{
login:null,
password:null,
token:' ' // Espace pour soumettre un token interprété par le serveur
token:'x' // Espace pour soumettre un token interprété par le serveur
}*/
);
......@@ -33,6 +33,10 @@
</select>
<span class="msg-erreur" ng-show="formulaire.team.$invalid">Veuillez renseigner l'équipe du joueur svp</span>
</div>
<div class="form-group">
<label for="photo">Photo :</label>
<input name="photo" type="file" file-model="joueur.photo">
</div>
<div class="form-group">
<label for="dnaiss">Date de naissance :</label>
<div>
......
......@@ -30,6 +30,10 @@
<label for="team">Équipe :</label>
<span>{{joueur.Team}}</span>
</div>
<div class="form-group">
<label for="photo">Photo :</label>
<input name="photo" type="file" file-model="joueur.photo">
</div>
<div class="form-group">
<label for="dnaiss">Date de naissance :</label>
<datepicker ng-model="joueur.DateBirth" class="centrer-cal" starting-day="1" show-weeks="false"></datepicker>
......
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