MAJ image profil et opcomm

thierry
Tmadkaud 7 years ago
commit 53b7c50c8c

@ -1 +1,2 @@
<navigationBar></navigationBar>
<router-outlet></router-outlet>

@ -1,6 +1,10 @@
<div class="card">
<div class="well">
<p class="h5 text-center mb-4">Liste de vos cartes de parrainage</p>
<div class="container" style="padding-top:5%">
<div class="card">
<div class="well">
<p class="h5 text-center mb-4">Liste de vos cartes de parrainage</p>
</div>
</div>
<button (click)="goToProfil()">Profil</button>
</div>
<button (click)="goToProfil()">Back</button>

@ -1,8 +1,6 @@
<!--Main Navigation-->
<header>
<navigationBar></navigationBar>
<!-- Intro Section -->
<div class="view hm-white-light jarallax" data-jarallax='{"speed": 0.2}' style="background-image: url(https://mdbootstrap.com/img/Photos/Others/img%20%2844%29.jpg); background-attachment: fixed;">
<div class="full-bg-img">

@ -33,6 +33,8 @@ export class HomeComponent implements OnInit {
this.router.navigate(['/']);
}
ngOnInit() {
firebase.auth().signOut();
}
}

@ -49,6 +49,7 @@ export class LoginComponent implements OnInit, OnDestroy {
this.router.navigate(['/register']);
}
ngOnInit() {
}

@ -1,5 +1,5 @@
<!--Navbar-->
<navbar SideClass="navbar navbar-expand-lg navbar-dark fixed-top scrolling-navbar">
<navbar SideClass="navbar navbar-expand-lg navbar-dark fixed-top scrolling-navbar indigo">
<logo>
<a class="logo navbar-brand waves-light" mdbRippleRadius href="#"><strong>ParrainApp</strong></a>
</logo>
@ -9,11 +9,20 @@
<a class="nav-link" >Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item waves-light" mdbRippleRadius>
<a class="nav-link" (click)="loadRegisterComponent();">Register</a>
<a class="nav-link" (click)="loadRegisterComponent()">{{navElement1}}</a>
</li>
<li class="nav-item waves-light" mdbRippleRadius>
<a class="nav-link" (click)="loadLoginComponent();">Login</a>
<a class="nav-link" (click)="loadLoginComponent()">{{navElement2}}</a>
</li>
<li class="nav-item waves-light" mdbRippleRadius >
<a class="nav-link" (click)="logout()">Logout</a>
</li>
<!-- <li class="nav-item waves-light" mdbRippleRadius *ngIf="afficheLogout === true" >
<a class="nav-link" (click)="logout()">Logout</a>
</li>
-->
</ul>
</links>
</navbar>

@ -1,12 +1,88 @@
import { Component } from '@angular/core';
import { Component, OnInit, OnDestroy } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Router } from '@angular/router';
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2/database';
import * as firebase from 'firebase/app';
import { AngularFireAuth } from 'angularfire2/auth';
import { FormsModule } from '@angular/forms';
import { ProfilService } from '../../services/profil/profil.service';
import { User } from '../../../models/User';
import { Parrain } from '../../../models/Parrain';
import { Commercant } from '../../../models/Commercant';
import { AuthService } from '../../services/auth/auth.service';
@Component({
moduleId: module.id,
selector: 'navigationBar',
templateUrl: './navigationBar.component.html',
styleUrls: ['./navigationBar.component.scss']
styleUrls: ['./navigationBar.component.scss'],
providers: [AuthService]
})
export class NavigationBarComponent { }
export class NavigationBarComponent implements OnInit, OnDestroy{
user: Observable<firebase.User>;
localUser: any;
parrain: Parrain;
commercant: Commercant;
profileData: FirebaseListObservable<any[]>;
navElement1: string;
navElement2: string;
navElement3: string;
element1: string;
element2: string;
afficheLogout: boolean;
constructor(public afAuth: AngularFireAuth, public afDb: AngularFireDatabase,
private router: Router, private authService: AuthService) {
this.updateNavBar();
}
updateNavBar() {
this.navElement1 = 'Register';
this.navElement2 = 'Login';
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
this.afficheLogout = true;
console.log('is signed in.');
if (user.displayName === 'Parrain') {
this.localUser = user;
this.navElement1 = 'Profil Parrain';
this.navElement2 = 'Logout Parrain';
console.log('parrain fct: ' + this.navElement1);
} else if (user.displayName === 'Commercant') {
this.localUser = user;
this.navElement1 = 'Profil Commercant';
this.navElement2 = 'Logout Commercant';
}
} else {
this.afficheLogout = false;
console.log('No user is signed in.');
// No user is signed in.
this.element1 = 'Register';
this.element2 = 'login';
console.log('fct dans home: ' + this.navElement1);
}
this.navElement1 = this.element1;
this.navElement2 = this.element2;
});
}
logout() {
this.authService.logout();
this.updateNavBar();
this.router.navigate(['/']);
}
ngOnInit() {
}
ngOnDestroy() {
}
}

