Suggest a feature
×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Javascript
Posted by: Sandeep Kumar
Added: Mar 13, 2018 10:08 AM
Views: 17
Tags: angularjs
  1.                 .state('my-competitions', {
  2.                     url: "/my-competitions",
  3.                     auth: ['COMPANY', 'USER'],
  4.                     data: {
  5.                         pageTitle: "My Competitions - WriteUp"
  6.                     },
  7.                     headerClass: "headershadow",
  8.                     bodyClass: "bg-grey",
  9.                     resolve: {
  10.                         profile: ['AuthenticationService', 'UserService', function (AuthenticationService, UserService) {
  11.                                 return UserService.getMyProfile().then(function (response) {
  12.                                     switch (response.status) {
  13.                                         case 'success':
  14.                                             return response.data
  15.                                             break;
  16.                                     }
  17.                                     return {};
  18.                                 });
  19.                             }],
  20.                         is_staff_member: ['AuthenticationService', '$state', '$q', function (AuthenticationService, $state, $q) {
  21.                                 var deferred = $q.defer();
  22.                                 if (AuthenticationService.isStaffMember()) {
  23.                                     $timeout(function () {
  24.                                         WUswalMessage('', 'You are not allowed to view the page', 'error');
  25.                                         $state.go('profile');
  26.                                     });
  27.                                     deferred.reject();
  28.                                 } else {
  29.                                     deferred.resolve();
  30.                                 }
  31.                                 return deferred.promise;
  32.  
  33.                             }],
  34.                         competitions_hosted_by_self: ['CompetitionService', 'AuthenticationService', function (CompetitionService, AuthenticationService) {
  35.                                 if (AuthenticationService.isUser()) {
  36.                                     return null;
  37.                                 } else if (AuthenticationService.isCompany()) {
  38.                                     return CompetitionService.getCompaniesCompetitionsHostedBySelf(AuthenticationService.getAuthenticatedUserID(), 1, $WU_APP_SETTINGS.pages_settings.competitions.my_competitions.per_page).then(function (response) {
  39.                                         switch (response.status) {
  40.                                             case 'success':
  41.                                                 if (response.data.length > 0) {
  42.                                                     return {meta: response.meta, list: response.data};
  43.                                                 } else {
  44.                                                     return null;
  45.                                                 }
  46.                                                 break;
  47.                                             case 'error':
  48.                                                 return null;
  49.                                                 break;
  50.                                         }
  51.                                     });
  52.                                 }
  53.                             }],
  54.                         competitions_hosted_by_writeup: ['CompetitionService', 'AuthenticationService', function (CompetitionService, AuthenticationService) {
  55.                                 if (AuthenticationService.isUser()) {
  56.                                     return null;
  57.                                 } else {
  58.                                     return CompetitionService.getCompaniesCompetitionsHostedByWriteup(AuthenticationService.getAuthenticatedUserID(), 1, $WU_APP_SETTINGS.pages_settings.competitions.my_competitions.per_page).then(function (response) {
  59.                                         if (AuthenticationService.isUser() && AuthenticationService.isStaffMember()) {
  60.                                             return null;
  61.                                         } else if (AuthenticationService.isCompany()) {
  62.                                             switch (response.status) {
  63.                                                 case 'success':
  64.                                                     if (response.data.length > 0) {
  65.                                                         return {meta: response.meta, list: response.data};
  66.                                                     } else {
  67.                                                         return null;
  68.                                                     }
  69.                                                     break;
  70.                                                 case 'error':
  71.                                                     return null;
  72.                                                     break;
  73.                                             }
  74.                                         }
  75.                                     });
  76.                                 }
  77.                             }],
  78.                         competitions_interested: ['CompetitionService', 'AuthenticationService', function (CompetitionService, AuthenticationService) {
  79.                                 if (AuthenticationService.isUser()) {
  80.                                     return CompetitionService.getAllCompetitions(
  81.                                             {
  82.                                                 page: 1,
  83.                                                 per_page: $WU_APP_SETTINGS.pages_settings.competitions.my_competitions.per_page,
  84.                                                 'filters[active]': 1,
  85.                                                 'filters[status]': 'LIVE',
  86.                                                 'filters[participant_id][neq]': AuthenticationService.getAuthenticatedUserID(),
  87.                                             }).then(function (response) {
  88.                                         switch (response.status) {
  89.                                             case 'success':
  90.                                                 if (WUisArrayAndNotEmpty(response.data)) {
  91.                                                     return {meta: response.meta, list: response.data};
  92.                                                 } else {
  93.                                                     return null;
  94.                                                 }
  95.                                                 break;
  96.                                             case 'error':
  97.                                                 return null;
  98.                                                 break;
  99.                                         }
  100.                                     });
  101.                                 } else if (AuthenticationService.isCompany()) {
  102.                                     return null;
  103.                                 }
  104.                             }],
  105.                         competitions_participated: ['CompetitionService', 'AuthenticationService', function (CompetitionService, AuthenticationService) {
  106.                                 if (AuthenticationService.isUser()) {
  107.                                     return CompetitionService.getAllCompetitions(
  108.                                             {
  109.                                                 page: 1,
  110.                                                 per_page: $WU_APP_SETTINGS.pages_settings.competitions.my_competitions.per_page,
  111.                                                 'sort[competition_participation_id]': 'DESC',
  112.                                                 'filters[active]': 1,
  113.                                                 'filters[participant_id]': AuthenticationService.getAuthenticatedUserID(),
  114.                                             }).then(function (response) {
  115.                                         switch (response.status) {
  116.                                             case 'success':
  117.                                                 if (response.data.length > 0) {
  118.                                                     return {meta: response.meta, list: response.data};
  119.                                                 } else {
  120.                                                     return null;
  121.                                                 }
  122.                                                 break;
  123.                                             case 'error':
  124.                                                 return null;
  125.                                                 break;
  126.                                         }
  127.                                     });
  128.                                 } else if (AuthenticationService.isCompany()) {
  129.                                     return null;
  130.                                 }
  131.                             }],
  132.                     },
  133.                     views: {
  134.                         'header': {
  135.                             templateUrl: 'template/header.html'
  136.                         },
  137.                         'content': {
  138.                             controllerProvider: ['$stateParams', '$templateFactory', 'AuthenticationService', function ($stateParams, $templateFactory, AuthenticationService) {
  139.                                     if (AuthenticationService.isUser() && !AuthenticationService.isStaffMember())
  140.                                     {
  141.                                         return 'MyCompetitionsUserController';
  142.                                     } else if (AuthenticationService.isCompany()) {
  143.                                         return 'MyCompetitionsCompanyController';
  144.                                     }
  145.                                 }],
  146.                             templateProvider: ['$stateParams', '$templateFactory', 'AuthenticationService', function ($stateParams, $templateFactory, AuthenticationService) {
  147.                                     if (AuthenticationService.isUser() && !AuthenticationService.isStaffMember())
  148.                                     {
  149.                                         return $templateFactory.fromUrl('views/my-competitions-user.html', $stateParams);
  150.                                     } else if (AuthenticationService.isCompany()) {
  151.                                         return $templateFactory.fromUrl('views/my-competitions-company.html', $stateParams);
  152.                                     }
  153.  
  154.                                 }]
  155.                         }
  156.                     }
  157.                 })