summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_files/forms.py6
-rw-r--r--archaeological_files_pdl/forms.py22
-rw-r--r--example_project/settings.py6
-rw-r--r--ishtar_common/forms.py23
-rw-r--r--ishtar_common/models.py13
-rw-r--r--ishtar_common/widgets.py1
6 files changed, 42 insertions, 29 deletions
diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py
index 04badfc10..42a645171 100644
--- a/archaeological_files/forms.py
+++ b/archaeological_files/forms.py
@@ -28,9 +28,9 @@ from django.core import validators
from django.utils.translation import ugettext_lazy as _
from django.utils.safestring import mark_safe
-from ishtar_common.models import Person, PersonType, Organization, \
- OrganizationType, valid_id, Department, person_type_pks_lazy, \
- person_type_pk_lazy, organization_type_pk_lazy, organization_type_pks_lazy
+from ishtar_common.models import Person, Organization, \
+ valid_id, Department, person_type_pks_lazy, \
+ person_type_pk_lazy, organization_type_pks_lazy
from archaeological_operations.models import ActType, AdministrativeAct, \
OperationType
import models
diff --git a/archaeological_files_pdl/forms.py b/archaeological_files_pdl/forms.py
index 5c92f689a..cf241aa18 100644
--- a/archaeological_files_pdl/forms.py
+++ b/archaeological_files_pdl/forms.py
@@ -26,7 +26,7 @@ from django.utils.translation import ugettext_lazy as _
from ishtar_common.models import Person, Town, Department, valid_id, \
person_type_pk_lazy, person_type_pks_lazy, organization_type_pks_lazy, \
- organization_type_pk_lazy, organization_type_lazy, person_type_lazy
+ organization_type_pk_lazy
from archaeological_files import models
from ishtar_common.forms import get_now, reverse_lazy, ManageOldType
@@ -132,10 +132,10 @@ class FileFormResearchAddress(forms.Form):
class PersonOrgaForm(forms.Form):
PERSON_FIELD = 'TO BE DEFINED'
- PERSON_TYPE = person_type_lazy('general_contractor')
+ PERSON_TYPE_PK = person_type_pk_lazy('general_contractor')
PERSON_LABEL = ""
ORGA_FIELD = 'TO BE DEFINED'
- ORGA_TYPE = organization_type_lazy('general_contractor')
+ ORGA_TYPE_PK = organization_type_pk_lazy('general_contractor')
ORGA_LABEL = ""
def _media(self):
@@ -202,10 +202,10 @@ class PersonOrgaForm(forms.Form):
initial=initial.get(self.PERSON_FIELD, None),
widget=widgets.JQueryPersonOrganization(
reverse_lazy('autocomplete-person',
- args=[self.PERSON_TYPE.pk]),
+ args=[self.PERSON_TYPE_PK]),
reverse_lazy('person_create'),
model=Person,
- limit={'person_types': [self.PERSON_TYPE.pk],
+ limit={'person_types': [self.PERSON_TYPE_PK],
'attached_to__isnull': True},
js_template='ishtar/blocks/JQueryNaturalPerson.js',
new=True),
@@ -217,10 +217,10 @@ class PersonOrgaForm(forms.Form):
initial=initial.get(self.ORGA_FIELD, None),
widget=widgets.JQueryPersonOrganization(
reverse_lazy('autocomplete-organization',
- args=[self.ORGA_TYPE.pk]),
+ args=[self.ORGA_TYPE_PK]),
reverse_lazy('organization_create'),
model=models.Organization,
- limit={'organization_type': [self.ORGA_TYPE.pk]},
+ limit={'organization_type': [self.ORGA_TYPE_PK]},
js_template='ishtar/blocks/JQueryCorporationPerson.js',
new=True),
validators=[valid_id(models.Organization)])
@@ -267,10 +267,10 @@ class FileFormGeneralContractor(PersonOrgaForm):
)
PERSON_FIELD = 'general_contractor'
- PERSON_TYPE = person_type_lazy('general_contractor')
+ PERSON_TYPE_PK = person_type_pk_lazy('general_contractor')
PERSON_LABEL = _(u"General contractor")
ORGA_FIELD = 'corporation_general_contractor'
- ORGA_TYPE = organization_type_lazy('general_contractor')
+ ORGA_TYPE_PK = organization_type_pk_lazy('general_contractor')
ORGA_LABEL = _(u"General contractor")
def __init__(self, *args, **kwargs):
@@ -331,10 +331,10 @@ class FileFormGeneralContractor(PersonOrgaForm):
initial=initial.get(self.PERSON_FIELD, None),
widget=widgets.JQueryPersonOrganization(
reverse_lazy('autocomplete-person',
- args=[self.PERSON_TYPE.pk]),
+ args=[self.PERSON_TYPE_PK]),
reverse_lazy('person_create'),
model=Person,
- limit={'person_types': [self.PERSON_TYPE.pk],
+ limit={'person_types': [self.PERSON_TYPE_PK],
'attached_to__isnull': True},
js_template='ishtar/blocks/JQueryNaturalPerson.js',
new=True),
diff --git a/example_project/settings.py b/example_project/settings.py
index 26119451a..ef52d932a 100644
--- a/example_project/settings.py
+++ b/example_project/settings.py
@@ -237,9 +237,9 @@ except ImportError, e:
if 'test' in sys.argv:
SOUTH_TESTS_MIGRATE = False
-if USE_SPATIALITE_FOR_TESTS:
- DATABASES['default']['ENGINE'] = \
- 'django.contrib.gis.db.backends.spatialite'
+ if USE_SPATIALITE_FOR_TESTS:
+ DATABASES['default']['ENGINE'] = \
+ 'django.contrib.gis.db.backends.spatialite'
PROJECT_SLUG = locals().get('PROJECT_SLUG', 'default')
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py
index b0e8cb43c..043b03f61 100644
--- a/ishtar_common/forms.py
+++ b/ishtar_common/forms.py
@@ -31,6 +31,10 @@ from django.utils import formats
from django.utils.functional import lazy
from django.utils.translation import ugettext_lazy as _
+import models
+import widgets
+
+
# from formwizard.forms import NamedUrlSessionFormWizard
@@ -44,10 +48,23 @@ class NamedUrlSessionFormWizard(forms.Form):
def rindex(self, idx):
return self.url_name.rindex(idx)
-import models
-import widgets
-reverse_lazy = lazy(reverse, unicode)
+def my_reverse(*args, **kwargs):
+ """
+ Custom reverse method in order to evaluate lazy args
+ """
+ if 'args' in kwargs:
+ my_args = []
+ for arg in kwargs['args']:
+ if callable(arg):
+ my_args.append(unicode(arg()))
+ else:
+ my_args.append(unicode(arg))
+ kwargs['args'] = my_args
+ return reverse(*args, **kwargs)
+
+
+reverse_lazy = lazy(my_reverse, unicode)
regexp_name = re.compile(r"^[,:/\w\-'\"() \&\[\]@]+$", re.UNICODE)
name_validator = validators.RegexValidator(
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 814387bb4..c0888ec06 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -67,7 +67,6 @@ from ishtar_common.data_importer import Importer, ImportFormater, \
def post_save_user(sender, **kwargs):
user = kwargs['instance']
- ishtaruser = None
try:
q = IshtarUser.objects.filter(username=user.username)
if not q.count():
@@ -360,9 +359,9 @@ class GeneralType(Cached, models.Model):
:param slug: textual id
- :return: the id of the item
+ :return: id of the item (string)
"""
- return cls.get_or_create(slug).pk
+ return unicode(cls.get_or_create(slug).pk)
@classmethod
def get_or_create_pks(cls, slugs):
@@ -377,7 +376,7 @@ class GeneralType(Cached, models.Model):
items = []
for slug in slugs:
items.append(str(cls.get_or_create(slug).pk))
- return "_".join(items)
+ return u"_".join(items)
@classmethod
def get_help(cls, dct={}, exclude=[]):
@@ -1580,8 +1579,7 @@ class OrganizationType(GeneralType):
post_save.connect(post_save_cache, sender=OrganizationType)
post_delete.connect(post_save_cache, sender=OrganizationType)
-organization_type_lazy = lazy(OrganizationType.get_or_create, OrganizationType)
-organization_type_pk_lazy = lazy(OrganizationType.get_or_create_pk, int)
+organization_type_pk_lazy = lazy(OrganizationType.get_or_create_pk, unicode)
organization_type_pks_lazy = lazy(OrganizationType.get_or_create_pks, unicode)
IMPORTER_CLASSES = {}
@@ -2374,8 +2372,7 @@ class PersonType(GeneralType):
post_save.connect(post_save_cache, sender=PersonType)
post_delete.connect(post_save_cache, sender=PersonType)
-person_type_lazy = lazy(PersonType.get_or_create_pk, PersonType)
-person_type_pk_lazy = lazy(PersonType.get_or_create_pk, int)
+person_type_pk_lazy = lazy(PersonType.get_or_create_pk, unicode)
person_type_pks_lazy = lazy(PersonType.get_or_create_pks, unicode)
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py
index d3a2c975e..1183836bc 100644
--- a/ishtar_common/widgets.py
+++ b/ishtar_common/widgets.py
@@ -431,7 +431,6 @@ class JQueryPersonOrganization(forms.TextInput):
@classmethod
def encode_source(cls, source):
- encoded_src = ''
if isinstance(source, list):
encoded_src = JSONEncoder().encode(source)
elif isinstance(source, str) \