0001-misc-ellipsize-field-labels-used-in-snapshot-descrip.patch
tests/test_snapshots.py | ||
---|---|---|
175 | 175 |
resp = resp.forms[0].submit().follow() |
176 | 176 |
assert pub.snapshot_class.select(order_by='-timestamp')[0].comment == 'New field "foobar"' |
177 | 177 | |
178 |
resp.forms[0]['label'] = 'foo' * 30 |
|
179 |
resp.forms[0]['type'] = 'string' |
|
180 |
resp = resp.forms[0].submit().follow() |
|
181 |
assert ( |
|
182 |
pub.snapshot_class.select(order_by='-timestamp')[0].comment |
|
183 |
== 'New field "foofoofoofoofoofoofoofoofoo(…)"' |
|
184 |
) |
|
185 | ||
178 | 186 | |
179 | 187 |
def test_form_snapshot_history(pub, formdef_with_history): |
180 | 188 |
create_superuser(pub) |
wcs/admin/fields.py | ||
---|---|---|
113 | 113 |
if not widget: |
114 | 114 |
continue |
115 | 115 |
setattr(self.field, f.replace('-', '_'), widget.parse()) |
116 |
self.objectdef.store(comment=_('Modification of field "%s"') % self.field.unhtmled_label)
|
|
116 |
self.objectdef.store(comment=_('Modification of field "%s"') % self.field.ellipsized_label)
|
|
117 | 117 | |
118 | 118 |
def get_deletion_extra_warning(self): |
119 | 119 |
return _('Warning: this field data will be permanently deleted.') |
... | ... | |
174 | 174 |
del self.objectdef.fields[index] |
175 | 175 |
# delete current field |
176 | 176 |
del self.objectdef.fields[current_field_index] |
177 |
self.objectdef.store(comment=_('Deletion of field "%s"') % self.field.unhtmled_label)
|
|
177 |
self.objectdef.store(comment=_('Deletion of field "%s"') % self.field.ellipsized_label)
|
|
178 | 178 |
# redirect to the field that was above this one |
179 | 179 |
if self.objectdef.fields: |
180 | 180 |
if current_field_index == 0: |
... | ... | |
553 | 553 |
label=label, type=field_type, id=self.objectdef.get_new_field_id() |
554 | 554 |
) |
555 | 555 |
self.objectdef.fields.insert(insertion_point, field) |
556 |
self.objectdef.store(comment=_('New field "%s"') % field.unhtmled_label)
|
|
556 |
self.objectdef.store(comment=_('New field "%s"') % field.ellipsized_label)
|
|
557 | 557 |
elif form.get_widget('form') and form.get_widget('form').parse(): |
558 | 558 |
formdef = FormDef.get(form.get_widget('form').parse()) |
559 | 559 |
for j, field in enumerate(formdef.fields): |
wcs/fields.py | ||
---|---|---|
286 | 286 |
def unhtmled_label(self): |
287 | 287 |
return force_str(html.unescape(force_text(re.sub('<.*?>', ' ', self.label or ''))).strip()) |
288 | 288 | |
289 |
@property |
|
290 |
def ellipsized_label(self): |
|
291 |
return ellipsize(self.unhtmled_label) |
|
292 | ||
289 | 293 |
def get_admin_attributes(self): |
290 | 294 |
return ['label', 'type', 'condition'] |
291 | 295 | |
292 |
- |