Browse Source

Mdp jamalette

Kongzibapt 3 years ago
parent
commit
d2494a3483
4 changed files with 56 additions and 9 deletions
  1. 37
    3
      src/js/Components/Connection.js
  2. 1
    1
      src/js/Views/Home.js
  3. 2
    2
      src/js/Views/Stock.js
  4. 16
    3
      src/js/Views/Ticket.js

+ 37
- 3
src/js/Components/Connection.js View File

@@ -26,6 +26,37 @@ class Connection extends Component {
26 26
     }
27 27
 
28 28
     handleSubmit = (event) => {
29
+        if (this.props.forJamalette){
30
+            this.handleSubmitJamalette(event)
31
+        }else{
32
+            this.handleSubmitLogin(event)
33
+        }
34
+    }
35
+
36
+    handleSubmitJamalette = (event) => {
37
+        event.preventDefault()
38
+        console.log(this.state.password);
39
+
40
+        let bodyFormData = new FormData();
41
+        bodyFormData.set('identifyer',"jamalette");
42
+        bodyFormData.set('password',this.state.password)
43
+
44
+        
45
+        axios.post('https://etud.insa-toulouse.fr/~proximo/v2/api/login',bodyFormData)
46
+            .then(res => {
47
+                sessionStorage.setItem('token_jamalette',res.data.api_token)
48
+                this.setState({redirect:true})
49
+                console.log(res.data.api_token);
50
+            })
51
+            .catch(error => {
52
+                if(error.response.status === 401){
53
+                    this.setState({errors:error.response.data.errors})
54
+                } 
55
+                console.log(error.response);
56
+            })
57
+    }
58
+
59
+    handleSubmitLogin = (event) => {
29 60
         event.preventDefault()
30 61
         console.log(this.state.password);
31 62
 
@@ -33,9 +64,10 @@ class Connection extends Component {
33 64
         bodyFormData.set('identifyer',this.state.identifyer);
34 65
         bodyFormData.set('password',this.state.password)
35 66
 
67
+        
36 68
         axios.post('https://etud.insa-toulouse.fr/~proximo/v2/api/login',bodyFormData)
37 69
             .then(res => {
38
-                sessionStorage.setItem('token',res.data.api_token)
70
+                sessionStorage.setItem('token_login',res.data.api_token)
39 71
                 this.setState({redirect:true})
40 72
                 console.log(res.data.api_token);
41 73
             })
@@ -45,6 +77,7 @@ class Connection extends Component {
45 77
                 } 
46 78
                 console.log(error.response);
47 79
             })
80
+        
48 81
     }
49 82
 
