Преглед на файлове

opportunity module started

robert2206 преди 8 години
родител
ревизия
7b92877b25
променени са 4 файла, в които са добавени 24 реда и са изтрити 6 реда
  1. 2 0
      www/index.html
  2. 18 2
      www/js/controllers/lead.controller.js
  3. 1 1
      www/js/factories/sales/lead.storage.factory.js
  4. 3 3
      www/js/factories/sales/lead.sync.factory.js

+ 2 - 0
www/index.html

@@ -40,6 +40,8 @@
     <script src="js/factories/sales/customer.sync.factory.js"></script>
     <script src="js/factories/sales/lead.storage.factory.js"></script>
     <script src="js/factories/sales/lead.sync.factory.js"></script>
+    <script src="js/factories/sales/opportunity.storage.factory.js"></script>
+    <script src="js/factories/sales/opportunity.sync.factory.js"></script>
 
     <!-- 3rd Party -->
     <script src="lib/angular-xmlrpc/xmlrpc.js"></script>

+ 18 - 2
www/js/controllers/lead.controller.js

@@ -13,6 +13,10 @@ angular.module('odoo')
     $scope.loading = false;
     $scope.leads = [];
     $scope.lead = {};
+    $scope.conversion = {
+        action: 'convert',
+        customer: 'create'
+    };
     $scope.search = null;
 
     $ionicModal.fromTemplateUrl('templates/sales/lead.html', {
@@ -22,6 +26,13 @@ angular.module('odoo')
         $scope.leadModal = modal;
     });
 
+    $ionicModal.fromTemplateUrl('templates/sales/leadToOpportunity.html', {
+        scope: $scope,
+        animation: 'slide-in-up'
+    }).then(function(modal) {
+        $scope.leadToOpportunityModal = modal;
+    });
+
     $scope.$on('$ionicView.enter', function () {
         $scope.fill();
     });
@@ -57,7 +68,7 @@ angular.module('odoo')
             }, function (getLeadsErr) {
                 $scope.$broadcast('scroll.refreshComplete');
                 $scope.loading = false;
-                
+
                 $ionicPopup.alert({ title: 'No se pudo obtener las iniciativas' });
             });
         });
@@ -122,6 +133,11 @@ angular.module('odoo')
         });
     }
 
+    $scope.convertToOpportunity = function () {
+        console.log($scope.conversion);
+        $scope.leadToOpportunityModal.hide();
+    }
+
     $scope.toggleSearch = function () {
         $scope.search = $ionicFilterBar.show({
             items: $scope.leads,
@@ -161,7 +177,7 @@ angular.module('odoo')
                         $scope.show();
                         break;
                     case 1:
-                        console.log('1');
+                        $scope.leadToOpportunityModal.show();
                         break;
                     default:
                         $scope.show();

+ 1 - 1
www/js/factories/sales/lead.storage.factory.js

@@ -41,7 +41,7 @@ angular.module('odoo')
     }
 
     var removeAll = function (success, error) {
-        var sql = 'DELETE FROM lead';
+        var sql = "DELETE FROM lead WHERE type = 'opportunity'";
 
         db.executeSql(sql, [], function(result) {
             success(result.rowsAffected);

+ 3 - 3
www/js/factories/sales/lead.sync.factory.js

@@ -80,7 +80,7 @@ angular.module('odoo')
 
     // Sync leads data between local and remote storage
     var sync = function (success, error) {
-        local.retrieve('remote_id = 0', function (newLeads) {
+        local.retrieve("remote_id = 0 AND type = 'lead'", function (newLeads) {
             console.log(newLeads);
             asyncLoop(newLeads.length, function (loop) {
                 var data = newLeads.item(loop.iteration());
@@ -102,7 +102,7 @@ angular.module('odoo')
             }, function () {
                 console.log('New data sended success');
 
-                local.retrieve('remote_id != 0 AND modified = 1', function (modifiedLeads) {
+                local.retrieve("remote_id != 0 AND modified = 1 AND type = 'lead'", function (modifiedLeads) {
                     asyncLoop(modifiedLeads.length, function (loop) {
                         var localData = modifiedLeads.item(loop.iteration());
 
@@ -145,7 +145,7 @@ angular.module('odoo')
                     }, function () {
                         console.log('Modified data sended success');
 
-                        local.retrieve('remote_id != 0 AND modified = 2', function (deletedLeads) {
+                        local.retrieve("remote_id != 0 AND modified = 2 AND type = 'lead'", function (deletedLeads) {
                             asyncLoop(deletedLeads.length, function (loop) {
                                 var id = deletedLeads.item(loop.iteration()).remote_id;