|
@@ -15,8 +15,14 @@ export class ProductAttributeLineSyncProvider {
|
|
|
*/
|
|
|
doSync(): Promise<any> {
|
|
|
return new Promise((reject, resolve) => {
|
|
|
- this.odooProvider.get('product_attribute_line').then(lines => {
|
|
|
+
|
|
|
+ this.getUpdatedLines().then(lines => {
|
|
|
return lines;
|
|
|
+ }).then(lines => {
|
|
|
+ return this.odooProvider.post('product_attribute_line', lines);
|
|
|
+ }).then(response => {
|
|
|
+ console.log('product_attribute_line: product attribute lines modified sended');
|
|
|
+ return this.odooProvider.get('product_attribute_line');
|
|
|
}).then(lines => {
|
|
|
return this.storeLines(lines);
|
|
|
}).then(() => {
|
|
@@ -29,7 +35,28 @@ export class ProductAttributeLineSyncProvider {
|
|
|
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ */
|
|
|
+ private getUpdatedLines(): Promise<any> {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ this.dataProvider.getAll(DataProvider.DOCS.PRODUCT_ATTRIBUTE_LINE).then(lines => {
|
|
|
+ lines = lines.filter(item => {
|
|
|
+ return item.doc_state === "updated" && item.remote_id;
|
|
|
+ });
|
|
|
+
|
|
|
+ resolve(lines.map(item => {
|
|
|
+ delete item.id;
|
|
|
+ return item;
|
|
|
+ }));
|
|
|
+ }).catch(e => {
|
|
|
+ reject(e);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
*
|
|
|
*/
|
|
|
private storeLines(lines: Array<any>): Promise<any> {
|