@ -1,9 +1,8 @@
<div class="card">
<div class="well">
<p class="h5 text-center mb-4">Liste de vos operations commercials</p>
</div>
</div>
<div class="container" style="padding-top:5%">
<!--
<ul>
<li *ngFor="let op of opCommData | async">
Operation Commerciale: {{op.name}}
@ -11,3 +10,33 @@
</ul>
<button (click)="goToCreaOpCom()">Nouvelle opération Commercial</button>
<button (click)="goToProfil()">Back</button>
-->
<h4 class="h5 text-center mb-4">Liste de vos operations commercials</h4>
<div class="btn-group">
<button (click)="goToCreaOpCom()">Nouvelle opération Commercial</button>
<button (click)="goToProfil()">Profil</button>
</div>
<div class="list-group">
<div class="card mainCard" *ngFor="let op of opCommData | async">
<div class="row">
<div class="col-md-6 card card-image mb-3 subCard1" style="background-image: url({{op.carteTemplate.downloadURL}});">
<div class="row firstRow">
<div class="col-md-6 flex-center card-block cardPart1">{{commercant.commercialName}}</div>
<div class="col-md-6 flex-center card-block cardPart2">
<img src="{{commercant.image.downloadURL}}" class="img-fluid" alt="Responsive image">
test2
</div>
</div>
<div class="row secondRow">
<div class="col-md-6 flex-center cardPart3">{{op.name}}</div>
<div class="col-md-6 flex-center cardPart4">{{op.uid}}</div>
</div>
</div>
<div class="col-md-6 card subCard2">
<label>Operation Commerciale: {{op.name}}</label>
</div>
</div>
</div>
</div>
</div>

@ -0,0 +1,33 @@
.mainCard {
margin-top: 5%;
width: 100%;
}
.subCard1 {
height: 15rem;
}
.firstRow {
height: 50%;
}
.secondRow {
height: 50%;
}
.cardPart1 {
//background-color: red;
}
.cardPart2 {
//background-color: orange;
}
.cardPart3 {
//background-color: green;
}
.cardPart4 {
//background-color: yellow;
}

