Gogs 7 éve
szülő
commit
86e93555f5

+ 2 - 2
.editorconfig

@@ -4,8 +4,8 @@
 root = true
 
 [*]
-indent_style = space
-indent_size = 2
+indent_style = tab
+indent_size = 1
 
 # We recommend you to keep these unchanged
 end_of_line = lf

+ 1 - 0
config.xml

@@ -6,6 +6,7 @@
     <content src="index.html" />
     <access origin="*" />
     <allow-navigation href="http://ionic.local/*" />
+    <allow-navigation href="http://192.168.88.100:8100" />
     <allow-intent href="http://*/*" />
     <allow-intent href="https://*/*" />
     <allow-intent href="tel:*" />

+ 11 - 10
ionic.config.json

@@ -1,11 +1,12 @@
 {
-  "name": "odoo-mobile-v3",
-  "app_id": "",
-  "proxies": [
-    {
-      "path": "/",
-      "proxyUrl": "http://127.0.0.1:8069/"
-    }
-  ],
-  "type": "ionic-angular"
-}
+    "name": "odoo-mobile-v3",
+    "app_id": "",
+    "proxies": [
+        {
+            "path": "/",
+            "proxyUrl": "http://127.0.0.1:8069/"
+        }
+
+    ],
+    "type": "ionic-angular"
+}

+ 178 - 41
package-lock.json

@@ -137,49 +137,186 @@
       }
     },
     "@ionic/cli-plugin-cordova": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/@ionic/cli-plugin-cordova/-/cli-plugin-cordova-1.4.0.tgz",
-      "integrity": "sha1-LT3Xu9cyHg8ZlLbxohcXb1UUUpY=",
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/@ionic/cli-plugin-cordova/-/cli-plugin-cordova-1.4.1.tgz",
+      "integrity": "sha512-riH3qc11S1Q1OsQgawTYG8KAVZ6Mls9cS1pAcmYGFfV59vdoWHzUpVFuEtHLrfrcGzW31uLErAHjKQN1+w6t6g==",
       "dev": true,
       "requires": {
-        "@ionic/cli-utils": "1.4.0",
-        "chalk": "1.1.3",
+        "@ionic/cli-utils": "1.5.0",
+        "chalk": "2.0.1",
         "xml2js": "0.4.17"
+      },
+      "dependencies": {
+        "@ionic/cli-utils": {
+          "version": "1.5.0",
+          "resolved": "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.5.0.tgz",
+          "integrity": "sha512-w0eissKYEnDAAs/pw5CA1ix8/SPWhvYZ+XeDDbUhq6CCgTnBqVkyTEFC/D+KTkALySqQUX8cKQ1NUKMXqOxUDw==",
+          "dev": true,
+          "requires": {
+            "archiver": "1.3.0",
+            "chalk": "2.0.1",
+            "ci-info": "1.0.0",
+            "cross-spawn": "4.0.2",
+            "dargs": "5.1.0",
+            "inquirer": "3.1.1",
+            "leek": "0.0.24",
+            "lodash": "4.17.4",
+            "minimist": "1.2.0",
+            "ncp": "2.0.0",
+            "rimraf": "2.6.1",
+            "semver": "5.3.0",
+            "slice-ansi": "1.0.0",
+            "string-width": "2.1.0",
+            "strip-ansi": "4.0.0",
+            "superagent": "3.5.2",
+            "uuid": "3.1.0",
+            "wrap-ansi": "2.1.0"
+          }
+        },
+        "ansi-regex": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz",
+          "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz",
+          "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.1.0",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "4.2.0"
+          }
+        },
+        "slice-ansi": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
+          "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
+          "dev": true,
+          "requires": {
+            "is-fullwidth-code-point": "2.0.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "3.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz",
+          "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==",
+          "dev": true,
+          "requires": {
+            "has-flag": "2.0.0"
+          }
+        }
       }
     },
     "@ionic/cli-plugin-ionic-angular": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/@ionic/cli-plugin-ionic-angular/-/cli-plugin-ionic-angular-1.3.1.tgz",
