|
24 | 24 | PressReleaseTranslation,
|
25 | 25 | PressReleaseArticle,
|
26 | 26 | Article,
|
| 27 | + SubjectCategory, |
27 | 28 | )
|
28 | 29 |
|
29 | 30 | from scielomanager.utils import usercontext
|
@@ -160,14 +161,18 @@ class Meta(ApiKeyAuthMeta):
|
160 | 161 | resource_name = 'collections'
|
161 | 162 | allowed_methods = ['get', ]
|
162 | 163 |
|
| 164 | +class SubjectCategoryResource(ModelResource): |
| 165 | + class Meta(ApiKeyAuthMeta): |
| 166 | + queryset = SubjectCategory.objects.all() |
| 167 | + resource_name = 'subjectcategory' |
| 168 | + allowed_methods = ['get', ] |
163 | 169 |
|
164 | 170 | class SponsorResource(ModelResource):
|
165 | 171 | class Meta(ApiKeyAuthMeta):
|
166 | 172 | queryset = Sponsor.objects.all()
|
167 | 173 | resource_name = 'sponsors'
|
168 | 174 | allowed_methods = ['get', ]
|
169 | 175 |
|
170 |
| - |
171 | 176 | class UseLicenseResource(ModelResource):
|
172 | 177 | class Meta(ApiKeyAuthMeta):
|
173 | 178 | queryset = UseLicense.objects.all()
|
@@ -200,6 +205,7 @@ class JournalResource(ModelResource):
|
200 | 205 | collections = fields.ManyToManyField(CollectionResource, 'collections')
|
201 | 206 | issues = fields.OneToManyField(IssueResource, 'issue_set')
|
202 | 207 | sections = fields.OneToManyField(SectionResource, 'section_set')
|
| 208 | + subject_categories = fields.ManyToManyField(SubjectCategoryResource, 'subject_categories', readonly=True) |
203 | 209 | pub_status_history = fields.ListField(readonly=True)
|
204 | 210 | contact = fields.DictField(readonly=True)
|
205 | 211 | study_areas = fields.ListField(readonly=True)
|
@@ -275,6 +281,10 @@ def dehydrate_languages(self, bundle):
|
275 | 281 | return [language.iso_code
|
276 | 282 | for language in bundle.obj.languages.all()]
|
277 | 283 |
|
| 284 | + def dehydrate_subject_categories(self, bundle): |
| 285 | + return [subject_category.term |
| 286 | + for subject_category in bundle.obj.subject_categories.all()] |
| 287 | + |
278 | 288 | def dehydrate_pub_status_history(self, bundle):
|
279 | 289 | return [{'date': event.since,
|
280 | 290 | 'status': event.status}
|
|
0 commit comments