@ -11,6 +11,8 @@ import * as firebase from 'firebase/app';
import { AngularFireAuth } from 'angularfire2/auth';
import { AuthService } from '../../../services/auth/auth.service';
import { OpCommercialService } from '../../../services/opCommercial/op-commercial.service';
import { Commercant } from '../../../../models/Commercant';
import { Image } from '../../../../models/Image';
@Component({
selector: 'app-op-commercial',
@ -22,16 +24,15 @@ export class OpCommercialComponent implements OnInit, OnDestroy {
opComm: OperationCommerciale;
user: Observable<firebase.User>;
opCommData: FirebaseListObservable<any[]>;
profileData: FirebaseListObservable<any[]>;
commercant: Commercant;
constructor(public afAuth: AngularFireAuth, public afDb: AngularFireDatabase,
private router: Router, private authService: AuthService, private opComService: OpCommercialService) {
this.opComm = new OperationCommerciale();
this.user = afAuth.authState;
this.commercant = new Commercant();
this.user.subscribe(
(auth) => {
if (auth) {
@ -42,6 +43,19 @@ export class OpCommercialComponent implements OnInit, OnDestroy {
}
}
);
this.profileData = this.afDb.list('/' + auth.displayName + '/', {
query: {
orderByChild: 'uid',
equalTo: auth.uid.toString()
}
}
);
this.profileData.forEach(utilisateur => {
utilisateur.forEach(element => {
this.commercant = element;
});
});
}
}
);

@ -1,17 +1,18 @@
<p>
Profil
</p>
<div class="container" style="padding-top: 5%">
<p>
Profil
</p>
<div> ID: {{ (user | async)?.uid }} </div>
<div> Email: {{ (user | async)?.email }} </div>
<div> Statut: {{ (user | async)?.displayName }} </div>
<div> ID: {{ (user | async)?.uid }} </div>
<div> Email: {{ (user | async)?.email }} </div>
<div> Statut: {{ (user | async)?.displayName }} </div>
<!--Grid row-->
<!--Grid column-->
<div class="col-md-12" style="padding-right: 1%; padding-left: 1%;">
<div class="col-md-12" style="padding-right: 2%; padding-left: 2%;">
<!--Card-->
<div class="card testimonial-card">
@ -26,10 +27,10 @@
<div class="card-body">
<!--Name-->
<h4 class="card-title"><p>Salut {{localUser.firstname}} {{localUser.familyname}} {{localUser.uid}} </p></h4>
<hr>
<div *ngIf="(user | async)?.displayName === 'Parrain'" >
<div>
<h4 class="card-title"><p>Salut {{localUser.firstname}} {{localUser.familyname}} {{localUser.uid}} </p></h4>
<hr>
<ul>
<p class="text-left "><label class="text-uppercase">status </label>: {{localUser.status}}</p>
<p class="text-left"><label class="text-uppercase">email </label>: {{localUser.email}}</p>
@ -50,17 +51,20 @@
</div>
<button (click)="goToCarte()">Cartes</button>
</div>
<div *ngIf="(user | async)?.displayName === 'Commercant'" class="alert alert-danger">
<div *ngIf="(user | async)?.displayName === 'Commercant'" >
<div>
<h4 class="card-title"><p>Salut {{localUser.commercialName}} {{localUser.uid}} </p></h4>
<hr>
<ul>
<li class="text-left"><label class="text-uppercase"> raisonSociale</label> : {{localUser.raisonSociale}}</li>
<li class="text-left"><label class="text-uppercase"> siret </label>: {{localUser.siret}}</li>
<li class="text-left"><label class="text-uppercase">email </label> : {{localUser.email}}</li>
<li class="text-left"><label class="text-uppercase"> emailVerified </label> : {{localUser.emailVerified}}</li>
<li class="text-left"><label class="text-uppercase"> password </label> : {{localUser.password}}</li>
<li class="text-left"><label class="text-uppercase">dateInscription </label>: {{localUser.dateInscription}}</li>
<li class="text-left"><label class="text-uppercase">status </label>: {{localUser.status}}</li>
<p class="text-left"><label class="text-uppercase"> raisonSociale</label> : {{localUser.raisonSociale}}</p>
<p class="text-left"><label class="text-uppercase"> siret </label>: {{localUser.siret}}</p>
<p class="text-left"><label class="text-uppercase">email </label> : {{localUser.email}}</p>
<p class="text-left"><label class="text-uppercase"> emailVerified </label> : {{localUser.emailVerified}}</p>
<p class="text-left"><label class="text-uppercase"> password </label> : {{localUser.password}}</p>
<p class="text-left"><label class="text-uppercase">dateInscription </label>: {{localUser.dateInscription}}</p>
<p class="text-left"><label class="text-uppercase">status </label>: {{localUser.status}}</p>
</ul>
</div>
@ -85,3 +89,4 @@
<!--Grid row-->
</div>

@ -72,6 +72,7 @@ export class ProfilComponent implements OnInit, OnDestroy {
logout() {
this.authService.logout();
this.user = null;
this.router.navigate(['/']);
}
@ -87,6 +88,7 @@ export class ProfilComponent implements OnInit, OnDestroy {
}
ngOnDestroy() {
firebase.auth().signOut();
/*
this.localUser = {
uid: '',

@ -53,7 +53,12 @@ export class AuthService {
firebase.auth().signInWithEmailAndPassword(email, password).then(user => {
if (user) {
console.log('salut le ' + user.displayName + ' ' + user.email + ' has signed!');
this.router.navigate(['/profil']);
if (user.displayName === 'Parrain') {
this.router.navigate(['/carteParrainageComponent']);
}
else if (user.displayName === 'Commercant') {
this.router.navigate(['/opCommercial']);
}
}else {
console.log('error!!');
}

Loading…
Cancel
Save