Commit dd3ef4b89c06bbd17c0a71d58da4cf300de66397
1 parent
766b4430
Exists in
master
and in
35 other branches
Migrate profile home controller
Showing
5 changed files
with
38 additions
and
37 deletions
Show diff stats
src/app/index.route.ts
| @@ -6,15 +6,6 @@ export function routeConfig($stateProvider, $urlRouterProvider) { | @@ -6,15 +6,6 @@ export function routeConfig($stateProvider, $urlRouterProvider) { | ||
| 6 | .state("main.profile.settings", { | 6 | .state("main.profile.settings", { |
| 7 | url: "^/myprofile/:profile" | 7 | url: "^/myprofile/:profile" |
| 8 | }) | 8 | }) |
| 9 | - .state("main.profile.home", { | ||
| 10 | - url: "", | ||
| 11 | - views: { | ||
| 12 | - "mainBlockContent": { | ||
| 13 | - controller: "ProfileHomeController", | ||
| 14 | - controllerAs: "vm" | ||
| 15 | - } | ||
| 16 | - } | ||
| 17 | - }) | ||
| 18 | .state("main.profile.page", { | 9 | .state("main.profile.page", { |
| 19 | url: "/{page:any}", | 10 | url: "/{page:any}", |
| 20 | views: { | 11 | views: { |
src/app/index.ts
| @@ -9,6 +9,7 @@ import {routeConfig} from "./index.route"; | @@ -9,6 +9,7 @@ import {routeConfig} from "./index.route"; | ||
| 9 | import {ContentViewer as noosferoContentViewer} from "./content-viewer/content-viewer.component"; | 9 | import {ContentViewer as noosferoContentViewer} from "./content-viewer/content-viewer.component"; |
| 10 | import {Profile as noosferoProfile} from "./profile/profile.component"; | 10 | import {Profile as noosferoProfile} from "./profile/profile.component"; |
| 11 | import {ProfileInfo as noosferoProfileInfo} from "./profile-info/profile-info.component"; | 11 | import {ProfileInfo as noosferoProfileInfo} from "./profile-info/profile-info.component"; |
| 12 | +import {ProfileHome as noosferoProfileHome} from "./profile/profile-home.component"; | ||
| 12 | import {Cms as noosferoCms} from "./cms/cms.component"; | 13 | import {Cms as noosferoCms} from "./cms/cms.component"; |
| 13 | 14 | ||
| 14 | import {Main} from "./main/main.component"; | 15 | import {Main} from "./main/main.component"; |
| @@ -52,10 +53,10 @@ require("./components/noosfero/noosfero-template.filter.js"); | @@ -52,10 +53,10 @@ require("./components/noosfero/noosfero-template.filter.js"); | ||
| 52 | require("./components/noosfero/noosfero.service.js"); | 53 | require("./components/noosfero/noosfero.service.js"); |
| 53 | require("./components/noosfero/profile-image/profile-image.component.js"); | 54 | require("./components/noosfero/profile-image/profile-image.component.js"); |
| 54 | require("./content-viewer/content-viewer-actions.controller.js"); | 55 | require("./content-viewer/content-viewer-actions.controller.js"); |
| 55 | -require("./profile/profile-home.controller.js"); | ||
| 56 | 56 | ||
| 57 | NoosferoApp.addController("ContentViewerController", noosferoContentViewer); | 57 | NoosferoApp.addController("ContentViewerController", noosferoContentViewer); |
| 58 | NoosferoApp.addController("ProfileController", noosferoProfile); | 58 | NoosferoApp.addController("ProfileController", noosferoProfile); |
| 59 | +NoosferoApp.addController("ProfileHomeController", noosferoProfileHome); | ||
| 59 | NoosferoApp.addController("ProfileInfoController", noosferoProfileInfo); | 60 | NoosferoApp.addController("ProfileInfoController", noosferoProfileInfo); |
| 60 | NoosferoApp.addController("CmsController", noosferoCms); | 61 | NoosferoApp.addController("CmsController", noosferoCms); |
| 61 | 62 |
| @@ -0,0 +1,24 @@ | @@ -0,0 +1,24 @@ | ||
| 1 | +import {StateConfig, Component, Inject} from 'ng-forward'; | ||
| 2 | + | ||
| 3 | +@Component({ | ||
| 4 | + selector: 'profile-home', | ||
| 5 | + template: "<div></div>" | ||
| 6 | +}) | ||
| 7 | +@Inject("noosfero", "$log", "$stateParams", "$scope", "$state") | ||
| 8 | +export class ProfileHome { | ||
| 9 | + | ||
| 10 | + profile: any; | ||
| 11 | + | ||
| 12 | + constructor(noosfero, $log, $stateParams, $scope, $state) { | ||
| 13 | + noosfero.currentProfile.then((profile) => { | ||
| 14 | + this.profile = profile; | ||
| 15 | + return noosfero.profile(this.profile.id).customGET('home_page', { fields: 'path' }); | ||
| 16 | + }).then((response) => { | ||
| 17 | + if (response.data.article) { | ||
| 18 | + $state.transitionTo('main.profile.page', { page: response.data.article.path, profile: this.profile.identifier }, { location: false }); | ||
| 19 | + } else { | ||
| 20 | + $state.transitionTo('main.profile.info', { profile: this.profile.identifier }, { location: false }); | ||
| 21 | + } | ||
| 22 | + }); | ||
| 23 | + } | ||
| 24 | +} |
src/app/profile/profile-home.controller.js
| @@ -1,27 +0,0 @@ | @@ -1,27 +0,0 @@ | ||
| 1 | -(function() { | ||
| 2 | - 'use strict'; | ||
| 3 | - | ||
| 4 | - angular | ||
| 5 | - .module('noosferoApp') | ||
| 6 | - .controller('ProfileHomeController', ProfileHomeController); | ||
| 7 | - | ||
| 8 | - | ||
| 9 | - /** @ngInject */ | ||
| 10 | - function ProfileHomeController(noosfero, $log, $stateParams, $scope, $state) { | ||
| 11 | - var vm = this; | ||
| 12 | - activate(); | ||
| 13 | - | ||
| 14 | - function activate() { | ||
| 15 | - noosfero.currentProfile.then(function(profile) { | ||
| 16 | - vm.profile = profile; | ||
| 17 | - return noosfero.profile(vm.profile.id).customGET('home_page', {fields: 'path'}); | ||
| 18 | - }).then(function(response) { | ||
| 19 | - if(response.data.article) { | ||
| 20 | - $state.transitionTo('main.profile.page', {page: response.data.article.path, profile: vm.profile.identifier}, {location: false}); | ||
| 21 | - } else { | ||
| 22 | - $state.transitionTo('main.profile.info', {profile: vm.profile.identifier}, {location: false}); | ||
| 23 | - } | ||
| 24 | - }); | ||
| 25 | - } | ||
| 26 | - } | ||
| 27 | -})(); |
src/app/profile/profile.component.ts
| 1 | import {StateConfig, Component, Inject} from 'ng-forward'; | 1 | import {StateConfig, Component, Inject} from 'ng-forward'; |
| 2 | import {ProfileInfo} from '../profile-info/profile-info.component' | 2 | import {ProfileInfo} from '../profile-info/profile-info.component' |
| 3 | +import {ProfileHome} from '../profile/profile-home.component' | ||
| 3 | import {Cms} from '../cms/cms.component' | 4 | import {Cms} from '../cms/cms.component' |
| 4 | 5 | ||
| 5 | @Component({ | 6 | @Component({ |
| @@ -31,6 +32,17 @@ import {Cms} from '../cms/cms.component' | @@ -31,6 +32,17 @@ import {Cms} from '../cms/cms.component' | ||
| 31 | } | 32 | } |
| 32 | } | 33 | } |
| 33 | }, | 34 | }, |
| 35 | + { | ||
| 36 | + name: 'main.profile.home', | ||
| 37 | + url: "", | ||
| 38 | + component: ProfileHome, | ||
| 39 | + views: { | ||
| 40 | + "mainBlockContent": { | ||
| 41 | + controller: "ProfileHomeController", | ||
| 42 | + controllerAs: "vm" | ||
| 43 | + } | ||
| 44 | + } | ||
| 45 | + }, | ||
| 34 | ]) | 46 | ]) |
| 35 | @Inject("noosfero", "$log", "$stateParams") | 47 | @Inject("noosfero", "$log", "$stateParams") |
| 36 | export class Profile { | 48 | export class Profile { |