Commit 65a721944518e9df9373ca42617089e217970c56

Authored by Victor Costa
1 parent 4dc814d9

Migrate profile controller

src/app/cms/cms.component.ts 0 → 100644
... ... @@ -0,0 +1,36 @@
  1 +import {StateConfig, Component, Inject} from 'ng-forward';
  2 +
  3 +@Component({
  4 + selector: 'cms',
  5 + templateUrl: "app/cms/cms.html"
  6 +})
  7 +@Inject("noosfero", "$stateParams", "$httpParamSerializer", "$state", "SweetAlert")
  8 +export class Cms {
  9 +
  10 + article: any = {};
  11 + profile: any;
  12 +
  13 + constructor(private noosfero, private $stateParams, private $httpParamSerializer, private $state, private SweetAlert) {
  14 +
  15 + }
  16 +
  17 + save() {
  18 + this.noosfero.currentProfile.then((profile) => {
  19 + return this.noosfero.profiles.one(profile.id).customPOST(
  20 + { article: this.article },
  21 + 'articles',
  22 + {},
  23 + { 'Content-Type': 'application/json' }
  24 + )
  25 + }).then((response) => {
  26 + this.$state.transitionTo('main.profile.page', { page: response.data.article.path, profile: response.data.article.profile.identifier });
  27 + this.SweetAlert.swal({
  28 + title: "Good job!",
  29 + text: "Article saved!",
  30 + type: "success",
  31 + timer: 1000
  32 + });
  33 + });
  34 + }
  35 +
  36 +}
... ...
src/app/cms/cms.controller.js
... ... @@ -1,35 +0,0 @@
1   -(function() {
2   - 'use strict';
3   -
4   - angular
5   - .module('noosferoApp')
6   - .controller('CmsController', CmsController);
7   -
8   -
9   - /** @ngInject */
10   - function CmsController(noosfero, $stateParams, $httpParamSerializer, $state, SweetAlert) {
11   - var vm = this;
12   - vm.article = {};
13   - vm.profile = null;
14   -
15   - vm.save = function() {
16   - noosfero.currentProfile.then(function(profile) {
17   - return noosfero.profiles.one(profile.id).customPOST(
18   - {article: vm.article},
19   - 'articles',
20   - {},
21   - {'Content-Type':'application/json'}
22   - )
23   - }).then(function(response) {
24   - $state.transitionTo('main.profile.page', {page: response.data.article.path, profile: response.data.article.profile.identifier});
25   - SweetAlert.swal({
26   - title: "Good job!",
27   - text: "Article saved!",
28   - type: "success",
29   - timer: 1000
30   - });
31   - });
32   - }
33   -
34   - }
35   -})();
src/app/index.route.ts
... ... @@ -3,16 +3,6 @@
3 3 /** @ngInject */
4 4 export function routeConfig($stateProvider, $urlRouterProvider) {
5 5 $stateProvider
6   - .state("main.profile.cms", {
7   - url: "^/myprofile/:profile/cms",
8   - views: {
9   - "mainBlockContent": {
10   - templateUrl: "app/cms/cms.html",
11   - controller: "CmsController",
12   - controllerAs: "vm"
13   - }
14   - }
15   - })
16 6 .state("main.profile.settings", {
17 7 url: "^/myprofile/:profile"
18 8 })
... ...
src/app/index.ts
... ... @@ -8,13 +8,14 @@ import {routeConfig} from "./index.route";
8 8 import {ContentViewer as noosferoContentViewer} from "./content-viewer/content-viewer.component";
9 9 import {Profile as noosferoProfile} from "./profile/profile.component";
10 10 import {ProfileInfo as noosferoProfileInfo} from "./profile-info/profile-info.component";
  11 +import {Cms as noosferoCms} from "./cms/cms.component";
11 12  
12 13 import {Main} from "./main/main.component";
13 14 import {bootstrap, bundle} from "ng-forward";
14 15  
15 16  
16 17  
17   -declare var moment: any;
  18 +declare var moment: any;
18 19  
19 20 let noosferoApp: any = bundle("noosferoApp", Main, ["ngAnimate", "ngCookies", "ngStorage", "ngTouch",
20 21 "ngSanitize", "ngMessages", "ngAria", "restangular",
... ... @@ -34,16 +35,11 @@ NoosferoApp.addConstants("AUTH_EVENTS", {
34 35 NoosferoApp.addConfig(noosferoModuleConfig);
35 36 NoosferoApp.run(noosferoAngularRunBlock);
36 37  
37   -require("./cms/cms.controller.js");
38 38 require("./components/auth/auth.controller.js");
39 39 require("./components/auth/auth.service.js");
40 40 require("./components/navbar/navbar.directive.js");
41 41 require("./components/noosfero-activities/activities.component.js");
42 42 require("./components/noosfero-activities/activity/activity.component.js");
43   -
44   -// require("./components/noosfero-articles/blog/blog.component.js");
45   -
46   -
47 43 require("./components/noosfero-blocks/block.directive.js");
48 44 require("./components/noosfero-blocks/link-list/link-list.component.js");
49 45 require("./components/noosfero-blocks/main-block/main-block.component.js");
... ... @@ -55,11 +51,11 @@ require("./components/noosfero/noosfero-template.filter.js");
55 51 require("./components/noosfero/noosfero.service.js");
56 52 require("./components/noosfero/profile-image/profile-image.component.js");
57 53 require("./content-viewer/content-viewer-actions.controller.js");
58   -// require("./content-viewer/content-viewer.controller.js");
59 54 require("./profile/profile-home.controller.js");
60 55  
61 56 NoosferoApp.addController("ContentViewerController", noosferoContentViewer);
62 57 NoosferoApp.addController("ProfileController", noosferoProfile);
63 58 NoosferoApp.addController("ProfileInfoController", noosferoProfileInfo);
  59 +NoosferoApp.addController("CmsController", noosferoCms);
64 60  
65 61 NoosferoApp.addConfig(routeConfig);
... ...
src/app/profile/profile.component.ts
1 1 import {StateConfig, Component, Inject} from 'ng-forward';
2 2 import {ProfileInfo} from '../profile-info/profile-info.component'
  3 +import {Cms} from '../cms/cms.component'
3 4  
4 5 @Component({
5 6 selector: 'profile',
... ... @@ -7,9 +8,9 @@ import {ProfileInfo} from '../profile-info/profile-info.component'
7 8 })
8 9 @StateConfig([
9 10 {
  11 + name: 'main.profile.info',
10 12 url: "^/profile/:profile",
11 13 component: ProfileInfo,
12   - name: 'main.profile.info',
13 14 views: {
14 15 "mainBlockContent": {
15 16 templateUrl: "app/profile-info/profile-info.html",
... ... @@ -17,7 +18,19 @@ import {ProfileInfo} from '../profile-info/profile-info.component'
17 18 controllerAs: "vm"
18 19 }
19 20 }
20   - }
  21 + },
  22 + {
  23 + name: 'main.profile.cms',
  24 + url: "^/myprofile/:profile/cms",
  25 + component: Cms,
  26 + views: {
  27 + "mainBlockContent": {
  28 + templateUrl: "app/cms/cms.html",
  29 + controller: "CmsController",
  30 + controllerAs: "vm"
  31 + }
  32 + }
  33 + },
21 34 ])
22 35 @Inject("noosfero", "$log", "$stateParams")
23 36 export class Profile {
... ...