125 |
125 |
title = models.CharField(max_length=50, verbose_name=_('Title'))
|
126 |
126 |
slug = models.SlugField(verbose_name=_('Identifier'), unique=True)
|
127 |
127 |
description = models.TextField(verbose_name=_('Description'))
|
128 |
128 |
users = models.ManyToManyField(ApiUser, blank=True, related_name='+', related_query_name='+')
|
129 |
129 |
objects = InheritanceManager()
|
130 |
130 |
|
131 |
131 |
parameters = None
|
132 |
132 |
manager_view_template_name = None
|
133 |
|
manager_form_base_class = GenericConnectorForm
|
134 |
133 |
|
135 |
134 |
# permission descriptions
|
136 |
135 |
_can_access_description = _('Access is limited to the following API users:')
|
137 |
136 |
|
138 |
137 |
# category ordering for display
|
139 |
138 |
_category_ordering = []
|
140 |
139 |
|
141 |
140 |
class Meta:
|
... | ... | |
157 |
156 |
return True
|
158 |
157 |
restricted = self.users.all()
|
159 |
158 |
return not restricted or request.apiuser in restricted
|
160 |
159 |
|
161 |
160 |
@classmethod
|
162 |
161 |
def is_enabled(cls):
|
163 |
162 |
return getattr(settings, 'PASSERELLE_APP_%s_ENABLED' % cls._meta.app_label.upper(), True)
|
164 |
163 |
|
|
164 |
@classmethod
|
|
165 |
def get_manager_form_base_class(cls):
|
|
166 |
return GenericConnectorForm
|
|
167 |
|
165 |
168 |
@classmethod
|
166 |
169 |
def get_manager_form_class(cls, **kwargs):
|
167 |
170 |
'''
|
168 |
171 |
Return the class to use for new/edit connector forms.
|
169 |
172 |
'''
|
170 |
173 |
form_class = modelform_factory(
|
171 |
174 |
cls,
|
172 |
|
form=cls.manager_form_base_class,
|
|
175 |
form=cls.get_manager_form_base_class(),
|
173 |
176 |
**kwargs)
|
174 |
177 |
for field in form_class.base_fields.values():
|
175 |
178 |
if isinstance(field.widget, ClearableFileInput):
|
176 |
179 |
field.widget.template_with_initial = ''\
|
177 |
180 |
'%(initial_text)s: %(initial)s '\
|
178 |
181 |
'%(clear_template)s<br />%(input_text)s: %(input)s'
|
179 |
182 |
return form_class
|
180 |
183 |
|
181 |
|
-
|