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>
|