summaryrefslogtreecommitdiff
path: root/addons/web_mobile/static/src
diff options
context:
space:
mode:
authorBhumi Thakkar (Open ERP) <bth@tinyerp.com>2011-10-07 17:52:46 +0530
committerBhumi Thakkar (Open ERP) <bth@tinyerp.com>2011-10-07 17:52:46 +0530
commitd22c121a107ca9938f63cc9ed58cc2da5effad33 (patch)
treecc56b488d27c00032b10bd62313b4cdee5037ee1 /addons/web_mobile/static/src
parent2adffb46e5952945f2b22197afab65b00b5d38cb (diff)
[IMP]Fields attributes & format according to fields in formview.
bzr revid: bth@tinyerp.com-20111007122246-67cavlpebuldrmk6
Diffstat (limited to 'addons/web_mobile/static/src')
-rw-r--r--addons/web_mobile/static/src/js/form_mobile.js76
-rwxr-xr-xaddons/web_mobile/static/src/web_mobile.html16
-rw-r--r--addons/web_mobile/static/src/xml/web_mobile.xml16
3 files changed, 96 insertions, 12 deletions
diff --git a/addons/web_mobile/static/src/js/form_mobile.js b/addons/web_mobile/static/src/js/form_mobile.js
index 69182a92f65..96694f1f784 100644
--- a/addons/web_mobile/static/src/js/form_mobile.js
+++ b/addons/web_mobile/static/src/js/form_mobile.js
@@ -48,6 +48,24 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({
}
self.$element.html(self.render({'get_fields': get_fields, 'notebooks': notebooks || false, 'fields' : fields, 'values' : self.datarecord ,'temp_flag':'1'}));
for(var i=0;i<get_fields.length;i++) {
+ self.$element.find('input').each(function(){
+ if($(this).attr('id')==get_fields[i].attrs.name){
+ if(fields[get_fields[i].attrs.name].type=="date"){
+ $("#"+get_fields[i].attrs.name).datepicker();
+ $("#"+get_fields[i].attrs.name).attr('disabled','true');
+ var dateresult = openerp.web.format_value(self.datarecord[get_fields[i].attrs.name], {"widget": result.fields[get_fields[i].attrs.name].type});
+ $(this).val(dateresult);
+ }
+ else if(fields[get_fields[i].attrs.name].type=="datetime"){
+ $("#"+get_fields[i].attrs.name).datetimepicker();
+ $("#"+get_fields[i].attrs.name).attr('disabled','true');
+ var dateresult = openerp.web.format_value(self.datarecord[get_fields[i].attrs.name], {"widget": result.fields[get_fields[i].attrs.name].type});
+ $(this).val(dateresult);
+ }
+ }
+ $(this).attr('readonly','true');
+
+ });
if (get_fields[i].attrs.widget=="progressbar") {
$("#progress").progressbar({value:self.datarecord[get_fields[i].attrs.name]})
}
@@ -106,6 +124,38 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({
}else{
$(this).find('div#page_content').html(self.render({'get_fields': get_fields,'fields' : result.fields, 'values' : self.datarecord}));
}
+ for(var i=0;i<get_fields.length;i++) {
+ self.$element.find('input').each(function(){
+ if($(this).attr('id')==get_fields[i].attrs.name){
+ if(fields[get_fields[i].attrs.name].type=="date"){
+ $("#"+get_fields[i].attrs.name).datepicker();
+ $(this).attr('disabled','true');
+ var dateresult = openerp.web.format_value(self.datarecord[get_fields[i].attrs.name], {"widget": result.fields[get_fields[i].attrs.name].type});
+ $(this).val(dateresult);
+ }
+ else if(fields[get_fields[i].attrs.name].type=="datetime"){
+ $("#"+get_fields[i].attrs.name).datetimepicker();
+ $("#"+get_fields[i].attrs.name).attr('disabled','true');
+ var dateresult = openerp.web.format_value(self.datarecord[get_fields[i].attrs.name], {"widget": result.fields[get_fields[i].attrs.name].type});
+ $(this).val(dateresult);
+ }
+ }
+ $(this).attr('readonly','true');
+
+ });
+ }
+ $(this).find('div#page_content').find('select').each(function(){
+ $(this).find('option').attr('disabled','true');
+ if($(this).attr('id')=="slider"){
+ $(this).attr('disable','true');
+ }
+ });
+ $(this).find('div#page_content').find('input').each(function(){
+ $(this).attr('readonly','true')
+ });
+ $(this).find('div#page_content').find('textarea').each(function(){
+ $(this).attr('readonly','true')
+ });
$(this).find('div#page_content').find('#formbutton').click(function(){
var head = $(this).prev().find('select').find("option:selected").text();
var selected_id = $(this).prev().find('select').val();
@@ -231,7 +281,19 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({
}
}
});
- $.mobile.changePage('#oe_form_'+listid+result.fields[relational].relation, "slide", false, true);
+ $('[id^="oe_form_'+listid+result.fields[relational].relation+'"]').find('select').each(function(){
+ $(this).find('option').attr('disabled','true');
+ if($(this).attr('id')=="slider"){
+ $(this).attr('disable','true');
+ }
+ });
+ $('[id^="oe_form_'+listid+result.fields[relational].relation+'"]').find('input').each(function(){
+ $(this).attr('readonly','true')
+ });
+ $('[id^="oe_form_'+listid+result.fields[relational].relation+'"]').find('textarea').each(function(){
+ $(this).attr('readonly','true')
+ });
+ $.mobile.changePage('#oe_form_'+listid+result.fields[relational].relation, "slide", false, true);
}else{
$.mobile.changePage('#oe_form_'+listid+result.fields[relational].relation, "slide", false, true);
}
@@ -244,6 +306,18 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({
});
}
});
+ self.$element.find('select').each(function(){
+ $(this).find('option').attr('disabled','true')
+ if($(this).attr('id')=="slider"){
+ $(this).attr('disable','true');
+ }
+ });
+ self.$element.find('input').each(function(){
+ $(this).attr('readonly','true')
+ });
+ self.$element.find('textarea').each(function(){
+ $(this).attr('readonly','true')
+ });
$.mobile.changePage("#"+self.element_id, "slide", false, true);
},
get_fields: function(view_fields, fields) {
diff --git a/addons/web_mobile/static/src/web_mobile.html b/addons/web_mobile/static/src/web_mobile.html
index 3900b8ba0cc..8c5634a888d 100755
--- a/addons/web_mobile/static/src/web_mobile.html
+++ b/addons/web_mobile/static/src/web_mobile.html
@@ -4,7 +4,8 @@
<meta charset="utf-8" />
<title>OpenERP Web Mobile</title>
- <link rel="stylesheet" href="/web_mobile/static/lib/jquery_mobile/css/jquery-ui-1.8.9.custom.css"/>
+ <!-- <link rel="stylesheet" href="/web_mobile/static/lib/jquery_mobile/css/jquery-ui-1.8.9.custom.css"/>-->
+ <link rel="stylesheet" href="/web/static/lib/jquery.ui/css/smoothness/jquery-ui-1.8.9.custom.css"/>
<link rel="stylesheet" href="/web_mobile/static/lib/jquery_mobile/css/jquery.mobile-1.0a4.1.css"/>
<link rel="stylesheet" href="/web_mobile/static/src/css/web_mobile.css"/>
@@ -13,14 +14,23 @@
<script type="text/javascript" src="/web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
<script type="text/javascript" src="/web/static/lib/underscore/underscore.js"></script>
<script type="text/javascript" src="/web/static/lib/underscore/underscore.string.js"></script>
- <script type="text/javascript" src="/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0a4.1.js"></script>
+ <script type="text/javascript" src="/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0a4.1.js"></script>
+
+ <script type="text/javascript" src="/web/static/lib/datejs/globalization/en-US.js"></script>
+ <script type="text/javascript" src="/web/static/lib/datejs/core.js"></script>
+ <script type="text/javascript" src="/web/static/lib/datejs/extras.js"></script>
+ <script type="text/javascript" src="/web/static/lib/datejs/parser.js"></script>
+ <script type="text/javascript" src="/web/static/lib/datejs/sugarpak.js"></script>
+ <script type="text/javascript" src="/web/static/lib/datejs/time.js"></script>
+ <script type="text/javascript" src="/web/static/lib/jquery.ui/js/jquery-ui-timepicker-addon.js"></script>
<script type="text/javascript" src="/web/static/lib/qweb/qweb2.js"></script>
<script type="text/javascript" src="/web/static/src/js/boot.js"></script>
<script type="text/javascript" src="/web/static/src/js/core.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome.js"></script>
<script type="text/javascript" src="/web/static/src/js/data.js"></script>
- <script type="text/javascript" src="/web/static/src/js/formats.js"></script>
+ <script type="text/javascript" src="/web/static/src/js/formats.js"></script>
++ <script type="text/javascript" src="/web/static/src/js/dates.js"></script>
<script type="text/javascript" src="/web_mobile/static/src/js/web_mobile.js"></script>
<script type="text/javascript" src="/web_mobile/static/src/js/chrome_mobile.js"></script>
diff --git a/addons/web_mobile/static/src/xml/web_mobile.xml b/addons/web_mobile/static/src/xml/web_mobile.xml
index e4468fdeb15..1e9f2a93251 100644
--- a/addons/web_mobile/static/src/xml/web_mobile.xml
+++ b/addons/web_mobile/static/src/xml/web_mobile.xml
@@ -195,27 +195,27 @@
</t>
</t>
<t t-if="fields[field.attrs.name].type == 'date'">
- <label for="">
+ <label t-att-for="field.attrs.name">
<t t-if="!(field.attrs.string)" t-esc="fields[field.attrs.name].string"></t>
<t t-if="field.attrs.string" t-esc="field.attrs.string"></t>:
</label>
<t t-if="values[field.attrs.name]">
- <input id="" type="text" t-att-value="values[field.attrs.name]"/>
+ <input t-att-id="field.attrs.name" type="text" data-role="datebox" t-att-value="values[field.attrs.name]"/>
</t>
<t t-if="!(values[field.attrs.name])">
- <input id="" type="text" value=""/>
+ <input t-att-id="field.attrs.name" type="text" value=""/>
</t>
</t>
<t t-if="fields[field.attrs.name].type == 'datetime'">
- <label for="">
+ <label t-att-for="field.attrs.name">
<t t-if="!(field.attrs.string)" t-esc="fields[field.attrs.name].string"></t>
<t t-if="field.attrs.string" t-esc="field.attrs.string"></t>:
</label>
<t t-if="values[field.attrs.name]">
- <input id="" type="text" t-att-value="values[field.attrs.name]"/>
+ <input t-att-id="field.attrs.name" type="text" t-att-value="values[field.attrs.name]"/>
</t>
<t t-if="!(values[field.attrs.name])">
- <input id="" type="text" value=""/>
+ <input t-att-id="field.attrs.name" type="text" value=""/>
</t>
</t>
<t t-if="fields[field.attrs.name].type == 'boolean'">
@@ -234,11 +234,11 @@
</div>
</t>
<t t-if="fields[field.attrs.name].type == 'selection'">
- <label for="" class="select">
+ <label t-att-for="field.attrs.name" class="select">
<t t-if="!(field.attrs.string)" t-esc="fields[field.attrs.name].string"></t>
<t t-if="field.attrs.string" t-esc="field.attrs.string"></t>:
</label>
- <select id="" data-native-menu="false">
+ <select t-att-id="field.attrs.name" data-native-menu="false">
<t t-foreach="fields[field.attrs.name].selection" t-as="opt">
<option t-att-value="opt[0]"><t t-esc="opt[1]"/></option>
</t>