Files
web2.0-backend/members/static/js/members_controllers.js
T
2016-08-15 22:34:12 +03:00

168 lines
4.2 KiB
JavaScript

app.controller("getController", function($scope, $http, $window, $location){
$scope.members = [];
$scope.getFunction = function() {
$http.get("/members/api/members").then(function(response){
$scope.members = response.data;
// map trues and falses to more user-friendly format
_.each($scope.members, function(m){
m.jas = m.jas ? "Kyllä" : "Ei";
m.AYY = m.AYY ? "Kyllä" : "Ei";
});
});
};
$scope.getFunction();
$scope.delete_member = function(id) {
$http.delete("/members/api/member/" + id).then(
function(response) {
noty({
text: "Poistaminen onnistui!",
layout: "bottomRight",
type: "success",
timeout: 10000
});
$scope.getFunction();
},
function(response) {
noty({
text: "Epäonnistui. Yritä uudelleen.",
layout: "bottomRight",
type: "error",
timeout: 10000
});
$scope.getFunction();
}
);
};
});
app.directive('ngConfirmClick',
[
function()
{ return {
link: function (scope, element, attr)
{
var clickAction = attr.confirmedClick;
element.bind('click',function (event)
{
noty({
text: 'Oletko aivan varma? T. Lasse Lehtinen',
layout: 'bottomRight',
buttons: [
{
addClass: 'btn btn-danger', text: 'Kyllä', onClick: function($noty) {
// this = button element
// $noty = $noty element
$noty.close();
scope.$eval(clickAction)
}
},
{
addClass: 'btn btn-primary', text: 'Ei', onClick: function($noty) {
$noty.close();
}
}
]
});
});
}
}}]);
app.controller("postController", function($scope, $http, $location) {
$scope.firstName = "";
$scope.lastName = "";
$scope.email = "";
$scope.AYY = "";
$scope.JAS = "";
$scope.POR = "";
$scope.send = function() {
$http.post("/members/api/member/", {"first_name":$scope.firstName, "last_name":$scope.lastName, "email":$scope.email, "AYY":$scope.AYY, "jas":$scope.JAS, "POR":$scope.POR}).then(function(data){
noty({
text: "Jäsenhakemus lähetetty",
layout: "bottomRight",
type: "success",
timeout: 10000
});
$location.path("/list");
});
}
});
function editor(returnpath){
return function($scope, $http, $route, $routeParams, $window, $location) {
$scope.member = {"id": $routeParams.id};
$http.get("/members/api/member/"+$scope.member.id).then(function(response){
$scope.member = response.data;
});
$scope.send = function() {
$http.put("/members/api/member/"+$scope.member.id, $scope.member).then(function(data){
noty({
text: "Jäsentiedot tallennettu",
layout: "bottomRight",
type: "success",
timeout: 10000
});
$location.path(returnpath);
});
}
$scope.cancel = function() { //user canceled. return to list
$location.path(returnpath);
}
}
}
app.controller("editController",editor("/list"));
app.controller("applController", function($scope, $http, $route, $routeParams, $window, $location){
$scope.applGetFunction = function() {
$http.get("/members/api/requests").then(function(response){
$scope.applications = response.data;
});
};
$scope.applGetFunction();
$scope.send_appl = function(id) {
$http.post("/members/api/request/" + id).then(
function(response) {
noty({
text: "Onnistui",
layout: "bottomRight",
type: "success",
timeout: 10000
});
$scope.applGetFunction();
},
function(response) {
noty({
text: "Epäonnistui",
layout: "bottomRight",
type: "success",
timeout: 10000
});
$scope.applGetFunction();
}
);
};
$scope.delete_appl = function(id) {
$http.delete("/members/api/request/" + id).then(
function(response) {
noty({
text: "Onnistui",
layout: "bottomRight",
type: "success",
timeout: 10000
});
$scope.applGetFunction();
},
function(response) {
noty({
text: "Epäonnistui",
layout: "bottomRight",
type: "success",
timeout: 10000
});
$scope.applGetFunction();
}
);
};
});
app.controller("appleditController", editor("/applications"));