Exemple #1
0
    def get_context_data(self, *args, **kwargs):
        collection_provider = self.get_object()
        collection_provider_attributes = model_to_dict(collection_provider)
        collection_provider_attributes[
            'default_license'] = collection_provider.default_license.name if collection_provider.default_license else None
        kwargs['collection_provider'] = collection_provider_attributes
        kwargs['import_form'] = ImportFileForm()

        # compile html list of licenses_acceptable so we can render them as a list
        licenses_acceptable = list(
            collection_provider.licenses_acceptable.values_list('name',
                                                                flat=True))
        licenses_html = '<ul>'
        for license in licenses_acceptable:
            licenses_html += '<li>{}</li>'.format(license)
        licenses_html += '</ul>'
        collection_provider_attributes['licenses_acceptable'] = licenses_html

        # compile html list of collected_type_choices
        collected_type_choices_html = '<ul>'
        for choice in collection_provider.primary_collection.collected_type_choices:
            collected_type_choices_html += '<li>{}</li>'.format(choice)
        collected_type_choices_html += '</ul>'
        kwargs['collected_type_choices'] = collected_type_choices_html

        # compile html list of status_choices
        status_choices_html = '<ul>'
        for choice in collection_provider.primary_collection.status_choices:
            status_choices_html += '<li>{}</li>'.format(choice)
        status_choices_html += '</ul>'
        kwargs['status_choices'] = status_choices_html

        # get a dict of model fields so that we can set the initial value for the update form
        fields = model_to_dict(collection_provider)
        fields['collected_type_choices'] = json.dumps(
            collection_provider.primary_collection.collected_type_choices)
        fields['status_choices'] = json.dumps(
            collection_provider.primary_collection.status_choices)
        kwargs['form'] = CollectionProviderForm(initial=fields)

        # set api key for tinymce
        kwargs['tinymce_apikey'] = settings.TINYMCE_APIKEY

        return kwargs
Exemple #2
0
 def view(self, req, provider):
     plain_view = views.CreateCollectionProvider()
     view = setup_form_view(plain_view, req, form=CollectionProviderForm())
     view.kwargs = {'collection_provider_id': provider.id}
     return view