-      "integrity": "sha1-iYX1pSDbl+1iBmFUZOFz0Ibs0eo=",
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/@ionic/cli-plugin-ionic-angular/-/cli-plugin-ionic-angular-1.3.2.tgz",
+      "integrity": "sha512-U0uIrh32MXXzvqraeE82Obc54e7uv3Crd0NcG/IOvnpL2vtG9idPEK+ApItYjdZG63RTs//mKdRcz1wga6y+dA==",
       "dev": true,
       "requires": {
-        "@ionic/cli-utils": "1.4.0",
-        "chalk": "1.1.3"
-      }
-    },
-    "@ionic/cli-utils": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.4.0.tgz",
-      "integrity": "sha1-eMcLacO5ikY6oB6lB9fQHaPfpnU=",
-      "dev": true,
-      "requires": {
-        "archiver": "1.3.0",
-        "chalk": "1.1.3",
-        "cross-spawn": "4.0.2",
-        "dargs": "5.1.0",
-        "inquirer": "3.1.1",
-        "leek": "0.0.24",
-        "lodash": "4.17.4",
-        "minimist": "1.2.0",
-        "ncp": "2.0.0",
-        "os-name": "2.0.1",
-        "rimraf": "2.6.1",
-        "semver": "5.3.0",
-        "slice-ansi": "0.0.4",
-        "string-width": "2.1.0",
-        "superagent": "3.5.2",
-        "uuid": "3.1.0",
-        "wrap-ansi": "2.1.0"
+        "@ionic/cli-utils": "1.5.0",
+        "chalk": "2.0.1"
+      },
+      "dependencies": {
+        "@ionic/cli-utils": {
+          "version": "1.5.0",
+          "resolved": "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.5.0.tgz",
+          "integrity": "sha512-w0eissKYEnDAAs/pw5CA1ix8/SPWhvYZ+XeDDbUhq6CCgTnBqVkyTEFC/D+KTkALySqQUX8cKQ1NUKMXqOxUDw==",
+          "dev": true,
+          "requires": {
+            "archiver": "1.3.0",
+            "chalk": "2.0.1",
+            "ci-info": "1.0.0",
+            "cross-spawn": "4.0.2",
+            "dargs": "5.1.0",
+            "inquirer": "3.1.1",
+            "leek": "0.0.24",
+            "lodash": "4.17.4",
+            "minimist": "1.2.0",
+            "ncp": "2.0.0",
+            "rimraf": "2.6.1",
+            "semver": "5.3.0",
+            "slice-ansi": "1.0.0",
+            "string-width": "2.1.0",
+            "strip-ansi": "4.0.0",
+            "superagent": "3.5.2",
+            "uuid": "3.1.0",
+            "wrap-ansi": "2.1.0"
+          }
+        },
+        "ansi-regex": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz",
+          "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz",
+          "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.1.0",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "4.2.0"
+          }
+        },
+        "slice-ansi": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
+          "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
+          "dev": true,
+          "requires": {
+            "is-fullwidth-code-point": "2.0.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "3.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz",
+          "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==",
+          "dev": true,
+          "requires": {
+            "has-flag": "2.0.0"
+          }
+        }
       }
     },
     "@ionic/storage": {
@@ -1306,6 +1443,12 @@
       "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
       "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE="
     },
+    "ci-info": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.0.0.tgz",
+      "integrity": "sha1-3FKF8rTiUYIWg2gcOBwziPRuxTQ=",
+      "dev": true
+    },
     "cipher-base": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz",
@@ -5842,12 +5985,6 @@
       "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
       "dev": true
     },
-    "slice-ansi": {
-      "version": "0.0.4",
-      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
-      "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
-      "dev": true
-    },
     "slugid": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/slugid/-/slugid-1.1.0.tgz",

+ 3 - 3
package.json

@@ -42,8 +42,8 @@
     },
     "devDependencies": {
         "@ionic/app-scripts": "1.3.12",
-        "@ionic/cli-plugin-cordova": "1.4.0",
-        "@ionic/cli-plugin-ionic-angular": "1.3.1",
+        "@ionic/cli-plugin-cordova": "1.4.1",
+        "@ionic/cli-plugin-ionic-angular": "1.3.2",
         "typescript": "2.3.4"
     },
     "description": "myApp: An Ionic project",
@@ -60,4 +60,4 @@
             "android"
         ]
     }
-}
+}

+ 1 - 1
src/app/app.scss

