65 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Index: web_example/static/src/js/first_module.js
 | 
						|
===================================================================
 | 
						|
--- web_example.orig/static/src/js/first_module.js
 | 
						|
+++ web_example/static/src/js/first_module.js
 | 
						|
@@ -11,20 +11,36 @@ openerp.web_example = function (instance
 | 
						|
             this._super.apply(this, arguments);
 | 
						|
             this._start = null;
 | 
						|
             this._watch = null;
 | 
						|
+            this.model = new instance.web.Model('web_example.stopwatch');
 | 
						|
+        },
 | 
						|
+        start: function () {
 | 
						|
+            var display = this.display_record.bind(this);
 | 
						|
+            return this.model.query()
 | 
						|
+                .filter([['user_id', '=', instance.session.uid]])
 | 
						|
+                .all().done(function (records) {
 | 
						|
+                    _(records).each(display);
 | 
						|
+                });
 | 
						|
         },
 | 
						|
         current: function () {
 | 
						|
             // Subtracting javascript dates returns the difference in milliseconds
 | 
						|
             return new Date() - this._start;
 | 
						|
         },
 | 
						|
-        update_counter: function (time) {
 | 
						|
+        display_record: function (record) {
 | 
						|
+            $('<li>')
 | 
						|
+                .text(this.format_time(record.time))
 | 
						|
+                .appendTo(this.$('.oe_web_example_saved'));
 | 
						|
+        },
 | 
						|
+        format_time: function (time) {
 | 
						|
             var h, m, s;
 | 
						|
             s = time / 1000;
 | 
						|
             m = Math.floor(s / 60);
 | 
						|
             s -= 60*m;
 | 
						|
             h = Math.floor(m / 60);
 | 
						|
             m -= 60*h;
 | 
						|
-            this.$('.oe_web_example_timer').text(
 | 
						|
-                _.str.sprintf("%02d:%02d:%02d", h, m, s));
 | 
						|
+            return _.str.sprintf("%02d:%02d:%02d", h, m, s);
 | 
						|
+        },
 | 
						|
+        update_counter: function (time) {
 | 
						|
+            this.$('.oe_web_example_timer').text(this.format_time(time));
 | 
						|
         },
 | 
						|
         watch_start: function () {
 | 
						|
             this.$el.addClass('oe_web_example_started')
 | 
						|
@@ -45,7 +61,7 @@ openerp.web_example = function (instance
 | 
						|
             this._start = this._watch = null;
 | 
						|
             this.$el.removeClass('oe_web_example_started')
 | 
						|
                     .addClass('oe_web_example_stopped');
 | 
						|
-            new instance.web.Model('web_example.stopwatch').call('create', [{
 | 
						|
+            this.model.call('create', [{
 | 
						|
                 user_id: instance.session.uid,
 | 
						|
                 time: time,
 | 
						|
             }]);
 | 
						|
Index: web_example/static/src/xml/web_example.xml
 | 
						|
===================================================================
 | 
						|
--- web_example.orig/static/src/xml/web_example.xml
 | 
						|
+++ web_example/static/src/xml/web_example.xml
 | 
						|
@@ -7,5 +7,6 @@
 | 
						|
     <p class="oe_web_example_stop">
 | 
						|
         <button type="button">Stop</button>
 | 
						|
     </p>
 | 
						|
+    <ol class="oe_web_example_saved"></ol>
 | 
						|
 </div>
 | 
						|
 </templates>
 |