Skip to content

Indexlot

IndexLotView

Bases: DefaultView

Controller for displaying a specimen record.

Source code in ckanext/nhm/views/indexlot.py
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
class IndexLotView(DefaultView):
    """
    Controller for displaying a specimen record.
    """

    resource_id = toolkit.config.get('ckanext.nhm.indexlot_resource_id')

    field_facets = [
        'family',
        'type',
        'taxonRank',
        'associatedMedia.category',
        'kindOfMaterial',
    ]

    # Additional search filter options
    filter_options = [has_image]

    field_groups = OrderedDict(
        [
            (
                'Classification',
                OrderedDict(
                    [
                        ('currentScientificName', 'Scientific name'),
                        ('scientificNameAuthorship', 'Author'),
                        ('kingdom', 'Kingdom'),
                        ('phylum', 'Phylum'),
                        ('class', 'Class'),
                        ('order', 'Order'),
                        ('family', 'Family'),
                        ('genus', 'Genus'),
                        ('subgenus', 'Subgenus'),
                        ('specificEpithet', 'Species'),
                        ('infraspecificEpithet', 'Subspecies'),
                        ('higherClassification', 'Higher classification'),
                        ('taxonRank', 'Taxon rank'),
                    ]
                ),
            ),
            (
                'Specimen',
                OrderedDict(
                    [
                        ('type', 'Type'),
                        ('media', 'Media'),
                        ('british', 'British'),
                    ]
                ),
            ),
            (
                'Material details',
                OrderedDict(
                    [
                        ('material', 'Material'),
                        ('kindOfMaterial', 'Kind of material'),
                        ('kindOfMedia', 'Kind of media'),
                        ('materialCount', 'Count'),
                        ('materialSex', 'Sex'),
                        ('materialStage', 'Stage'),
                        ('materialTypes', 'Types'),
                        ('materialPrimaryTypeNumber', 'Primary type number'),
                    ]
                ),
            ),
            (
                'Record',
                OrderedDict(
                    [
                        ('GUID', 'GUID'),
                        ('modified', 'Modified'),
                        ('created', 'Created'),
                    ]
                ),
            ),
        ]
    )

    def render_record(self, c):
        """

        :param c:

        """
        c.field_groups = self.field_groups
        return toolkit.render('record/collection.html')

render_record(c)

Parameters:

Name Type Description Default
c
required
Source code in ckanext/nhm/views/indexlot.py
128
129
130
131
132
133
134
135
def render_record(self, c):
    """

    :param c:

    """
    c.field_groups = self.field_groups
    return toolkit.render('record/collection.html')

modify_field_groups(field_groups)

Given a FieldGroups object from the vds plugin, force certain field groups to show in multisearch results and force certain field groups to be ignored and not shown.

Parameters:

Name Type Description Default
field_groups

a FieldGroups object

required
Source code in ckanext/nhm/views/indexlot.py
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
def modify_field_groups(field_groups):
    """
    Given a FieldGroups object from the vds plugin, force certain field groups to show
    in multisearch results and force certain field groups to be ignored and not shown.

    :param field_groups: a FieldGroups object
    """
    # forces
    field_groups.force('scientificName')
    field_groups.force('family')
    field_groups.force('type')
    field_groups.force('taxonRank')
    field_groups.force('associatedMediaCount')
    field_groups.force('kindOfMaterial')
    field_groups.force('kingdom')
    field_groups.force('phylum')
    field_groups.force('class')
    field_groups.force('order')
    field_groups.force('family')
    field_groups.force('genus')
    field_groups.force('specificEpithet')
    field_groups.force('infraspecificEpithet')
    # ignores
    field_groups.ignore('created')
    field_groups.ignore('modified')
    field_groups.ignore('associatedMedia.*')
    field_groups.ignore('suborder')
    field_groups.ignore('superfamily')
    field_groups.ignore('subfamily')
    field_groups.ignore('subgenus')