senaite /
senaite.health
| 1 | # -*- coding: utf-8 -*- |
||
| 2 | # |
||
| 3 | # This file is part of SENAITE.HEALTH. |
||
| 4 | # |
||
| 5 | # SENAITE.HEALTH is free software: you can redistribute it and/or modify it |
||
| 6 | # under the terms of the GNU General Public License as published by the Free |
||
| 7 | # Software Foundation, version 2. |
||
| 8 | # |
||
| 9 | # This program is distributed in the hope that it will be useful, but WITHOUT |
||
| 10 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
||
| 11 | # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more |
||
| 12 | # details. |
||
| 13 | # |
||
| 14 | # You should have received a copy of the GNU General Public License along with |
||
| 15 | # this program; if not, write to the Free Software Foundation, Inc., 51 |
||
| 16 | # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
||
| 17 | # |
||
| 18 | # Copyright 2018-2019 by it's authors. |
||
| 19 | # Some rights reserved, see README and LICENSE. |
||
| 20 | |||
| 21 | from AccessControl import ClassSecurityInfo |
||
| 22 | from Products.ATExtensions.ateapi import RecordsField |
||
| 23 | from DateTime import DateTime |
||
| 24 | from Products.ATExtensions.ateapi import DateTimeField, DateTimeWidget |
||
| 25 | from Products.Archetypes.public import * |
||
| 26 | from Products.CMFCore.permissions import View, ModifyPortalContent |
||
| 27 | from bika.lims import bikaMessageFactory as _b |
||
| 28 | from bika.health import bikaMessageFactory as _ |
||
| 29 | from bika.lims.content.bikaschema import BikaSchema |
||
| 30 | from bika.health.config import PROJECTNAME |
||
| 31 | from bika.lims.browser.widgets import RecordsWidget |
||
| 32 | from zope.interface import implements |
||
| 33 | |||
| 34 | schema = BikaSchema.copy() + Schema(( |
||
|
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
Loading history...
|
|||
| 35 | |||
| 36 | StringField('Category',
|
||
|
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
| 37 | widget = StringWidget( |
||
|
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
| 38 | label = _("Category"),
|
||
| 39 | ) |
||
| 40 | ), |
||
| 41 | |||
| 42 | TextField('Indications',
|
||
|
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
| 43 | default_content_type = 'text/plain', |
||
| 44 | allowable_content_types = ('text/plain',),
|
||
| 45 | default_output_type="text/plain", |
||
| 46 | widget = TextAreaWidget( |
||
|
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
| 47 | label = _("Drug indications",
|
||
| 48 | "Indications"), |
||
| 49 | description = _("Symptoms or the like for which the drug is suitable"),
|
||
| 50 | ), |
||
| 51 | ), |
||
| 52 | |||
| 53 | TextField('Posology',
|
||
| 54 | default_content_type = 'text/plain', |
||
| 55 | allowable_content_types = ('text/plain',),
|
||
| 56 | default_output_type="text/plain", |
||
| 57 | widget = TextAreaWidget( |
||
| 58 | label = _("Drug posology",
|
||
| 59 | "Posology"), |
||
| 60 | description = _("Appropriate doses and dosage"),
|
||
| 61 | ), |
||
| 62 | ), |
||
| 63 | |||
| 64 | TextField('SideEffects',
|
||
| 65 | default_content_type = 'text/plain', |
||
| 66 | allowable_content_types = ('text/plain',),
|
||
| 67 | default_output_type="text/plain", |
||
| 68 | widget = TextAreaWidget( |
||
| 69 | label = _("Drug side effects",
|
||
| 70 | "Side effects"), |
||
| 71 | description = _("Known undesirable effects of the drug"),
|
||
| 72 | ), |
||
| 73 | ), |
||
| 74 | |||
| 75 | TextField('Preservation',
|
||
| 76 | default_content_type = 'text/plain', |
||
| 77 | allowable_content_types = ('text/plain',),
|
||
| 78 | default_output_type="text/plain", |
||
| 79 | widget = TextAreaWidget( |
||
| 80 | label = _("Drug preservation",
|
||
| 81 | "Preservation"), |
||
| 82 | description = _("preservation"),
|
||
| 83 | ), |
||
| 84 | ), |
||
| 85 | |||
| 86 | )) |
||
| 87 | |||
| 88 | schema['description'].widget.visible = True |
||
| 89 | schema['description'].schemata = 'default' |
||
| 90 | |||
| 91 | class Drug(BaseContent): |
||
|
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
| 92 | security = ClassSecurityInfo() |
||
| 93 | displayContentsTab = False |
||
| 94 | schema = schema |
||
|
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
| 95 | |||
| 96 | _at_rename_after_creation = True |
||
| 97 | def _renameAfterCreation(self, check_auto_id=False): |
||
| 98 | from bika.lims.idserver import renameAfterCreation |
||
| 99 | renameAfterCreation(self) |
||
| 100 | |||
| 101 | registerType(Drug, PROJECTNAME) |
||
|
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
| 102 |