Commit afb4744a45fb34d7f19395c66f3fc1673d29d755
1 parent
d06a730a
Exists in
master
and in
5 other branches
Do not show join/hide button for person
Showing
3 changed files
with
27 additions
and
10 deletions
Show diff stats
src/app/layout/blocks/profile-image/profile-image-block.component.spec.ts
| @@ -34,8 +34,7 @@ describe("Components", () => { | @@ -34,8 +34,7 @@ describe("Components", () => { | ||
| 34 | class BlockContainerComponent { | 34 | class BlockContainerComponent { |
| 35 | block = { type: 'Block' }; | 35 | block = { type: 'Block' }; |
| 36 | owner = { name: 'profile-name' }; | 36 | owner = { name: 'profile-name' }; |
| 37 | - constructor() { | ||
| 38 | - } | 37 | + constructor() { } |
| 39 | } | 38 | } |
| 40 | 39 | ||
| 41 | it("show image if present", () => { | 40 | it("show image if present", () => { |
| @@ -55,7 +54,19 @@ describe("Components", () => { | @@ -55,7 +54,19 @@ describe("Components", () => { | ||
| 55 | it("display button to join community", (done: Function) => { | 54 | it("display button to join community", (done: Function) => { |
| 56 | helpers.tcb.createAsync(BlockContainerComponent).then(fixture => { | 55 | helpers.tcb.createAsync(BlockContainerComponent).then(fixture => { |
| 57 | let elProfile = fixture.debugElement.componentViewChildren[0]; | 56 | let elProfile = fixture.debugElement.componentViewChildren[0]; |
| 58 | - expect(elProfile.query('.actions .join').length).toEqual(1); | 57 | + expect(elProfile.componentInstance.displayOrganizationActions()).toBeTruthy(); |
| 58 | + expect(elProfile.query('.actions .organization-actions .join').length).toEqual(1); | ||
| 59 | + done(); | ||
| 60 | + }); | ||
| 61 | + }); | ||
| 62 | + | ||
| 63 | + it("not display button to join community for person", (done: Function) => { | ||
| 64 | + helpers.tcb.createAsync(BlockContainerComponent).then(fixture => { | ||
| 65 | + let elProfile = fixture.debugElement.componentViewChildren[0]; | ||
| 66 | + elProfile.componentInstance.owner = { name: 'person-name', type: 'Person' }; | ||
| 67 | + fixture.detectChanges(); | ||
| 68 | + expect(elProfile.componentInstance.displayOrganizationActions()).toBeFalsy(); | ||
| 69 | + expect(elProfile.queryAll('.actions .organization-actions .join').length).toEqual(0); | ||
| 59 | done(); | 70 | done(); |
| 60 | }); | 71 | }); |
| 61 | }); | 72 | }); |
src/app/layout/blocks/profile-image/profile-image-block.component.ts
| 1 | -import {Inject, Input, Component} from "ng-forward"; | ||
| 2 | -import {ProfileImageComponent} from "./../../../profile/image/image.component"; | ||
| 3 | -import {ProfileService} from "../../../../lib/ng-noosfero-api/http/profile.service"; | ||
| 4 | -import {SessionService} from "./../../../login"; | ||
| 5 | -import {NotificationService} from "../../../shared/services/notification.service"; | 1 | +import { Inject, Input, Component } from "ng-forward"; |
| 2 | +import { ProfileImageComponent } from "./../../../profile/image/image.component"; | ||
| 3 | +import { ProfileService } from "../../../../lib/ng-noosfero-api/http/profile.service"; | ||
| 4 | +import { SessionService } from "./../../../login"; | ||
| 5 | +import { NotificationService } from "../../../shared/services/notification.service"; | ||
| 6 | 6 | ||
| 7 | @Component({ | 7 | @Component({ |
| 8 | selector: "noosfero-profile-image-block", | 8 | selector: "noosfero-profile-image-block", |
| @@ -48,4 +48,8 @@ export class ProfileImageBlockComponent { | @@ -48,4 +48,8 @@ export class ProfileImageBlockComponent { | ||
| 48 | this.loadMembership(); | 48 | this.loadMembership(); |
| 49 | }); | 49 | }); |
| 50 | } | 50 | } |
| 51 | + | ||
| 52 | + displayOrganizationActions() { | ||
| 53 | + return this.owner.type !== 'Person'; | ||
| 54 | + } | ||
| 51 | } | 55 | } |
src/app/layout/blocks/profile-image/profile-image-block.html
| @@ -4,7 +4,9 @@ | @@ -4,7 +4,9 @@ | ||
| 4 | </a> | 4 | </a> |
| 5 | <a class="settings-link" target="_self" ui-sref="main.profile.settings({profile: ctrl.owner.identifier})">{{"blocks.profile_image.control_panel" | translate}}</a> | 5 | <a class="settings-link" target="_self" ui-sref="main.profile.settings({profile: ctrl.owner.identifier})">{{"blocks.profile_image.control_panel" | translate}}</a> |
| 6 | <div class="actions" ng-show="ctrl.isMember!=null"> | 6 | <div class="actions" ng-show="ctrl.isMember!=null"> |
| 7 | - <a ng-if="!ctrl.isMember" ng-click="ctrl.join()" class="btn btn-primary btn-sm join" href="#">{{"blocks.profile_image.join" | translate}}</a> | ||
| 8 | - <a ng-if="ctrl.isMember" ng-click="ctrl.leave()" class="btn btn-warning btn-sm leave" href="#">{{"blocks.profile_image.leave" | translate}}</a> | 7 | + <div class="organization-actions" ng-if="ctrl.displayOrganizationActions()"> |
| 8 | + <a ng-if="!ctrl.isMember" ng-click="ctrl.join()" class="btn btn-primary btn-sm join" href="#">{{"blocks.profile_image.join" | translate}}</a> | ||
| 9 | + <a ng-if="ctrl.isMember" ng-click="ctrl.leave()" class="btn btn-warning btn-sm leave" href="#">{{"blocks.profile_image.leave" | translate}}</a> | ||
| 10 | + </div> | ||
| 9 | </div> | 11 | </div> |
| 10 | </div> | 12 | </div> |