50 83
     render() {
@@ -55,13 +88,14 @@ class Connection extends Component {
55 88
             <div id="transp">
56 89
             <div id="formBody">
57 90
                 <div id="formHead">
58
-                    <div id="formHeadTxt">Connexion</div>
91
+                    <div id="formHeadTxt">{this.props.title}</div>
59 92
                     <div id="crossClose" onClick={this.props.handleCloseAbove}>
60 93
                         <Icon icon={plusIcon} style={{transform : 'rotate(-45deg)', color: '#ffffff', fontSize: '3vw'}} />
61 94
                     </div>
62 95
                 </div>
63 96
                 <div id="formMainContent">
64 97
                     <form method='POST'  onSubmit={this.handleSubmit}>
98
+                        {!this.props.forJamalette ? 
65 99
                         <div id="identifyerBlock">
66 100
                             <div id="identifyerBlockInput">
67 101
                                 <label htmlFor="identifyerBox">Identifiant</label>
@@ -70,7 +104,7 @@ class Connection extends Component {
70 104
                             <div id="errorIdentifyerBlock">
71 105
                                 <p id="errorIdentifyer">{this.state.errors.identifyer}</p>
72 106
                             </div>
73
-                        </div>
107
+                        </div> : null }
74 108
                         <div id="passwordBlock">
75 109
                             <div id="passwordBlockInput">
76 110
                                 <label htmlFor="passwordBox">Mot de Passe</label>

+ 1
- 1
src/js/Views/Home.js View File

@@ -32,7 +32,7 @@ class Home extends React.Component {
32 32
                /* Appel du composant Connection qui affiche l'interface de connexion
33 33
                 Paramètres : 
34 34
                 handleCloseAbove : gère la fermeture du composant */
35
-                <Connection handleCloseAbove={this.handleCloseConnection}/>
35
+                <Connection handleCloseAbove={this.handleCloseConnection} title="Connexion" forJamalette={false}/>
36 36
               }
37 37
               {/* Appel du composant Header qui affiche le Header du site
38 38
               Paramètre : title : texte intérieur */}

+ 2
- 2
src/js/Views/Stock.js View File

@@ -175,7 +175,7 @@ getBulleById = (id) => {
175 175
   let element;
176 176
   let articles = document.getElementById("articles")
177 177
   for (let i = 0; i < articles.childElementCount ; i++){
178
-    if (id == articles.children[i].title){
178
+    if (id === articles.children[i].title){
179 179
       element = articles.children[i]
180 180
     }
181 181
   }
@@ -485,7 +485,7 @@ updateArticle = (index,id) => {
485 485
 
486 486
 
487 487
   render() {
488
-    if (!sessionStorage.getItem('token')){
488
+    if (!sessionStorage.getItem('token_login')){
489 489
       return (<div id="errorRouteBlock"><div id="errorRouteTitle">ERREUR </div><br/><div id="errorRouteTxt">Vous n'êtes pas connecté</div><br/><Link id="link" to='/'>Retourner à l'Accueil</Link></div>)
490 490
     } else {
491 491
       return (

+ 16
- 3
src/js/Views/Ticket.js View File

@@ -11,6 +11,7 @@ import ArticleDetails from '../Components/ArticleDetails';
11 11
 import { Link } from 'react-router-dom';
12 12
 import NotInBdd from '../Components/NotInBdd';
13 13
 import Money from '../Components/Money';
14
+import Connection from '../Components/Connection';
14 15
 
15 16
 export default class Stock extends React.Component {
16 17
 
@@ -24,7 +25,8 @@ export default class Stock extends React.Component {
24 25
       totalPrice:0,
25 26
       totalQuantity:0,
26 27
       redirect:false,
27
-      onNotInBdd:false
28
+      onNotInBdd:false,
29
+      onConnection:false
28 30
     }
29 31
 
30 32
     this.handleScan = this.handleScan.bind(this);
@@ -122,7 +124,11 @@ export default class Stock extends React.Component {
122 124
   }
123 125
 
124 126
   handleScan(code) {
125
-      this.getArticleByCode(code)
127
+      if (!sessionStorage.getItem('token_jamalette')){
128
+        this.setState({onConnection:true,scannedCode:code})
129
+      } else {
130
+        this.getArticleByCode(code)
131
+      }
126 132
   }
127 133
 
128 134
   colorArticle = (color,element) => {
@@ -184,8 +190,12 @@ export default class Stock extends React.Component {
184 190
     this.setState({onMoney:false})
185 191
   }
186 192
 
193
+  handleCloseConnection = () => {
194
+    this.setState({onConnection:false},()=>{this.getArticleByCode(this.state.scannedCode)})
195
+  }
196
+
187 197
   render() {
188
-    if (!sessionStorage.getItem('token')){
198
+    if (!sessionStorage.getItem('token_login')){
189 199
       return (<div id="errorRouteBlock"><div id="errorRouteTitle">ERREUR </div><br/><div id="errorRouteTxt">Vous n'êtes pas connecté</div><br/><Link id="link" to='/'>Retourner à l'Accueil</Link></div>)
190 200
     } else {
191 201
     return (
@@ -194,6 +204,9 @@ export default class Stock extends React.Component {
194 204
             <Navbar redirect="/stock" left="Monnaie" right="Le Stock" handleMoney={this.handleMoney}/>
195 205
             <BarcodeReader onScan={this.handleScan}/>
196 206
             <SearchBar/>
207
+            {this.state.onConnection &&
208
+            <Connection handleCloseAbove={this.handleCloseConnection} title="Jamalette" forJamalette={true}/>
209
+            }
197 210
             {this.state.onMoney &&
198 211
               <Money empty={this.state.empty} handleCloseAbove={this.handleCloseMoney} totalPrice={this.state.totalPrice}/>
199 212
             }

Loading…
Cancel
Save