summaryrefslogtreecommitdiff
path: root/addons/web_mobile/static/src
diff options
context:
space:
mode:
authorJiten (OpenERP) <jra@tinyerp.com>2011-10-10 16:21:14 +0530
committerJiten (OpenERP) <jra@tinyerp.com>2011-10-10 16:21:14 +0530
commitcb6bebc55e3124ddbf1bbae7b263799e43ca1707 (patch)
tree572285361f496cb9db58bc352a9e95a629f9d39a /addons/web_mobile/static/src
parentd22c121a107ca9938f63cc9ed58cc2da5effad33 (diff)
[IMP] Imroved code for disabled/readonly fields on formview.
bzr revid: jra@tinyerp.com-20111010105114-fsb8if7u0f2996im
Diffstat (limited to 'addons/web_mobile/static/src')
-rw-r--r--addons/web_mobile/static/src/js/form_mobile.js124
-rwxr-xr-xaddons/web_mobile/static/src/web_mobile.html5
-rw-r--r--addons/web_mobile/static/src/xml/web_mobile.xml19
3 files changed, 69 insertions, 79 deletions
diff --git a/addons/web_mobile/static/src/js/form_mobile.js b/addons/web_mobile/static/src/js/form_mobile.js
index 96694f1f784..5c2c49a95c8 100644
--- a/addons/web_mobile/static/src/js/form_mobile.js
+++ b/addons/web_mobile/static/src/js/form_mobile.js
@@ -48,27 +48,27 @@ 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++) {
+ if (get_fields[i].attrs.widget=="progressbar") {
+ $("#progress").progressbar({value:self.datarecord[get_fields[i].attrs.name]})
+ }
self.$element.find('input').each(function(){
+ // Set Date and Datetime field for main form
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"){
+ }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);
}
+ // Temp: Set as disabled
+ $("#"+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]})
- }
+ // Temp: Selection set as disabled
+ self.$element.find('select').each(function(){
+ $(this).find('option').attr('disabled','true')
+ });
}
self.$element.find("[data-role=header]").find('h1').html(self.head_title);
self.$element.find("[data-role=header]").find('#home').click(function(){
@@ -125,37 +125,28 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({
$(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');
+ if (get_fields[i].attrs.widget=="progressbar") {
+ $("#progress").progressbar({value:self.datarecord[get_fields[i].attrs.name]})
}
- });
- $(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')
- });
+ // Set Date and Datetime for notebook page
+ $(this).find('div#page_content').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();
+ }else if(fields[get_fields[i].attrs.name].type=="datetime"){
+ $("#"+get_fields[i].attrs.name).datetimepicker();
+ }
+ // Temp: Set as disabled
+ $("#"+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);
+ }
+ });
+ // Temp: Selection set as disabled
+ $(this).find('div#page_content').find('select').each(function(){
+ $(this).find('option').attr('disabled','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();
@@ -281,19 +272,30 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({
}
}
});
- $('[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');
+ for(var i=0;i<get_fields.length;i++) {
+ if (get_fields[i].attrs.widget=="progressbar") {
+ $("#progress").progressbar({value:self.datarecord[get_fields[i].attrs.name]})
}
- });
- $('[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);
+ // Set Date and Datetime for o2m field form.
+ $('[id^="oe_form_'+listid+result.fields[relational].relation+'"]').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();
+ }else if(fields[get_fields[i].attrs.name].type=="datetime"){
+ $("#"+get_fields[i].attrs.name).datetimepicker();
+ }
+ // Temp: Set as disabled
+ $("#"+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);
+ }
+ });
+ // Temp: Selection set as disabled.
+ $('[id^="oe_form_'+listid+result.fields[relational].relation+'"]').find('select').each(function(){
+ $(this).find('option').attr('disabled','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);
}
@@ -306,18 +308,6 @@ 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 8c5634a888d..2afa79dcb5e 100755
--- a/addons/web_mobile/static/src/web_mobile.html
+++ b/addons/web_mobile/static/src/web_mobile.html
@@ -4,8 +4,7 @@
<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/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-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"/>
@@ -30,7 +29,7 @@
<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/dates.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 1e9f2a93251..9c3dd94f839 100644
--- a/addons/web_mobile/static/src/xml/web_mobile.xml
+++ b/addons/web_mobile/static/src/xml/web_mobile.xml
@@ -148,6 +148,7 @@
<t t-call="Header" />
</t>
<div data-role="content">
+
<form>
<t t-foreach="get_fields" t-as="field">
<div data-role="fieldcontain">
@@ -157,10 +158,10 @@
<t t-if="field.attrs.string" t-esc="field.attrs.string"></t>:
</label>
<t t-if="values[field.attrs.name]">
- <input type="text" id="" t-att-value="values[field.attrs.name]"/>
+ <input type="text" id="" readonly="true" t-att-value="values[field.attrs.name]"/>
</t>
<t t-if="!(values[field.attrs.name])">
- <input type="text" value="" id=""/>
+ <input type="text" value="" readonly="true" id=""/>
</t>
<t t-if="(field.attrs.name == 'email' or field.attrs.name == 'email_from') and values[field.attrs.name]">
<a t-att-href="'mailto:'+values[field.attrs.name]"><img src="/web/static/src/img/icons/terp-mail-message-new.png" /></a>
@@ -174,7 +175,7 @@
<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>
- <textarea name="" id=""></textarea>
+ <textarea name="" id="" readonly="true"></textarea>
</t>
<t t-if="fields[field.attrs.name].type == 'float'">
<label for="">
@@ -188,9 +189,9 @@
<div id="progress" value="" title="Percent of tasks closed according to total of tasks to do..."></div>
</t>
<t t-if="values[field.attrs.name] and field.attrs.name!='progress_rate'">
- <input id="" type="text" t-att-value="values[field.attrs.name]"/>
+ <input id="" type="text" t-att-value="values[field.attrs.name]" readonly="true"/>
</t>
- <t t-if="!values[field.attrs.name] and field.attrs.name!='progress_rate'">
+ <t t-if="!values[field.attrs.name] and field.attrs.name!='progress_rate'" readonly="true">
<input id="" type="text" value=""/>
</t>
</t>
@@ -200,10 +201,10 @@
<t t-if="field.attrs.string" t-esc="field.attrs.string"></t>:
</label>
<t t-if="values[field.attrs.name]">
- <input t-att-id="field.attrs.name" type="text" data-role="datebox" t-att-value="values[field.attrs.name]"/>
+ <input t-att-id="field.attrs.name" readonly="true" type="text" data-role="datebox" t-att-value="values[field.attrs.name]"/>
</t>
<t t-if="!(values[field.attrs.name])">
- <input t-att-id="field.attrs.name" type="text" value=""/>
+ <input t-att-id="field.attrs.name" readonly="true" type="text" value=""/>
</t>
</t>
<t t-if="fields[field.attrs.name].type == 'datetime'">
@@ -212,10 +213,10 @@
<t t-if="field.attrs.string" t-esc="field.attrs.string"></t>:
</label>
<t t-if="values[field.attrs.name]">
- <input t-att-id="field.attrs.name" type="text" t-att-value="values[field.attrs.name]"/>
+ <input t-att-id="field.attrs.name" readonly="true" type="text" t-att-value="values[field.attrs.name]"/>
</t>
<t t-if="!(values[field.attrs.name])">
- <input t-att-id="field.attrs.name" type="text" value=""/>
+ <input t-att-id="field.attrs.name" readonly="true" type="text" value=""/>
</t>
</t>
<t t-if="fields[field.attrs.name].type == 'boolean'">