0001-backoffice-show-attachments-varnames-in-inspect-view.patch
wcs/backoffice/management.py | ||
---|---|---|
2395 | 2395 |
v = repr(v) |
2396 | 2396 |
return v |
2397 | 2397 | |
2398 |
def htmltext_label_and_value(label, value): |
|
2399 |
r = htmltext('<li><code title="%s">%s</code>') % (label, label) |
|
2400 |
r += htmltext(' <div class="value"><span>%s</span>') % ellipsize(safe(value), 10000) |
|
2401 |
if not isinstance(value, basestring): |
|
2402 |
r += htmltext(' <span class="type">(%r)</span>') % type(value) |
|
2403 |
r += htmltext('</div></li>') |
|
2404 |
return r |
|
2405 | ||
2398 | 2406 |
backward_compatibility_varnames = re.compile('^(attachments|form_field_.*|' |
2399 | 2407 |
'form_f[0-9]+|form_fbo[0-9]+|form_user_f[0-9]+|' |
2400 | 2408 |
'form_f[a-f0-9]{8}-.*|' |
... | ... | |
2402 | 2410 |
'form_user_f[a-f0-9]{8}-.*|' |
2403 | 2411 |
'form_user_field_.*|form_user_f_.*)$') |
2404 | 2412 |
for k, v in sorted(substvars.items()): |
2413 |
if k == 'form_attachments' and v: |
|
2414 |
for name in sorted(dir(v)): |
|
2415 |
label = safe('form_attachments.%s' % name) |
|
2416 |
value = getattr(v, name, None) |
|
2417 |
r += htmltext_label_and_value(label, value) |
|
2418 |
continue |
|
2419 | ||
2405 | 2420 |
if backward_compatibility_varnames.search(k): |
2406 | 2421 |
continue |
2407 | 2422 | |
2408 | 2423 |
k = safe(k) |
2409 |
r += htmltext('<li><code title="%s">%s</code>') % (k, k) |
|
2410 |
r += htmltext(' <div class="value"><span>%s</span>') % ellipsize(safe(v), 10000) |
|
2411 |
if not isinstance(v, basestring): |
|
2412 |
r += htmltext(' <span class="type">(%r)</span>') % type(v) |
|
2413 |
r += htmltext('</div></li>') |
|
2424 |
r += htmltext_label_and_value(k, v) |
|
2414 | 2425 |
r += htmltext('</div>') |
2415 | 2426 | |
2416 | 2427 |
# assigned functions |
wcs/workflows.py | ||
---|---|---|
98 | 98 |
self.formdata = formdata |
99 | 99 |
self.attachment_evolution_part = attachment_evolution_part |
100 | 100 | |
101 |
def __repr__(self): |
|
102 |
return '<%s %s (%s)>' % (self.__class__.__name__, self.filename, self.content_type) |
|
103 | ||
101 | 104 |
@property |
102 | 105 |
def filename(self): |
103 | 106 |
return self.attachment_evolution_part.orig_filename |
... | ... | |
147 | 150 |
attachment = self.get_attachments()[i] |
148 | 151 |
return AttachmentSubstitutionProxy(self.formdata, attachment) |
149 | 152 | |
153 |
def __repr__(self): |
|
154 |
return repr(self[0]) |
|
155 | ||
150 | 156 | |
151 | 157 |
class AttachmentsSubstitutionProxy(object): |
152 | 158 |
def __init__(self, formdata): |
... | ... | |
159 | 165 |
return NamedAttachmentsSubstitutionProxy(self.formdata, name) |
160 | 166 |
raise AttributeError(name) |
161 | 167 | |
168 |
def __dir__(self): |
|
169 |
varnames = set() |
|
170 |
for evo in self.formdata.evolution or []: |
|
171 |
for part in evo.parts or []: |
|
172 |
if getattr(part, 'varname', None): |
|
173 |
varnames.add(part.varname) |
|
174 |
return list(varnames) |
|
175 | ||
162 | 176 | |
163 | 177 |
class AttachmentEvolutionPart: #pylint: disable=C1001 |
164 | 178 |
orig_filename = None |
165 |
- |