|
@@ -5,7 +5,9 @@ angular.module('odoo')
|
|
|
* Description: Local storage manager for customers data
|
|
|
* -----------------------------------------------------------------------------
|
|
|
*/
|
|
|
- .factory('customersStorageFactory', function () {
|
|
|
+ .factory('customersStorageFactory', function ($localStorage) {
|
|
|
+
|
|
|
+ var configuration = $localStorage;
|
|
|
|
|
|
/**
|
|
|
*
|
|
@@ -16,53 +18,42 @@ angular.module('odoo')
|
|
|
if (data.id) {
|
|
|
query = squel.update()
|
|
|
.table('partner')
|
|
|
- .set('remote_id', data.remote_id)
|
|
|
+ .set('remote_id', data.remote_id ? data.remote_id : 0)
|
|
|
.set('modified', 1)
|
|
|
- .set('modifiedDate', 'CURRENT_TIMESTAMP', { dontQuote: true })
|
|
|
.set('name', data.name)
|
|
|
- .set('city', data.city)
|
|
|
- .set('mobile', data.mobile)
|
|
|
- .set('phone', data.phone)
|
|
|
- .set('fax', data.fax)
|
|
|
- .set('email', data.email)
|
|
|
- .set('street', data.street)
|
|
|
- .set('street2', data.street2)
|
|
|
- .set('image_medium', data.image_medium)
|
|
|
- .set('image_small', data.image_small)
|
|
|
- .set('comment', data.comment)
|
|
|
- .set('customer', data.customer)
|
|
|
- .set('employee', data.employee)
|
|
|
- .set('is_company', data.is_company)
|
|
|
- .set('debit', data.debit)
|
|
|
- .set('debit_limit', data.debit_limit)
|
|
|
- .set('opportunity_count', data.opportunity_count)
|
|
|
- .set('contracts_count', data.contracts_count)
|
|
|
- .set('journal_item_count', data.journal_item_count)
|
|
|
- .set('meeting_count', data.meeting_count)
|
|
|
- .set('phonecall_count', data.phonecall_count)
|
|
|
- .set('sale_order_count', data.sale_order_count)
|
|
|
- .set('total_invoiced', data.total_invoiced)
|
|
|
- .where('id', data.id);
|
|
|
+ .set('city', data.city ? data.city : null)
|
|
|
+ .set('mobile', data.mobile ? data.mobile : null)
|
|
|
+ .set('phone', data.phone ? data.phone : null)
|
|
|
+ .set('fax', data.fax ? data.fax : null)
|
|
|
+ .set('email', data.email ? data.email : null)
|
|
|
+ .set('street', data.street ? data.street : null)
|
|
|
+ .set('street2', data.street2 ? data.street2 : null)
|
|
|
+ .set('image_medium', data.image_medium ? data.image_medium : null)
|
|
|
+ .set('image_small', data.image_small ? data.image_small : null)
|
|
|
+ .set('comment', data.comment ? data.comment : null)
|
|
|
+ .set('customer', 1)
|
|
|
+ .set('employee', 0)
|
|
|
+ .set('is_company', 0)
|
|
|
+ .where('id = ?', data.id)
|
|
|
+ .toParam();
|
|
|
} else {
|
|
|
- query = squel.insert()
|
|
|
+ query = squel.insert()
|
|
|
.into('partner')
|
|
|
- .set('remote_id', data.remote_id)
|
|
|
- .set('modified', 0)
|
|
|
- .set('modifiedDate', 'CURRENT_TIMESTAMP', { dontQuote: true })
|
|
|
+ .set('remote_id', data.remote_id ? data.remote_id : 0)
|
|
|
.set('name', data.name)
|
|
|
- .set('city', data.city)
|
|
|
- .set('mobile', data.mobile)
|
|
|
- .set('phone', data.phone)
|
|
|
- .set('fax', data.fax)
|
|
|
- .set('email', data.email)
|
|
|
- .set('street', data.street)
|
|
|
- .set('street2', data.street2)
|
|
|
- .set('image_medium', data.image_medium)
|
|
|
- .set('image_small', data.image_small)
|
|
|
- .set('comment', data.comment)
|
|
|
- .set('customer', data.customer)
|
|
|
- .set('employee', data.employee)
|
|
|
- .set('is_company', data.is_company)
|
|
|
+ .set('city', data.city ? data.city : null)
|
|
|
+ .set('mobile', data.mobile ? data.mobile : null)
|
|
|
+ .set('phone', data.phone ? data.phone : null)
|
|
|
+ .set('fax', data.fax ? data.fax : null)
|
|
|
+ .set('email', data.email ? data.email : null)
|
|
|
+ .set('street', data.street ? data.street : null)
|
|
|
+ .set('street2', data.street2 ? data.street2 : null)
|
|
|
+ .set('image_medium', data.image_medium ? data.image_medium : null)
|
|
|
+ .set('image_small', data.image_small ? data.image_small : null)
|
|
|
+ .set('comment', data.comment ? data.comment : null)
|
|
|
+ .set('customer', 1)
|
|
|
+ .set('employee', 0)
|
|
|
+ .set('is_company', 0)
|
|
|
.set('debit', data.debit)
|
|
|
.set('debit_limit', data.debit_limit)
|
|
|
.set('opportunity_count', data.opportunity_count)
|
|
@@ -71,14 +62,18 @@ angular.module('odoo')
|
|
|
.set('meeting_count', data.meeting_count)
|
|
|
.set('phonecall_count', data.phonecall_count)
|
|
|
.set('sale_order_count', data.sale_order_count)
|
|
|
- .set('total_invoiced', data.total_invoiced);
|
|
|
+ .set('total_invoiced', data.total_invoiced)
|
|
|
+ .set('type', data.type ? data.type : 'contact')
|
|
|
+ .set('active', data.active ? data.active : 1)
|
|
|
+ .set('company_id', angular.isArray(data.company_id) ? data.company_id[0] : configuration.company_id)
|
|
|
+ .set('create_uid', angular.isArray(data.create_uid) ? data.create_uid[0] : configuration.id)
|
|
|
+ .toParam();
|
|
|
}
|
|
|
|
|
|
- query = query.toParam();
|
|
|
-
|
|
|
db.executeSql(query.text, query.values, function (result) {
|
|
|
- success(query.text.startsWith('INSERT') ? result.insertId : customer.id);
|
|
|
+ success(query.text.startsWith('INSERT') ? result.insertId : data.id);
|
|
|
}, function (err) {
|
|
|
+ console.log(err);
|
|
|
error(err);
|
|
|
});
|
|
|
};
|
|
@@ -87,27 +82,21 @@ angular.module('odoo')
|
|
|
*
|
|
|
*/
|
|
|
var remove = function (data, success, error) {
|
|
|
- if (!data.id) {
|
|
|
- error('Customer cannot delete without provide an id');
|
|
|
- }
|
|
|
-
|
|
|
var query = null;
|
|
|
|
|
|
if (data.remote_id) {
|
|
|
query = squel.update()
|
|
|
.table('partner')
|
|
|
.set('modified', 2)
|
|
|
- .where('id', data.id)
|
|
|
+ .where('id = ?', data.id)
|
|
|
.toParam();
|
|
|
} else {
|
|
|
query = squel.delete()
|
|
|
.from('partner')
|
|
|
- .where('id', data.id)
|
|
|
+ .where('id = ?', data.id)
|
|
|
.toParam();
|
|
|
}
|
|
|
|
|
|
- query = query.toParam();
|
|
|
-
|
|
|
db.executeSql(query.text, query.values, function (result) {
|
|
|
success(result.rowsAffected);
|
|
|
}, function (err) {
|
|
@@ -121,7 +110,7 @@ angular.module('odoo')
|
|
|
var removeAll = function (success, error) {
|
|
|
var query = squel.delete()
|
|
|
.from('partner')
|
|
|
- .where('customer', 1)
|
|
|
+ .where('customer = ?', 1)
|
|
|
.toParam();
|
|
|
|
|
|
db.executeSql(query.text, query.values, function (result) {
|