On Friday, June 19, 2015 at 4:30:03 AM UTC-3, Cédric Krier wrote:
>
> On 2015-06-18 13:09, Mariano Ramon wrote:
> >
> > >
> > >
> > >
> > > Don't know which version you are using but it is already implemented
> by
> > > https://bugs.tryton.org/issue4006
> > >
> > >
> >
> > I have 3.2.2, not possible to change at the moment, but I applied the
> > changes manually and worked like charm (Thanks!) except for the
> many2many
> > that are implemented using opposites one2many. how can I "forward" the
> > search term for it to appear in the new search windows?
> > Is those cases that when you click a new empty records appears ready to
> > edit without using a form view
>
> I don't understand the patch also change the Many2Many widget.
extracted verbatim from the gnuhealth libraries:
when implemented like this when you add a new "specialty" it appears
directly on the embedded list of related entities, where you can search for
existing ones in a similar fashion (shows the list, plus Search and Create)
But clicking in search doesn't include the term on the new window.
class HealthInstitutionO2M(ModelSQL, ModelView):
'Health Institution'
__name__ = 'gnuhealth.institution'
# Add Specialties to the Health Institution
specialties = fields.One2Many('gnuhealth.institution.specialties',
'name','Specialties',
help="Specialties Provided in this Health Institution")
main_specialty = fields.Many2One('gnuhealth.institution.specialties',
'Specialty',
domain=[('name', '=', Eval('active_id'))], depends=['specialties'],
help="Choose the speciality in the case of Specialized Hospitals" \
" or where this center excels",
states={'required': And(Eval('institution_type') == 'specialized',
Bool(Eval('specialties'))),
'readonly': Not(Bool(Eval('name')))})
# Add Specialties to the Health Institution
operational_sectors =
fields.One2Many('gnuhealth.institution.operationalsector',
'name','Operational Sector',
help="Operational Sectors covered by this institution")
class HealthInstitutionSpecialties(ModelSQL, ModelView):
'Health Institution Specialties'
__name__ = 'gnuhealth.institution.specialties'
name = fields.Many2One('gnuhealth.institution', 'Institution')
specialty = fields.Many2One('gnuhealth.specialty', 'Specialty')
def get_rec_name(self, name):
if self.name:
return self.specialty.name
class MedicalSpecialty(ModelSQL, ModelView):
'Medical Specialty'
__name__ = 'gnuhealth.specialty'
name = fields.Char(
'Specialty', required=True, translate=True,
help='ie, Addiction Psychiatry')
code = fields.Char('Code', required=True,
help='ie, ADP. Please use CAPITAL LETTERS and no spaces')
@classmethod
def __setup__(cls):
cls._sql_constraints = [
('name_uniq', 'UNIQUE(name)', 'The Specialty must be unique !'),
('code_uniq', 'UNIQUE(code)', 'The CODE must be unique !'),
]
super(MedicalSpecialty, cls).__setup__()