diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index 23ec289517a..643ec1e8c48 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -1331,11 +1331,17 @@ class Import(View): import StringIO _fields = {} _fields_invert = {} + req_field = [] error = None all_fields = [] fields = dict(req.session.model(params.get('model')).fields_get(False, req.session.eval_context(req.context))) fields.update({'id': {'string': 'ID'}, '.id': {'string': 'Database ID'}}) + for field in fields: + value = fields[field] + if (value.get('required',False) == True): + req_field.append(field) + def model_populate(fields, prefix_node='', prefix=None, prefix_value='', level=2): def str_comp(x,y): if x -1){ $(this).css('background-color','#FF6666'); - $("#message").append("Selected column should not be same."); + $("#message").append("*Selected column should not be same."); $(".ui-button-text:contains('Import File')").parent().attr("disabled",true); }else{ $(this).css('background-color',''); } }); }, + do_check_req_field: function(req_fld){ + if (req_fld.length){ + var sel_fields =[]; + var required_fields = []; + $("td #sel_field option:selected").each(function(){ + sel_fields.push($(this).val()); + }); + _.each(req_fld,function(fld){ + if ($.inArray(fld,sel_fields) <= -1){ + required_fields.push(fld); + } + }); + if (required_fields.length){ + $("#message").append("*Required Fields are not selected which is "+required_fields+". "); + $(".ui-button-text:contains('Import File')").parent().attr("disabled",true); + } + } + }, stop: function() { $(this.$dialog).remove(); this._super();