You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
2.0 KiB

5 years ago
  1. odoo.define('galicea_toolset.one2many_flexible_widget', function(require) {
  2. var core = require('web.core');
  3. /*
  4. var view_dialogs = require('web.view_dialogs'),
  5. relational_fields = require('web.relational_fields'),
  6. rpc = require('web.rpc'),
  7. field_registry = require('web.field_registry');*/
  8. var form_relational = require('web.form_relational');
  9. /* var X2ManyList = form_relational.X2ManyList;
  10. var ListView = require('web.ListView');
  11. var FieldOne2Many = field_registry.get('one2many');
  12. var FieldOne2Many = relational_fields.FieldOne2Many;
  13. var FormController = require('web.FormController');
  14. */
  15. /*
  16. ListView.include({
  17. do_activate_record: function (index, id, dataset, view) {
  18. var action = this.ViewManager.action;
  19. if (!action || !action.context || !action.context.open_formview)
  20. return this._super(index, id, dataset, view);
  21. do_action(this, id, action.context);
  22. }
  23. });
  24. var One2ManyListView = core.one2many_view_registry.get('list');
  25. */
  26. var One2ManyFlexibleListView = form_relational.One2ManyListView.extend({
  27. do_activate_record: function(index, id) {
  28. var self = this;
  29. if (!this.x2m.get("effective_readonly")) {
  30. this._super.apply(this, arguments);
  31. return;
  32. }
  33. this.do_action({
  34. 'type': 'ir.actions.act_window',
  35. 'views': [[false, 'form']],
  36. 'res_model': self.x2m.field.relation,
  37. 'res_id': id,
  38. 'target': self.x2m.node.attrs.click_target || 'current',
  39. });
  40. }
  41. });
  42. var FieldOne2Many = core.form_widget_registry.get('one2many');
  43. var FieldOne2ManyFlexible = FieldOne2Many.extend({
  44. init: function() {
  45. this._super.apply(this, arguments);
  46. this.x2many_views = {
  47. kanban: core.view_registry.get('one2many_kanban'),
  48. list: One2ManyFlexibleListView,
  49. };
  50. },
  51. });
  52. core.form_widget_registry.add('one2many_flexible', FieldOne2ManyFlexible);
  53. return {
  54. FieldOne2ManyFlexible: FieldOne2ManyFlexible,
  55. };
  56. });