summaryrefslogtreecommitdiff
path: root/ishtar_common/wizards.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/wizards.py')
-rw-r--r--ishtar_common/wizards.py98
1 files changed, 49 insertions, 49 deletions
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py
index 9d69577c3..6e282a3fd 100644
--- a/ishtar_common/wizards.py
+++ b/ishtar_common/wizards.py
@@ -409,8 +409,8 @@ class Wizard(IshtarWizard):
values = []
if type(value) in (tuple, list):
values = value
- elif "," in unicode(value):
- values = unicode(
+ elif "," in str(value):
+ values = str(
value).strip('[').strip(']').split(",")
else:
values = [value]
@@ -418,9 +418,9 @@ class Wizard(IshtarWizard):
for val in values:
item = associated_models[key].objects.get(pk=val)
if hasattr(item, 'short_label'):
- value = unicode(item.short_label)
+ value = str(item.short_label)
else:
- value = unicode(item)
+ value = str(item)
rendered_values.append(value)
value = u" ; ".join(rendered_values)
current_form_data.append((lbl, value, ''))
@@ -433,7 +433,7 @@ class Wizard(IshtarWizard):
if lbl.strip():
displayed_value = u"<strong>{}{}</strong> ".format(
lbl, _(u":"))
- displayed_value += unicode(value)
+ displayed_value += str(value)
displayed_values.append(displayed_value)
value = u" ; ".join(displayed_values)
if is_deleted:
@@ -485,7 +485,7 @@ class Wizard(IshtarWizard):
assert hasattr(frm, 'base_model') or \
hasattr(frm, 'base_models'), \
u"Must define a base_model(s) for " + \
- unicode(frm.__class__)
+ str(frm.__class__)
for frm in form.forms:
if not frm.is_valid():
continue
@@ -525,8 +525,7 @@ class Wizard(IshtarWizard):
if key in associated_models:
if value:
model = associated_models[key]
- if isinstance(value, unicode) \
- or isinstance(value, str) and "," in value:
+ if isinstance(value, str) and "," in value:
value = value.split(",")
if isinstance(value, list) \
or isinstance(value, tuple):
@@ -572,7 +571,7 @@ class Wizard(IshtarWizard):
# manage dependant items and json fields
other_objs = {}
- for k in dct.keys():
+ for k in list(dct.keys()):
if '__' not in k:
continue
# manage json field
@@ -628,7 +627,7 @@ class Wizard(IshtarWizard):
try:
obj.full_clean()
except ValidationError as e:
- logger.warning(unicode(e))
+ logger.warning(str(e))
return self.render(form_list[-1])
for dependant_item in other_objs:
c_item = getattr(obj, dependant_item)
@@ -658,7 +657,7 @@ class Wizard(IshtarWizard):
adds = {}
# manage attributes relations
if hasattr(self.model, 'ATTRS_EQUIV'):
- for k in other_objs.keys():
+ for k in list(other_objs.keys()):
if k in self.model.ATTRS_EQUIV:
new_k = self.model.ATTRS_EQUIV[k]
if new_k in other_objs:
@@ -705,7 +704,7 @@ class Wizard(IshtarWizard):
try:
obj.full_clean()
except ValidationError as e:
- logger.warning(unicode(e))
+ logger.warning(str(e))
return self.render(form_list[-1])
if hasattr(obj, 'data'):
obj.data = data
@@ -784,7 +783,7 @@ class Wizard(IshtarWizard):
if not hasattr(related_model, 'clear'):
assert hasattr(model, 'MAIN_ATTR'), \
u"Must define a MAIN_ATTR for " + \
- unicode(model.__class__)
+ str(model.__class__)
value[getattr(model, 'MAIN_ATTR')] = obj
# check old links
@@ -839,7 +838,7 @@ class Wizard(IshtarWizard):
value['data'] = {}
# remove intermediary model keys
- for k in related_data.keys():
+ for k in list(related_data.keys()):
if k in value:
related_data[k] = value.pop(k)
@@ -890,7 +889,7 @@ class Wizard(IshtarWizard):
field.related_model):
related_data[field.name] = obj
# let default value if is none
- for k in related_data.keys():
+ for k in list(related_data.keys()):
if related_data[k] is None:
related_data.pop(k)
related_model.through.objects.create(
@@ -925,12 +924,12 @@ class Wizard(IshtarWizard):
and ishtaruser.current_profile.auto_pin:
# make the new object a default
if self.current_obj_slug:
- self.request.session[self.current_obj_slug] = unicode(obj.pk)
- self.request.session[self.get_object_name(obj)] = unicode(obj.pk)
+ self.request.session[self.current_obj_slug] = str(obj.pk)
+ self.request.session[self.get_object_name(obj)] = str(obj.pk)
dct = {'item': obj}
self.current_object = obj
# force evaluation of lazy urls
- wizard_done_window = unicode(self.wizard_done_window)
+ wizard_done_window = str(self.wizard_done_window)
if wizard_done_window:
dct['wizard_done_window'] = wizard_done_window
res = render(self.request, self.wizard_done_template, dct)
@@ -970,10 +969,11 @@ class Wizard(IshtarWizard):
raise Http404()
if hasattr(form, 'management_form'):
# manage deletion
- to_delete, not_to_delete = self.get_deleted(data.keys())
+ to_delete, not_to_delete = self.get_deleted(
+ list(data.keys()))
# raz deleted fields
if self.formset_pop_deleted:
- for key in data.keys():
+ for key in list(data.keys()):
items = key.split('-')
if len(items) < 2 or items[-2] not in to_delete:
continue
@@ -982,13 +982,13 @@ class Wizard(IshtarWizard):
# reorganize
for idx, number in enumerate(
sorted(not_to_delete, key=lambda x: int(x))):
- idx = unicode(idx)
+ idx = str(idx)
if idx == number:
continue
- for key in data.keys():
+ for key in list(data.keys()):
items = key.split('-')
if len(items) > 2 and number == items[-2]:
- items[-2] = unicode(idx)
+ items[-2] = str(idx)
k = u'-'.join(items)
data[k] = data.pop(key)[0]
# get a form key
@@ -1006,7 +1006,7 @@ class Wizard(IshtarWizard):
if required_fields:
base_key = required_fields[-1]
elif frm.fields.keys():
- base_key = frm.fields.keys()[-1]
+ base_key = list(frm.fields.keys())[-1]
if base_key:
total_field = len([key for key in data.keys()
if base_key in key.split('-')
@@ -1016,15 +1016,15 @@ class Wizard(IshtarWizard):
not hasattr(self, 'form_initialized') or
not self.form_initialized):
total_field = max((total_field, len(init)))
- data[step + u'-INITIAL_FORMS'] = unicode(total_field)
- data[step + u'-TOTAL_FORMS'] = unicode(total_field + 1)
+ data[step + u'-INITIAL_FORMS'] = str(total_field)
+ data[step + u'-TOTAL_FORMS'] = str(total_field + 1)
# TODO:remove form_initialized?
# update initialization
# if request.POST and init and hasattr(self,
# 'form_initialized') \
# and self.form_initialized:
# for k in init[0]:
- # data[step + '-' + unicode(total_field) + '-' + k] = \
+ # data[step + '-' + str(total_field) + '-' + k] = \
# init[0][k]
data = data or None
@@ -1041,7 +1041,7 @@ class Wizard(IshtarWizard):
frm = form.forms[0]
if frm:
# autofocus on first field
- first_field = frm.fields[frm.fields.keys()[0]]
+ first_field = frm.fields[list(frm.fields.keys())[0]]
attrs = first_field.widget.attrs
attrs.update({'autofocus': "autofocus"})
first_field.widget.attrs = attrs
@@ -1050,10 +1050,10 @@ class Wizard(IshtarWizard):
if self.filter_owns_items and self.filter_owns \
and step in self.filter_owns:
for key in self.filter_owns[step]:
- frm.fields[key].widget.source = unicode(
+ frm.fields[key].widget.source = str(
frm.fields[key].widget.source) + "own/"
if frm.fields[key].widget.source_full is not None:
- frm.fields[key].widget.source_full = unicode(
+ frm.fields[key].widget.source_full = str(
frm.fields[key].widget.source_full) + "own/"
return form
@@ -1289,7 +1289,7 @@ class Wizard(IshtarWizard):
if base_model:
key = base_model + 's'
initial.setlist(base_field, [
- unicode(val.pk) for val in getattr(value, key).all()])
+ str(val.pk) for val in getattr(value, key).all()])
else:
fields = base_field.split('__')
for field in fields:
@@ -1304,7 +1304,7 @@ class Wizard(IshtarWizard):
if not value.count():
continue
initial.setlist(base_field,
- [unicode(v.pk) for v in value.all()])
+ [str(v.pk) for v in value.all()])
continue
if value == obj:
continue
@@ -1315,7 +1315,7 @@ class Wizard(IshtarWizard):
or isinstance(value, FileField):
initial[base_field] = value
elif value is not None:
- initial[base_field] = unicode(value)
+ initial[base_field] = str(value)
return initial
@staticmethod
@@ -1326,16 +1326,16 @@ class Wizard(IshtarWizard):
value = value.pk
elif hasattr(value, 'all'):
vals.setlist(field, [
- unicode(v.pk)
+ str(v.pk)
for v in getattr(child_obj, field).all()
])
return vals
if value is not None:
- vals[field] = unicode(value)
+ vals[field] = str(value)
elif hasattr(child_obj, field + "s"):
# M2M
vals.setlist(field, [
- unicode(v.pk)
+ str(v.pk)
for v in getattr(child_obj, field + "s").all()
])
return vals
@@ -1351,7 +1351,7 @@ class Wizard(IshtarWizard):
key = current_step.split('-')[0]
if not hasattr(obj, key):
return initial
- keys = c_form.form.base_fields.keys()
+ keys = list(c_form.form.base_fields.keys())
related = getattr(obj, key)
# manage through
through = False
@@ -1385,7 +1385,7 @@ class Wizard(IshtarWizard):
vals = MultiValueDict()
if len(keys) == 1:
# only one field: must be the id of the object
- vals[keys[0]] = unicode(child_obj.pk)
+ vals[keys[0]] = str(child_obj.pk)
else:
for field in keys:
vals = self._get_vals_for_instanced_init_for_formset(
@@ -1410,7 +1410,7 @@ class Wizard(IshtarWizard):
if ishtaruser and ishtaruser.current_profile \
and ishtaruser.current_profile.auto_pin:
# make the current object the default item for the session
- self.request.session[self.get_object_name(obj)] = unicode(obj.pk)
+ self.request.session[self.get_object_name(obj)] = str(obj.pk)
initial = MultiValueDict()
# posted data or already in session
@@ -1523,11 +1523,11 @@ class DeletionWizard(Wizard):
if hasattr(value, 'all'):
if not label and hasattr(field, 'related_model'):
label = field.related_model._meta.verbose_name_plural
- value = ", ".join([unicode(item) for item in value.all()])
+ value = ", ".join([str(item) for item in value.all()])
if not value:
continue
else:
- value = unicode(value)
+ value = str(value)
res[field.name] = (label, value, '')
if not datas and self.fields:
datas = [['', []]]
@@ -1574,11 +1574,11 @@ class ClosingWizard(Wizard):
if not value:
continue
if hasattr(value, 'all'):
- value = ", ".join([unicode(item) for item in value.all()])
+ value = ", ".join([str(item) for item in value.all()])
if not value:
continue
else:
- value = unicode(value)
+ value = str(value)
res[field.name] = (field.verbose_name, value, '')
if not datas and self.fields:
datas = [['', []]]
@@ -1680,7 +1680,7 @@ class AccountWizard(Wizard):
if not person:
return self.render(form_dict['selec-account_management'])
- for key in dct.keys():
+ for key in list(dct.keys()):
if key.startswith('hidden_password'):
dct['password'] = dct.pop(key)
try:
@@ -1777,7 +1777,7 @@ class AccountWizard(Wizard):
[dct['email']], fail_silently=True)
res = render(
self.request, self.wizard_done_template,
- {'wizard_done_window': unicode(self.wizard_done_window),
+ {'wizard_done_window': str(self.wizard_done_window),
'item': person},
)
return res
@@ -1812,9 +1812,9 @@ class SourceWizard(Wizard):
class DocumentDeletionWizard(DeletionWizard):
- model = models.Document
- fields = [f.name for f in model._meta.get_fields()
- if f.name != 'id' and f.name not in model.RELATED_MODELS] + \
- model.RELATED_MODELS
+ fields = [
+ f.name for f in models.Document._meta.get_fields()
+ if f.name != 'id' and f.name not in models.Document.RELATED_MODELS]
+ fields += models.Document.RELATED_MODELS
filter_owns = {'selec-document_deletion': ['pk']}