'use strict'; /* Services */ // Demonstrate how to register services // In this case it is a simple value service. angular.module('myApp.services', [ 'ngResource' ]). value('version', '<%= $couchdb_database %> <%= $VERSION %>'). factory('RegistrationTypes', function($log) { var types = [ // [ 'code', 'label', 'description' ], [ "lecture", "Prijava usmenog izlaganja", "- popunjava prvi autor, odnosno osoba koja će izložiti rad. Ostali autori trebaju se samo registrirati.", 'badge-success' ], [ "poster", "Prijava poster prezentacije", "- popunjava prvi autor, ondnosno osoba koja će izložiti rad. Ostali autori trebaju se samo registrirati.", 'badge-success' ], [ "symposium", "Prijava simpozija", "- popunjava organizator simpozija, upisuje sažetke svih radova. Autori radova na simpoziju trebaju se samo registrirati.", 'badge-success' ], [ "round", "Prijava okruglog stola", "- popunjava organizator okruglog stola. Sudionici se trebaju registrirati.", 'badge-success' ], [ false ], // separator [ "participant", "Registracija", "- popunjavaju slušači i suatori, te autori i suatori radova na simpoziju i sudionici okruglog stola." ], [ "accomp", "Registracija za osobe u pratnji." ], [ '', 'Sve registracije', '', 'badge-inverse' ], ]; var RegistrationTypes = []; angular.forEach(types, function(value, key){ this.push({ code: value[0], label: value[1], description: value[2], css_class: value[3], }); }, RegistrationTypes); $log.info('RegistrationTypes', RegistrationTypes); return RegistrationTypes; }). factory('Registration', function($resource){ return $resource('/data/:database/registration/:registrationId', { database: '<%= $couchdb_database %>' }, { query: {method:'GET', params:{registraionId:'@id'}, isArray:true} }); }). /* http://jsfiddle.net/asgoth/7bNAd/ */ factory('Organizations', function($q, $http, $log) { var url = '/<%= $couchdb_database %>/_design/registration/_view/organizations?group=true;format=key_array;callback=JSON_CALLBACK'; return { getArrayPromise: function() { var deferred = $q.defer(); $log.info('defer', url); $http.jsonp(url).success(function(json) { $log.info('success', url); deferred.resolve(json.rows); }).error(function(error) { $log.error('error', url, error ); deferred.reject(error); }); return deferred.promise; } }; return $scope.organizations; });