Commit 61267f5d911a45ad4d6e7f4d3b0fd8d912dcd14d
1 parent
e0b7f461
Exists in
master
and in
2 other branches
Ticket #58: Fixing edit proposal
Showing
9 changed files
with
21 additions
and
37 deletions
Show diff stats
www/html/_edit_proposal.html
... | ... | @@ -9,17 +9,8 @@ |
9 | 9 | <label class="item item-input"><input type="text" placeholder="Título" ng-model="data.title" maxlength="40"></label> |
10 | 10 | <label class="item item-input"><textarea placeholder="Descrição" ng-model="data.description"></textarea></label> |
11 | 11 | |
12 | - <ng-include src="'html/_select_state.html'"></ng-include> | |
12 | + <ng-include src="'html/_select_proposal_state.html'"></ng-include> | |
13 | 13 | |
14 | - <label id="proposal-topic"> | |
15 | - <div class="input-label"> | |
16 | - Eixo | |
17 | - </div> | |
18 | - <select ng-model="data.topic_id" id="select-topic" ng-value="topic.id" ng-options="topic.title for topic in topics track by topic.id"> | |
19 | - <option value="">Escolha o eixo...</option> | |
20 | - </select> | |
21 | - </label> | |
22 | - | |
23 | 14 | <label class="checkbox free-conference-cbox"> |
24 | 15 | <input type="checkbox" ng-model="data.free_conference" > |
25 | 16 | </label> | ... | ... |
www/html/_left_sidebar.html
1 | 1 | <div id="left-sidebar" class="sidebar" menu-toggle="left"> |
2 | 2 | <ion-content> |
3 | 3 | <h2> |
4 | - <span>{{user.name}}</span> | |
4 | + <span>{{profile.login}}</span> | |
5 | 5 | <button menu-toggle="left" class="button button-icon icon ion-close-circled"></button> |
6 | 6 | </h2> |
7 | 7 | <ul class="list" ng-show="loggedIn"> | ... | ... |
www/html/_proposal.html
... | ... | @@ -12,16 +12,16 @@ |
12 | 12 | <span id="proposal-id" style="display: none;">{{proposal.id}}</span> |
13 | 13 | |
14 | 14 | <p class="proposal-buttons"> |
15 | - <button class="button tag" ng-click="openTagForm()" ng-show="proposal.author.id == user.id"> | |
15 | + <button class="button tag" ng-click="openTagForm()" ng-show="proposal.author.id == profile.id"> | |
16 | 16 | <i class="icon ion-pricetags"></i> <span>Adicionar Tag</span> |
17 | 17 | </button> |
18 | - <button class="button edit" ng-click="openEditProposalForm()" ng-show="proposal.author.id == user.id"> | |
18 | + <button class="button edit" ng-click="openEditProposalForm()" ng-show="proposal.author.id == profile.id"> | |
19 | 19 | <i class="icon ion-edit"></i> <span>Editar</span> |
20 | 20 | </button> |
21 | 21 | <button class="button comment" ng-click="openCommentForm()"> |
22 | 22 | <i class="icon ion-chatbox-working"></i> <span>Comentar</span> |
23 | 23 | </button> |
24 | - <button class="button follow" ng-click="follow(proposal)" ng-hide="isFollowing(proposal) || proposal.author.id == user.id"> | |
24 | + <button class="button follow" ng-click="follow(proposal)" ng-hide="isFollowing(proposal) || proposal.author.id == profile.id"> | |
25 | 25 | <i class="icon ion-eye"></i> <span>Seguir</span> |
26 | 26 | </button> |
27 | 27 | <br /> | ... | ... |
www/html/_proposal_list.html
... | ... | @@ -52,7 +52,7 @@ |
52 | 52 | </div> |
53 | 53 | <div class="card-footer"> |
54 | 54 | <a ng-click="openProposal(proposal)" class="icon-left ion-android-open"> Leia Mais</a> |
55 | - <a ng-click="follow(proposal)" class="icon-left ion-eye" ng-hide="isFollowing(proposal) || proposal.author.id == user.id"> Seguir</a> | |
55 | + <a ng-click="follow(proposal)" class="icon-left ion-eye" ng-hide="isFollowing(proposal) || proposal.author.id == profile.id"> Seguir</a> | |
56 | 56 | </div> |
57 | 57 | </div> |
58 | 58 | </td-card> | ... | ... |
www/html/_select_city.html
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | <div class="input-label"> |
3 | 3 | Cidade |
4 | 4 | </div> |
5 | - <select ng-model="profile.city" ng-value="profile.city.id" ng-options="city.name for city in cities track by city.id" class="item"> | |
5 | + <select ng-model="profile.city" ng-value="city.id" ng-options="city.name for city in cities track by city.id" class="item"> | |
6 | 6 | <option value="">Escolha a cidade...</option> |
7 | 7 | </select> |
8 | 8 | </label> | ... | ... |
www/html/_select_proposal_city.html
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | <div class="input-label"> |
3 | 3 | Cidade |
4 | 4 | </div> |
5 | - <select ng-model="data.city" ng-value="data.city.id" ng-options="city.name for city in cities track by city.id" class="item"> | |
5 | + <select ng-model="data.city" ng-value="city.id" ng-options="city.name for city in cities track by city.id" class="item"> | |
6 | 6 | <option value="">Escolha a cidade...</option> |
7 | 7 | </select> |
8 | 8 | </label> | ... | ... |
www/html/_select_proposal_state.html
www/index.html
... | ... | @@ -35,14 +35,14 @@ |
35 | 35 | |
36 | 36 | <ion-side-menus id="body" ng-show="!introDisplayed"> |
37 | 37 | <ion-side-menu side="left"> |
38 | - <ng-include src="'html/_left_sidebar.html'"></ng-include> | |
38 | + <ng-include src="'html/_left_sidebar.html?1'"></ng-include> | |
39 | 39 | </ion-side-menu> |
40 | 40 | |
41 | 41 | <ion-side-menu-content> |
42 | 42 | <ng-include src="'html/_header.html?2'"></ng-include> |
43 | 43 | <ion-pane> |
44 | 44 | <ion-content id="proposals-container" no-scroll=""> |
45 | - <ng-include src="'html/_proposal_list.html?9'"></ng-include> | |
45 | + <ng-include src="'html/_proposal_list.html?10'"></ng-include> | |
46 | 46 | </ion-content> |
47 | 47 | </ion-pane> |
48 | 48 | </ion-side-menu-content> | ... | ... |
www/js/controllers.js
... | ... | @@ -288,7 +288,7 @@ angular.module('confjuvapp.controllers', []) |
288 | 288 | $scope.shouldDisplayCities = false; |
289 | 289 | |
290 | 290 | // Load States |
291 | - $scope.loadStates = function() { | |
291 | + $scope.loadStates = function(selected) { | |
292 | 292 | $scope.loading = true; |
293 | 293 | $scope.shouldDisplayCities = false; |
294 | 294 | |
... | ... | @@ -297,8 +297,11 @@ angular.module('confjuvapp.controllers', []) |
297 | 297 | $http.get(ConfJuvAppUtils.pathTo(path)) |
298 | 298 | .then(function(resp) { |
299 | 299 | $scope.states = resp.data; |
300 | - if($scope.profile && $scope.profile.state){ | |
301 | - $scope.loadCitiesByState($scope.profile.state.id) | |
300 | + if (selected) { | |
301 | + $scope.loadCitiesByState(selected); | |
302 | + } | |
303 | + else if ($scope.profile && $scope.profile.state && !selected) { | |
304 | + $scope.loadCitiesByState($scope.profile.state.id); | |
302 | 305 | } |
303 | 306 | $scope.loading = false; |
304 | 307 | }, function(err) { |
... | ... | @@ -450,7 +453,7 @@ angular.module('confjuvapp.controllers', []) |
450 | 453 | perPage = 11; |
451 | 454 | } |
452 | 455 | |
453 | - var params = '?private_token=' + token + '&fields=title,image,body,abstract,id,tag_list,categories,created_by&content_type=ProposalsDiscussionPlugin::Proposal&per_page=' + perPage + '&oldest=younger_than&reference_id=' + topic.lastProposalId + $scope.proposalsFilter; | |
456 | + var params = '?t=' + (new Date().getTime()) + '&private_token=' + token + '&fields=title,image,body,abstract,id,tag_list,categories,created_by&content_type=ProposalsDiscussionPlugin::Proposal&per_page=' + perPage + '&oldest=younger_than&reference_id=' + topic.lastProposalId + $scope.proposalsFilter; | |
454 | 457 | |
455 | 458 | var path = 'articles/' + topic.id + '/children' + params; |
456 | 459 | |
... | ... | @@ -535,7 +538,7 @@ angular.module('confjuvapp.controllers', []) |
535 | 538 | } |
536 | 539 | else { |
537 | 540 | // Initiate the modal |
538 | - $ionicModal.fromTemplateUrl('html/_proposal.html?16', { | |
541 | + $ionicModal.fromTemplateUrl('html/_proposal.html?17', { | |
539 | 542 | scope: $scope, |
540 | 543 | animation: 'slide-in-up' |
541 | 544 | }).then(function(modal) { |
... | ... | @@ -1028,8 +1031,7 @@ angular.module('confjuvapp.controllers', []) |
1028 | 1031 | $scope.loadCitiesByState($scope.data.state.id); |
1029 | 1032 | } |
1030 | 1033 | else { |
1031 | - $scope.loadStates(); | |
1032 | - $scope.loadCitiesByState($scope.data.state.id); | |
1034 | + $scope.loadStates($scope.data.state.id); | |
1033 | 1035 | // Initiate the modal |
1034 | 1036 | $ionicModal.fromTemplateUrl('html/_edit_proposal.html', { |
1035 | 1037 | scope: $scope, |
... | ... | @@ -1056,7 +1058,7 @@ angular.module('confjuvapp.controllers', []) |
1056 | 1058 | |
1057 | 1059 | // Submit the updated proposal |
1058 | 1060 | $scope.updateProposal = function(data) { |
1059 | - if (!data || !data.title || !data.description || !data.topic_id) { | |
1061 | + if (!data || !data.title || !data.description) { | |
1060 | 1062 | $scope.closeEditProposalModal(); |
1061 | 1063 | var popup = $ionicPopup.alert({ title: 'Alterar proposta', template: 'Por favor preencha todos os campos!' }); |
1062 | 1064 | popup.then(function() { |
... | ... | @@ -1100,24 +1102,16 @@ angular.module('confjuvapp.controllers', []) |
1100 | 1102 | |
1101 | 1103 | $http.post(ConfJuvAppUtils.pathTo('articles/' + $scope.proposal.id), jQuery.param(params), config) |
1102 | 1104 | .then(function(resp) { |
1103 | - $scope.closeEditProposalModal(); | |
1104 | 1105 | var popup = $ionicPopup.alert({ title: 'Alterar proposta', template: 'Proposta alterada com sucesso!' }); |
1105 | 1106 | popup.then(function() { |
1106 | - var topic = null; | |
1107 | - for (var i = 0; i < $scope.topics.length; i++) { | |
1108 | - if (data.topic_id.id == $scope.topics[i].id) { | |
1109 | - topic = $scope.topics[i]; | |
1110 | - } | |
1111 | - } | |
1112 | - | |
1113 | 1107 | $scope.proposal.categories[0] = data.city; |
1114 | 1108 | $scope.proposal.categories[1] = data.state; |
1115 | 1109 | $scope.proposal.title = data.title; |
1116 | 1110 | $scope.proposal.body = data.description; |
1117 | - $scope.proposal.topic = data.topic_id; | |
1118 | 1111 | |
1119 | 1112 | $scope.loading = false; |
1120 | 1113 | document.getElementById('save-proposal').innerHTML = 'Salvar'; |
1114 | + $scope.closeEditProposalModal(); | |
1121 | 1115 | }); |
1122 | 1116 | }, function(err) { |
1123 | 1117 | $scope.closeEditProposalModal(); | ... | ... |