Files
brewman/brewman/static/scripts/overlord.js
T
tanshu 6a815692bd Feature: Credit Service Charge with adjustable service points
Refactor: Renamed column, table, and uses of Cost Center to Cost Centre
Refactor: Renamed costcenter to cost_centre
2015-02-12 17:42:46 +05:30

171 lines
14 KiB
JavaScript

'use strict';
var overlord = angular.module('overlord', ['overlord.directive', 'overlord.filter', 'overlord.service', 'ngCookies', 'ngRoute', 'ui.bootstrap', 'chieffancypants.loadingBar'])
.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
$routeProvider.
when('/', {templateUrl: '/partial/home.html', controller: HomeController, resolve: HomeController.resolve}).
when('/login', {templateUrl: '/partial/login.html', controller: LoginController}).
when('/logout', {templateUrl: '/partial/home.html', controller: LogoutController}).
when('/Journal', {templateUrl: '/partial/journal.html', controller: JournalController, resolve: JournalController.resolve}).
when('/Journal/:id', {templateUrl: '/partial/journal.html', controller: JournalController, resolve: JournalController.resolve}).
when('/Payment', {templateUrl: '/partial/payment.html', controller: PaymentController, resolve: PaymentController.resolve, reloadOnSearch:false}).
when('/Payment/:id', {templateUrl: '/partial/payment.html', controller: PaymentController, resolve: PaymentController.resolve, reloadOnSearch:false}).
when('/Receipt', {templateUrl: '/partial/receipt.html', controller: ReceiptController, resolve: ReceiptController.resolve, reloadOnSearch:false}).
when('/Receipt/:id', {templateUrl: '/partial/receipt.html', controller: ReceiptController, resolve: ReceiptController.resolve, reloadOnSearch:false}).
when('/Purchase', {templateUrl: '/partial/purchase.html', controller: PurchaseController, resolve: PurchaseController.resolve}).
when('/Purchase/:id', {templateUrl: '/partial/purchase.html', controller: PurchaseController, resolve: PurchaseController.resolve}).
when('/Return', {templateUrl: '/partial/purchase-return.html', controller: PurchaseReturnController, resolve: PurchaseReturnController.resolve}).
when('/Return/:id', {templateUrl: '/partial/purchase-return.html', controller: PurchaseReturnController, resolve: PurchaseReturnController.resolve}).
when('/Issue', {templateUrl: '/partial/issue.html', controller: IssueController, resolve: IssueController.resolve}).
when('/Issue/:id', {templateUrl: '/partial/issue.html', controller: IssueController, resolve: IssueController.resolve}).
when('/SalaryDeduction', {templateUrl: '/partial/salary-deduction.html', controller: SalaryDeductionController, resolve: SalaryDeductionController.resolve}).
when('/SalaryDeduction/:id', {templateUrl: '/partial/salary-deduction.html', controller: SalaryDeductionController, resolve: SalaryDeductionController.resolve}).
when('/ServiceCharge', {templateUrl: '/partial/employee-service-charge.html', controller: ServiceChargeController, resolve: ServiceChargeController.resolve}).
when('/ServiceCharge/:id', {templateUrl: '/partial/employee-service-charge.html', controller: ServiceChargeController, resolve: ServiceChargeController.resolve}).
when('/Ledger', {templateUrl: '/partial/ledger.html', controller: LedgerController, resolve: LedgerController.resolve}).
when('/Ledger/:id', {templateUrl: '/partial/ledger.html', controller: LedgerController, resolve: LedgerController.resolve}).
when('/Reconcile', {templateUrl: '/partial/reconcile.html', controller: ReconcileController, resolve: ReconcileController.resolve}).
when('/Reconcile/:id', {templateUrl: '/partial/reconcile.html', controller: ReconcileController, resolve: ReconcileController.resolve}).
when('/ProductLedger', {templateUrl: '/partial/product-ledger.html', controller: ProductLedgerController, resolve: ProductLedgerController.resolve}).
when('/ProductLedger/:id', {templateUrl: '/partial/product-ledger.html', controller: ProductLedgerController, resolve: ProductLedgerController.resolve}).
when('/CashFlow', {templateUrl: '/partial/cash-flow.html', controller: CashFlowController, resolve: CashFlowController.resolve}).
when('/CashFlow/:id', {templateUrl: '/partial/cash-flow.html', controller: CashFlowController, resolve: CashFlowController.resolve}).
when('/RawMaterialCost', {templateUrl: '/partial/raw-material-cost.html', controller: RawMaterialCostController, resolve: RawMaterialCostController.resolve}).
when('/RawMaterialCost/:id', {templateUrl: '/partial/raw-material-cost-detail.html', controller: RawMaterialCostController, resolve: RawMaterialCostController.resolve}).
when('/Attendance', {templateUrl: '/partial/attendance.html', controller: AttendanceController, resolve: AttendanceController.resolve}).
when('/Attendance/:date', {templateUrl: '/partial/attendance.html', controller: AttendanceController, resolve: AttendanceController.resolve}).
when('/EmployeeAttendance', {templateUrl: '/partial/employee-attendance.html', controller: EmployeeAttendanceController, resolve: EmployeeAttendanceController.resolve}).
when('/EmployeeAttendance/:id', {templateUrl: '/partial/employee-attendance.html', controller: EmployeeAttendanceController, resolve: EmployeeAttendanceController.resolve}).
when('/Daybook', {templateUrl: '/partial/daybook.html', controller: DaybookController, resolve: DaybookController.resolve}).
when('/Unposted', {templateUrl: '/partial/unposted.html', controller: UnpostedController, resolve: UnpostedController.resolve}).
when('/ProfitLoss', {templateUrl: '/partial/profit-loss.html', controller: ProfitLossController, resolve: ProfitLossController.resolve}).
when('/StockMovement', {templateUrl: '/partial/stock-movement.html', controller: StockMovementController, resolve: StockMovementController.resolve}).
when('/NetTransactions', {templateUrl: '/partial/net-transactions.html', controller: NetTransactionsController, resolve: NetTransactionsController.resolve}).
when('/PurchaseEntries', {templateUrl: '/partial/purchase-entries.html', controller: PurchaseEntriesController, resolve: PurchaseEntriesController.resolve}).
when('/Purchases', {templateUrl: '/partial/purchases.html', controller: PurchasesController, resolve: PurchasesController.resolve}).
when('/EmployeeFunctions', {templateUrl: '/partial/employee-functions.html', controller: EmployeeFunctionsController}).
when('/BalanceSheet', {templateUrl: '/partial/balance-sheet.html', controller: BalanceSheetController, resolve: BalanceSheetController.resolve}).
when('/BalanceSheet/:date', {templateUrl: '/partial/balance-sheet.html', controller: BalanceSheetController, resolve: BalanceSheetController.resolve}).
when('/TrialBalance', {templateUrl: '/partial/trial-balance.html', controller: TrialBalanceController, resolve: TrialBalanceController.resolve}).
when('/TrialBalance/:date', {templateUrl: '/partial/trial-balance.html', controller: TrialBalanceController, resolve: TrialBalanceController.resolve}).
when('/ClosingStock', {templateUrl: '/partial/closing-stock.html', controller: ClosingStockController, resolve: ClosingStockController.resolve}).
when('/ClosingStock/:date', {templateUrl: '/partial/closing-stock.html', controller: ClosingStockController, resolve: ClosingStockController.resolve}).
when('/Accounts', {templateUrl: '/partial/account-list.html', controller: AccountListController, resolve: AccountListController.resolve, reloadOnSearch:false}).
when('/Account', {templateUrl: '/partial/account-detail.html', controller: AccountController, resolve: AccountController.resolve}).
when('/Account/:id', {templateUrl: '/partial/account-detail.html', controller: AccountController, resolve: AccountController.resolve}).
when('/Employees', {templateUrl: '/partial/employee-list.html', controller: EmployeeListController, resolve: EmployeeListController.resolve, reloadOnSearch:false}).
when('/Employee', {templateUrl: '/partial/employee-detail.html', controller: EmployeeController, resolve: EmployeeController.resolve}).
when('/Employee/:id', {templateUrl: '/partial/employee-detail.html', controller: EmployeeController, resolve: EmployeeController.resolve}).
when('/CostCentres', {templateUrl: '/partial/cost-centre-list.html', controller: CostCentreListController, resolve: CostCentreListController.resolve}).
when('/CostCentre', {templateUrl: '/partial/cost-centre-detail.html', controller: CostCentreController, resolve: CostCentreController.resolve}).
when('/CostCentre/:id', {templateUrl: '/partial/cost-centre-detail.html', controller: CostCentreController, resolve: CostCentreController.resolve}).
when('/Products', {templateUrl: '/partial/product-list.html', controller: ProductListController, resolve: ProductListController.resolve, reloadOnSearch:false}).
when('/Product', {templateUrl: '/partial/product-detail.html', controller: ProductController, resolve: ProductController.resolve}).
when('/Product/:id', {templateUrl: '/partial/product-detail.html', controller: ProductController, resolve: ProductController.resolve}).
when('/Recipes', {templateUrl: '/partial/recipe-list.html', controller: RecipeListController, resolve: RecipeListController.resolve, reloadOnSearch:false}).
when('/Recipe', {templateUrl: '/partial/recipe-detail.html', controller: RecipeController, resolve: RecipeController.resolve}).
when('/Recipe/:id', {templateUrl: '/partial/recipe-detail.html', controller: RecipeController, resolve: RecipeController.resolve}).
when('/ProductGroups', {templateUrl: '/partial/product-group-list.html', controller: ProductGroupListController, resolve: ProductGroupListController.resolve}).
when('/ProductGroup', {templateUrl: '/partial/product-group-detail.html', controller: ProductGroupController, resolve: ProductGroupController.resolve}).
when('/ProductGroup/:id', {templateUrl: '/partial/product-group-detail.html', controller: ProductGroupController, resolve: ProductGroupController.resolve}).
when('/Users', {templateUrl: '/partial/user-list.html', controller: UserListController, resolve: UserListController.resolve}).
when('/User', {templateUrl: '/partial/user-detail.html', controller: UserController, resolve: UserController.resolve}).
when('/User/:id', {templateUrl: '/partial/user-detail.html', controller: UserController, resolve: UserController.resolve}).
when('/Groups', {templateUrl: '/partial/group-list.html', controller: GroupListController, resolve: GroupListController.resolve}).
when('/Group', {templateUrl: '/partial/group-detail.html', controller: GroupController, resolve: GroupController.resolve}).
when('/Group/:id', {templateUrl: '/partial/group-detail.html', controller: GroupController, resolve: GroupController.resolve}).
when('/Clients', {templateUrl: '/partial/client-list.html', controller: ClientListController, resolve: ClientListController.resolve}).
when('/Client/:id', {templateUrl: '/partial/client-detail.html', controller: ClientController, resolve: ClientController.resolve}).
when('/Message', {templateUrl: '/partial/message-detail.html', controller: MessageController, resolve: MessageController.resolve}).
when('/Message/:id', {templateUrl: '/partial/message-detail.html', controller: MessageController, resolve: MessageController.resolve}).
when('/Settings', {templateUrl: '/partial/settings.html', controller: SettingsController, resolve: SettingsController.resolve}).
otherwise({templateUrl: '/partial/404.html'});
$locationProvider.html5Mode(true).hashPrefix('!');
}])
.config(['$httpProvider', function ($httpProvider) {
$httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
}])
.config(['$controllerProvider', function ($controllerProvider) {
$controllerProvider.allowGlobals();
}])
.config(['$httpProvider', function ($httpProvider) {
$httpProvider.interceptors.push('responseInterceptor');
}])
.factory('responseInterceptor', ['$q', '$rootScope', function ($q, $rootScope) {
return {
response: function (response) {
return response;
},
responseError: function (response) {
var headers = response.headers(),
isResourceResponse = headers['content-type'] === "application/json; charset=utf-8",
status = response.status;
if (status === 401 && !isResourceResponse) {
$rootScope.$broadcast('loginRequired');
}
// otherwise
return $q.reject(response);
}
};
}]);
overlord.controller('BaseController', ['$rootScope', '$scope', 'Auth', '$location', '$routeParams', function ($rootScope, $scope, Auth, $location, $routeParams) {
$rootScope.$on('loginRequired', function () {
if ($rootScope.auth.isAuthenticated) {
$location.path('/');
} else {
var came_from = $routeParams.came_from;
if (angular.isUndefined(came_from) && $location.path() !== '/login') {
came_from = $location.url();
}
$location.path('/login').search({came_from: came_from});
}
});
$scope.toasts = [];
$scope.clearToast = function (item) {
var idx = $scope.toasts.indexOf(item);
if (idx !== -1) {
$scope.toasts.splice(idx, 1);
}
};
$rootScope.$on("$routeChangeStart", function (event, next, current) {
Auth.get(function (u, putResponseHeaders) {
$rootScope.auth = u;
$rootScope.perms = u.perms;
});
});
}]);