Commit 33dce6999a93cd8b81ccd294880b9798354dafa9

Authored by Geoffrey PREUD'HOMME
1 parent 15a9d8f4

Redesign du forum

app/services/MessServ.js
... ... @@ -6,6 +6,8 @@ var async = require('async');
6 6 var MesssServ = {};
7 7  
8 8 MesssServ.addData = function (mess, cb) {
  9 + mess.auteur = {};
  10 + mess.auteur.nom = mess.login;
9 11 // PolyUserServ.get(Mess.login, function (err, nom) {
10 12 // if (nom) {
11 13 // Mess.nom = nom;
... ...
public/js/controllers/ForumConvCtrl.js
... ... @@ -12,23 +12,25 @@ angular.module('ForumConvCtrl', ['SessionsServ', 'ApiServ', 'ngSanitize', 'btfor
12 12 if (!err) {
13 13 $scope.conv = conv;
14 14 ApiServ("récupération des messages", 'get', 'messs', conv._id, function (err, messs) {
15   - if (!err)
  15 + if (!err) {
16 16 $scope.messs = messs;
  17 + }
17 18 });
18 19 }
19 20 });
20 21  
21   - $scope.createMess = function () {
  22 + $scope.addMess = function () {
22 23 data = $scope.formData;
23 24 data.conv = $scope.conv._id;
24 25 ApiServ("envoi du message", 'post', 'messs', data, function (err, mess) {
25   - if (!err)
  26 + if (!err) {
26 27 $scope.formData = {};
27   - $scope.messs.push(mess);
  28 + $scope.messs.push(mess);
  29 + }
28 30 });
29 31 };
30 32  
31   - $scope.deleteMess = function (index) {
  33 + $scope.delMess = function (index) {
32 34 ApiServ("suppression du message", 'delete', 'messs', $scope.messs[index]._id, function (err) {
33 35 if (!err)
34 36 $scope.messs.splice(index, 1);
... ...
public/js/controllers/ForumDirCtrl.js
... ... @@ -15,6 +15,7 @@ angular.module('ForumDirCtrl', ['SessionsServ', 'ApiServ'])
15 15 console.error(err);
16 16 } else {
17 17 if (doss) {
  18 + $scope.doss = doss;
18 19 $scope.dosss = doss.dosss;
19 20 $scope.convs = doss.convs;
20 21 }
... ... @@ -22,7 +23,8 @@ angular.module('ForumDirCtrl', ['SessionsServ', 'ApiServ'])
22 23 });
23 24  
24 25 // Dossiers
25   - $scope.createDoss = function () {
  26 + $scope.addDoss = function () {
  27 + console.log('CALLA');
26 28 $scope.formDoss.parent = $routeParams.doss_id;
27 29 ApiServ("création du dossier", 'post', 'dosss', $scope.formDoss, function (err, doss) {
28 30 if (!err) {
... ... @@ -32,7 +34,7 @@ angular.module('ForumDirCtrl', ['SessionsServ', 'ApiServ'])
32 34 });
33 35 };
34 36  
35   - $scope.deleteDoss = function (index) {
  37 + $scope.delDoss = function (index) {
36 38 ApiServ("suppression du dossier", 'delete', 'dosss', $scope.dosss[index]._id, function (err) {
37 39 if (!err)
38 40 $scope.dosss.splice(index, 1);
... ... @@ -40,7 +42,7 @@ angular.module('ForumDirCtrl', ['SessionsServ', 'ApiServ'])
40 42 };
41 43  
42 44 // Conversations
43   - $scope.createConv = function () {
  45 + $scope.addConv = function () {
44 46 $scope.formConv.parent = $routeParams.doss_id;
45 47 ApiServ("création de la conversation", 'post', 'convs', $scope.formConv, function (err, conv) {
46 48 if (!err) {
... ... @@ -50,7 +52,7 @@ angular.module('ForumDirCtrl', ['SessionsServ', 'ApiServ'])
50 52 });
51 53 };
52 54  
53   - $scope.deleteConv = function (index) {
  55 + $scope.delConv = function (index) {
54 56 ApiServ("suppression de la conversation", 'delete', 'convs', $scope.convs[index]._id, function (err) {
55 57 if (!err)
56 58 $scope.convs.splice(index, 1);
... ...
public/views/forumConv.html
1 1 <div class="container">
2 2 <ol class="breadcrumb">
3 3 <li><a href="/forum">Forum</a></li>
4   - <li><a href="#">Conversations</a></li>
  4 + <li>Conversations</li>
5 5 <li class="active">{{ conv.titre }}</li>
6 6 </ol>
7 7 <h1>{{ conv.titre }}</h1>
8   - <div class="panel panel-default" ng-repeat="mess in messs">
9   - <div class="panel-heading">
10   - {{ mess.login }}
11   - <button ng-show="session.canDelMess" type="button" class="btn btn-danger" ng-click="deleteMess($index)">
12   - <span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Supprimer
13   - </button>
14   - </div>
15   - <div class="panel-body" btf-markdown="mess.content">
16   - </div>
17   - </div>
18   - <div class="form-group" ng-show="session.canAddMess">
19   - <div class="panel panel-default">
20   - <div class="panel-heading">
21   - <h4 class="panel-title">
22   - Nouveau message
23   - </h4>
24   - </div>
25   - <div class="panel-body">
26   - <textarea class="form-control" rows="3" ng-model="formData.content"></textarea>
27   - <button type="submit" class="btn btn-primary" aria-label="Ajouter" ng-click="createMess()">
28   - <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Ajouter
29   - </button>
30   - </div>
31   - </div>
32   - </div>
  8 + <table class="table">
  9 + <thead>
  10 + <tr>
  11 + <th>Détails</th>
  12 + <th>Message</th>
  13 + <th>Actions</th>
  14 + </tr>
  15 + </thead>
  16 + <tbody>
  17 + <tr ng-repeat="mess in messs">
  18 + <td>
  19 + {{ mess.auteur.image }}
  20 + <br />
  21 + <span class=".visible-xs">{{ mess.auteur.login }}</span>
  22 + <span class=".hidden-xs">{{ mess.auteur.nom }}</span>
  23 + <br/> {{ mess.auteur.section }}
  24 + <br/> {{ mess.auteur.role }}
  25 + <br/> {{ doss.date }}
  26 + </td>
  27 + <td btf-markdown="mess.content">
  28 + </td>
  29 + <td>
  30 + <button type="button" class="btn btn-danger" ng-show="session.canDelMess" ng-click="delMess($index)">
  31 + <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
  32 + </button>
  33 + </td>
  34 + </tr>
  35 + <tr ng-show="session.canAddMess">
  36 + <form>
  37 + <td>
  38 + <label for="nvMessTitre">Nouveau message</label>
  39 + </td>
  40 + <td class="form-group">
  41 + <textarea class="form-control" id="nvMessTitre" rows="7" placeholder="Contenu du message" ng-model="formData.content"></textarea>
  42 + </td>
  43 + <td>
  44 + <button type="submit" class="btn btn-primary" ng-class="{disabled: !formData.content}" ng-click="addMess()">
  45 + <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
  46 + </button>
  47 + </td>
  48 + </form>
  49 + </tr>
  50 + </tbody>
  51 + </table>
33 52 <!-- <nav>
34 53 <ul class="pagination">
35 54 <li>
... ...
public/views/forumDir.html
1 1 <div class="container">
2 2 <ol class="breadcrumb">
3 3 <li><a href="/forum">Forum</a></li>
4   - <li><a href="#">Dossiers</a></li>
5   - <li class="active">{{ dossier.titre }}</li>
  4 + <li>Dossiers</li>
  5 + <li class="active">{{ doss.titre }}</li>
6 6 </ol>
7 7 <h1>{{ doss.titre }}</h1>
8   - <h2>Dossiers</h2>
9   - <div class="panel panel-default" ng-repeat="doss in dosss">
10   - <div class="panel-heading">
11   - <h3 class="panel-title">
12   - <a href="/forum/dir/{{ doss._id }}">
13   - <span class="glyphicon glyphicon-folder-open" aria-hidden="true"></span> {{ doss.titre }}
14   - </a>
15   - </h3>
16   - </div>
17   - <div class="panel-body">
18   - <!-- <strong>Date : </strong>{{ doss.date }}<br/> -->
19   - <button ng-show="session.canDelDoss" type="button" class="btn btn-danger" ng-click="deleteDoss($index)">
20   - <span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Supprimer
21   - </button>
22   - </div>
23   - </div>
24   - <div class="form-group" ng-show="session.canAddDoss">
25   - <div class="panel panel-default">
26   - <div class="panel-heading">
27   - <h3 class="panel-title">
28   - <input type="text" class="form-control" placeholder="Titre du dossier" ng-model="formDoss.titre" />
29   - </h3>
30   - </div>
31   - <div class="panel-body">
32   - <button type="submit" class="btn btn-primary" aria-label="Ajouter" ng-click="createDoss()">
33   - <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Ajouter
34   - </button>
35   - </div>
36   - </div>
37   - </div>
38   - <h2>Conversations</h2>
39   - <div class="panel panel-default" ng-repeat="conv in convs">
40   - <div class="panel-heading">
41   - <h3 class="panel-title">
42   - <a href="/forum/conv/{{ conv._id }}">
43   - <span class="glyphicon glyphicon-th-list" aria-hidden="true"></span> {{ conv.titre }}
44   - </a>
45   - </h3>
46   - </div>
47   - <div class="panel-body">
48   - <!-- <strong>Date : </strong>{{ conv.date }}<br/> -->
49   - <button ng-show="session.canDelConv" type="button" class="btn btn-danger" ng-click="deleteConv($index)">
50   - <span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Supprimer
51   - </button>
52   - </div>
53   - </div>
54   - <div class="form-group" ng-show="session.canAddConv">
55   - <div class="panel panel-default">
56   - <div class="panel-heading">
57   - <h3 class="panel-title">
58   - <input type="text" class="form-control" placeholder="Titre de la conversation" ng-model="formConv.titre" />
59   - </h3>
60   - </div>
61   - <div class="panel-body">
62   - <!-- <textarea class="form-control" rows="3"></textarea> -->
63   - <button type="submit" class="btn btn-primary" aria-label="Ajouter" ng-click="createConv()">
64   - <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Ajouter
65   - </button>
66   - </div>
67   - </div>
68   - </div>
  8 + <table class="table">
  9 + <thead>
  10 + <tr>
  11 + <th>Nom</th>
  12 + <th>Auteur</th>
  13 + <th>Dernier message</th>
  14 + <th>Actions</th>
  15 + </tr>
  16 + </thead>
  17 + <tbody>
  18 + <tr ng-repeat="doss in dosss">
  19 + <td>
  20 + <a href="/forum/dir/{{ doss._id }}">
  21 + <span class="glyphicon glyphicon-folder-open" aria-hidden="true"></span>
  22 + {{ doss.titre }}
  23 + </a>
  24 + <span class="badge" ng-hide="doss.new">{{ doss.new }}</span>
  25 + </td>
  26 + <td>
  27 + <span class=".visible-xs">{{ doss.auteur.login }}</span>
  28 + <span class=".hidden-xs">{{ doss.auteur.nom }}</span>
  29 + </td>
  30 + <td>
  31 + {{ doss.date }}
  32 + </td>
  33 + <td>
  34 + <button type="button" class="btn btn-default" ng-show="session.canAbonner">
  35 + <span class="glyphicon glyphicon-eye-open" aria-hidden="true" ng-show="doss.abonne"></span>
  36 + <span class="glyphicon glyphicon-eye-close" aria-hidden="true" ng-hide="doss.abonne"></span>
  37 + </button>
  38 + <button type="button" class="btn btn-danger" ng-show="session.canDelDoss" ng-click="delDoss($index)">
  39 + <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
  40 + </button>
  41 + </td>
  42 + </tr>
  43 + <tr ng-show="session.canAddDoss">
  44 + <form>
  45 + <td class="form-group">
  46 + <label for="nvDossTitre">Nouveau dossier</label>
  47 + <input type="text" class="form-control" id="nvDossTitre" placeholder="Nom du dossier" ng-model="formDoss.titre" />
  48 + </td>
  49 + <td>
  50 + </td>
  51 + <td>
  52 + </td>
  53 + <td>
  54 + <button type="submit" class="btn btn-primary" ng-class="{disabled: !formDoss.titre}" ng-click="addDoss()">
  55 + <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
  56 + </button>
  57 + </td>
  58 + </form>
  59 + </tr>
  60 + <tr ng-repeat="conv in convs">
  61 + <td>
  62 + <a href="/forum/conv/{{ conv._id }}">
  63 + <span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>
  64 + {{ conv.titre }}
  65 + </a>
  66 + <span class="badge" ng-hide="conv.new">{{ conv.new }}</span>
  67 + </td>
  68 + <td>
  69 + <span class=".visible-xs">{{ conv.auteur.login }}</span>
  70 + <span class=".hidden-xs">{{ conv.auteur.nom }}</span>
  71 + </td>
  72 + <td>
  73 + {{ conv.date }}
  74 + </td>
  75 + <td>
  76 + <button type="button" class="btn btn-default" ng-show="session.canAbonner">
  77 + <span class="glyphicon glyphicon-eye-open" aria-hidden="true" ng-show="conv.abonne"></span>
  78 + <span class="glyphicon glyphicon-eye-close" aria-hidden="true" ng-hide="conv.abonne"></span>
  79 + </button>
  80 + <button type="button" class="btn btn-danger" ng-show="session.canDelConv" ng-click="delConv($index)">
  81 + <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
  82 + </button>
  83 + </td>
  84 + </tr>
  85 + <tr ng-show="session.canAddConv">
  86 + <form>
  87 + <td class="form-group">
  88 + <label for="nvConvTitre">Nouvelle conversation</label>
  89 + <input type="text" class="form-control" id="nvConvTitre" placeholder="Nom de la conversation" ng-model="formConv.titre" />
  90 + </td>
  91 + <td>
  92 + </td>
  93 + <td>
  94 + </td>
  95 + <td>
  96 + <button type="submit" class="btn btn-primary" ng-class="{disabled: !formConv.titre}" ng-click="addConv()">
  97 + <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
  98 + </button>
  99 + </td>
  100 + </form>
  101 + </tr>
  102 + </tbody>
  103 + </table>
69 104 <!-- <nav>
70 105 <ul class="pagination">
71 106 <li>
... ...