edit form almost done

This commit is contained in:
2016-07-08 15:41:31 +02:00
parent 377736585a
commit d5403172e9
3 changed files with 34 additions and 43 deletions
+28 -14
View File
@@ -219,15 +219,18 @@ transactionControllers.controller('TransactionListCtrl', [ '$http', '$scope', '$
}); });
}; };
$scope.openDetails = function(transaction) { $scope.openDetails = function(transactionId) {
var modalInstance = $uibModal.open({ var modalInstance = $uibModal.open({
templateUrl: 'detailsTemplate.html', templateUrl: 'detailsTemplate.html',
controller: 'DetailsModalCtrl', controller: 'DetailsModalCtrl',
resolve: { resolve: {
transaction: transaction, transactionId: transactionId,
categories: function () { categories: function () {
return $scope.categories; return $scope.categories;
} },
accountUsers: function () {
return $scope.accountUsers;
}
} }
}); });
@@ -243,22 +246,33 @@ transactionControllers.controller('TransactionListCtrl', [ '$http', '$scope', '$
} ]); } ]);
transactionControllers.controller('DetailsModalCtrl', [ '$scope', '$uibModalInstance', 'transaction', 'categories', function($scope, $uibModalInstance, transaction, categories) { transactionControllers.controller('DetailsModalCtrl', [ '$scope', '$resource', '$uibModalInstance', 'Transaction', 'transactionId', 'categories', 'accountUsers', function($scope, $resource, $uibModalInstance, Transaction, transactionId, categories, accountUsers) {
transaction.date = new Date(transaction.date); $scope.accountUsers = accountUsers;
$scope.transaction = transaction; transaction = Transaction.get({ id: transactionId });
$scope.categories = categories; transaction.$promise.then(function(data) {
transaction.date = new Date(transaction.date);
transaction.category = $resource(transaction._links.category.href).get();
transaction.creditor = $resource(transaction._links.creditor.href).get();
for (i = 0; i < $scope.categories.length; i++) { transaction.category.$promise.then(function(data) {
if ($scope.categories[i].name == $scope.transaction.category.name) { $scope.transaction = transaction;
$scope.transaction.category = $scope.categories[i]; $scope.categories = categories;
break;
} for (i = 0; i < $scope.categories.length; i++) {
} if ($scope.categories[i].name == $scope.transaction.category.name) {
$scope.transaction.category = $scope.categories[i];
break;
}
}
});
});
$scope.ok = function () { $scope.ok = function () {
console.log($scope.transaction); $scope.transaction.category = $scope.transaction.category._links.self.href;
$scope.transaction.$update(function() {});
$uibModalInstance.close($scope.transaction); $uibModalInstance.close($scope.transaction);
}; };
+4 -27
View File
@@ -1,32 +1,9 @@
var transactionServices = angular.module('transactionServices', [ 'ngResource' ]); var transactionServices = angular.module('transactionServices', [ 'ngResource' ]);
transactionServices.factory('Transaction', [ '$resource', function($resource) { transactionServices.factory('Transaction', [ '$resource', function($resource) {
return $resource('/transactions/:id', {}, { return $resource('/transactions/:id', { id: '@id' }, {
/*query : { update : {
method : 'GET', method : 'PUT'
params : { }
phoneId : 'phones'
},
isArray : true
}*/
}); });
} ]); } ]);
/*
// via Resource (might be moved into a service)
var Transaction = $resource('/transactions');
var newTransaction = new Transaction({
"account" : $scope.account._links.self.href,
"amount" : amount,
"date" : $scope.transaction.date,
"description" : $scope.transaction.description,
"category" : $scope.transaction.category._links.self.href,
"creditor" : $scope.transaction.creditor
});
newTransaction.$save(function(transaction) {
$scope.refreshList();
$scope.lastSubmission = newTransaction;
});
*/
@@ -89,7 +89,7 @@
<th>Betrag</th> <th>Betrag</th>
<th>Beschreibung</th> <th>Beschreibung</th>
</tr> </tr>
<tr ng-repeat="transaction in transactions" ng-click="openDetails(transaction)" class="clickable"> <tr ng-repeat="transaction in transactions" ng-click="openDetails(transaction.id)" class="clickable">
<td>{{transaction.date | date:'dd.MM.yyyy'}}</td> <td>{{transaction.date | date:'dd.MM.yyyy'}}</td>
<td>{{transaction.category.name}}</td> <td>{{transaction.category.name}}</td>
<td align="right" ng-class="{credit: transaction.creditor.name}">{{transaction.amount | number : 2}}&nbsp;&euro;</td> <td align="right" ng-class="{credit: transaction.creditor.name}">{{transaction.amount | number : 2}}&nbsp;&euro;</td>