@@ -74,7 +74,7 @@ ion-input > input {
 
 .no-items {
     width: 100%;
-    height: 85%;
+    height: 80%;
     display: flex;
     align-items: center;
     justify-content: center;  

BIN
src/assets/images/logo.png


+ 3 - 3
src/pages/login/login.scss

@@ -4,14 +4,13 @@ page-login {
 
         img {
             display: block;
-            width: 13.4rem;
+            width: 11.4rem;
             margin: 50px auto;
-            filter: brightness(0) invert(1);
         }
 
         ion-item {
             width: 100%;
-            height: 35px;
+            height: 30px;
             border-radius: 2px !important;
             margin-bottom: 2px !important;
 
@@ -19,6 +18,7 @@ page-login {
                 color: #d3d3d3 !important;
                 font-size: 1.8rem !important;
             }
+            
 
             .item-inner {
                 margin-left: 5px !important;

+ 6 - 8
src/pages/login/login.ts

@@ -1,4 +1,5 @@
 import { Component } from '@angular/core';
+import { Observer } from 'rxjs/Observer';
 import { NavController, MenuController, LoadingController, Loading, AlertController, NavParams } from 'ionic-angular';
 import { Validators, FormGroup, FormBuilder } from "@angular/forms";
 
@@ -29,10 +30,10 @@ export class LoginPage {
 		public pouch: PouchService
 	) { 
 		this.loginForm = this.formBuilder.group({
-			host: ['http://localhost:8100', Validators.required],
-			database: ['odoo', Validators.required],
+			host: ['http://181.40.66.126:10000', Validators.required],
+			database: ['demo', Validators.required],
 			username: ['admin', Validators.required],
-			password: ['admin', Validators.required],
+			password: ['@Setlos/2017', Validators.required],
 		});
 	}
 
@@ -62,8 +63,7 @@ export class LoginPage {
 	 *
 	 */
 	signinSuccess(data: any): void {
-		console.log(data);
-
+		this.auth.storeInformation(data);
 		this.loader.dismiss();
 		this.navCtrl.setRoot(HomePage);
 	}
@@ -71,9 +71,7 @@ export class LoginPage {
 	/**
 	 *
 	 */
-	signinError(error: any): void {
-		console.log(error);
-		
+	signinError(error: any): void {		
 		this.loader.dismiss();
 		this.alertCtrl.create({
 			title: 'Atención',

+ 4 - 5
src/services/auth-service.ts

@@ -29,8 +29,8 @@ export class AuthService {
         }
         
         this.odooRPC.init({
-            odoo_server: host,
-            http_auth: "username:password"
+            server: host,
+            httpAuth: "username:password"
         });
     }
 
@@ -40,8 +40,7 @@ export class AuthService {
     signin(loginInformation: any): Observable<any> {
         this.initialize(loginInformation.host);
 
-        return Observable.fromPromise(this.odooRPC.login(loginInformation.database, loginInformation.username, loginInformation.password))
-            .concat(this.store(loginInformation));
+        return Observable.fromPromise(this.odooRPC.login(loginInformation.database, loginInformation.username, loginInformation.password));
     }
 
     /**
@@ -61,7 +60,7 @@ export class AuthService {
     /**
      *
      */
-    private store(loginInformation: any): Observable<any> {
+    storeInformation(loginInformation: any): Observable<any> {
         localStorage.setItem("odoo", JSON.stringify(loginInformation));
         
         return Observable.empty();

+ 1 - 1
src/services/odoo-service.ts

@@ -22,7 +22,7 @@ export class OdooService {
         }
         
         this.odooRPC.init({
-            odoo_server: host,
+            server: host,
             http_auth: "username:password"
         });
     }

+ 0 - 4
src/services/pouch-service.ts

@@ -30,10 +30,6 @@ export class PouchService {
             auto_compaction: true
         });
 
-        console.log(this.pouchDB);
-        
-        
-
         return Observable.fromPromise(this.pouchDB.createIndex({
             index: {
                 fields: ['odoo_model']

+ 15 - 9
src/services/rpc-service.ts

@@ -1,7 +1,8 @@
 import { Injectable, Inject } from "@angular/core"
-import { Http, Headers } from "@angular/http"
+import { Http, Headers, RequestOptions } from "@angular/http"
 import { Cookies } from "./cookies"
 
+
 import "rxjs/add/operator/toPromise";
 
 @Injectable()
@@ -12,7 +13,7 @@ export class RPCService {
     private uniqueId: number;
     private shouldManageSessionId: boolean;
     private context: Object;
-    private headers: Headers;
+    private options: RequestOptions;
 
     constructor(@Inject(Http) private http: Http) {
         this.cookies = new Cookies();
@@ -35,19 +36,24 @@ export class RPCService {
             params.session_id = this.cookies.getSessionId();
         }
 
-        this.headers = new Headers({
+        let headers = new Headers({
             "Content-Type": "application/json",
+            "Cache-Control": "no-cache",
             "X-Openerp-Session-Id": this.cookies.getSessionId(),
             "Authorization": "Basic " + btoa(`${this.httpAuth}`)
         });
 
-        let data = {
+        this.options = new RequestOptions({ 
+            headers
+         });
+
+        let body = {
             jsonrpc: "2.0",
             method: "call",
             params
         }
 
-        return JSON.stringify(data);
+        return JSON.stringify(body);
     }
 
     /**
@@ -113,7 +119,7 @@ export class RPCService {
      */
     public init(configuration: any): void {
         this.server = configuration.server;
-        this.httpAuth = configuration.http_auth || null;
+        this.httpAuth = configuration.httpAuth || null;
     }
 
     /**
@@ -138,9 +144,9 @@ export class RPCService {
      * @param params 
      */
     public sendRequest(url: string, params: Object): Promise<any> {
-        let options = this.createRequest(url, params);
-
-        return this.http.post(this.server + url, options, { headers: this.headers })
+        let body = this.createRequest(url, params);
+        
+        return this.http.post(this.server + url, body, this.options)
             .toPromise()
             .then(this.handleResponse)
             .catch(this.handleErrors);