Commit dd3ef4b89c06bbd17c0a71d58da4cf300de66397

Authored by Victor Costa
1 parent 766b4430

Migrate profile home controller

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
src/app/profile/profile-home.component.ts 0 → 100644
@@ -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 &#39;../cms/cms.component&#39; @@ -31,6 +32,17 @@ import {Cms} from &#39;../cms/cms.component&#39;
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 {