123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- angular.module('odoo')
- /**
- * -----------------------------------------------------------------------------
- * Description: Local storage manager for customers data
- * -----------------------------------------------------------------------------
- */
- .factory('customersStorageFactory', function ($localStorage) {
- var configuration = $localStorage;
- /**
- *
- */
- var save = function (data, success, error) {
- var query = null;
- if (data.id) {
- query = squel.update()
- .table('partner')
- .set('remote_id', data.remote_id ? data.remote_id : 0)
- .set('modified', 1)
- .set('name', data.name)
- .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('partner_latitude', data.partner_latitude ? data.partner_latitude : 0)
- .set('partner_longitude', data.partner_longitude ? data.partner_longitude : 0)
- .set('date_localization', data.date_localization ? data.date_localization : null)
- .where('id = ?', data.id)
- .toParam();
- } else {
- query = squel.insert()
- .into('partner')
- .set('remote_id', data.remote_id ? data.remote_id : 0)
- .set('name', data.name)
- .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)
- .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)
- .set('type', data.type ? data.type : 'contact')
- .set('active', data.active ? data.active : 1)
- .set('partner_latitude', data.partner_latitude ? data.partner_latitude : 0)
- .set('partner_longitude', data.partner_longitude ? data.partner_longitude : 0)
- .set('date_localization', data.date_localization ? data.date_localization : null)
- .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();
- }
- db.executeSql(query.text, query.values, function (result) {
- success(query.text.startsWith('INSERT') ? result.insertId : data.id);
- }, function (err) {
- console.log(err);
- error(err);
- });
- };
- /**
- *
- */
- var get = function (id, success, error) {
- var query = squel.select()
- .from('partner')
- .where('id = ?', id)
- .toParam();
-
- db.executeSql(query.text, query.values, function (result) {
- if (result.rows.length == 0) {
- return success({});
- }
- success(result.rows.item(0));
- }, function (err) {
- error(err);
- })
- }
- /**
- *
- */
- var getAll = function (success, error) {
- var query = squel.select()
- .from('partner')
- .toParam();
-
- db.executeSql(query.text, query.values, function (result) {
- var data = [];
- for (var i = 0; i < result.rows.length; i++) {
- data.push(result.rows.item(i));
- }
- success(data);
- }, function (err) {
- error(err);
- });
- }
- /**
- *
- */
- var remove = function (data, success, error) {
- var query = null;
- if (data.remote_id) {
- query = squel.update()
- .table('partner')
- .set('modified', 2)
- .where('id = ?', data.id)
- .toParam();
- } else {
- query = squel.delete()
- .from('partner')
- .where('id = ?', data.id)
- .toParam();
- }
- db.executeSql(query.text, query.values, function (result) {
- success(result.rowsAffected);
- }, function (err) {
- error(err);
- });
- };
- /**
- *
- */
- var removeAll = function (success, error) {
- var query = squel.delete()
- .from('partner')
- .where('customer = ?', 1)
- .toParam();
- db.executeSql(query.text, query.values, function (result) {
- success(result.rowsAffected);
- }, function (err) {
- error(err);
- });
- };
- return {
- save: save,
- get: get,
- getAll: getAll,
- remove: remove,
- removeAll: removeAll
- }
- });
|