|
|
|
@ -6,9 +6,8 @@ from PIL import Image |
|
|
|
from django.conf import settings |
|
|
|
from django.conf import settings |
|
|
|
from django.utils import translation |
|
|
|
from django.utils import translation |
|
|
|
from hvad.utils import get_translation_aware_manager |
|
|
|
from hvad.utils import get_translation_aware_manager |
|
|
|
from bitfield import BitHandler |
|
|
|
|
|
|
|
from place_exposition.models import PlaceExposition |
|
|
|
from place_exposition.models import PlaceExposition |
|
|
|
from exposition.models import Exposition |
|
|
|
from events.models import TargetAudience |
|
|
|
from country.models import Country |
|
|
|
from country.models import Country |
|
|
|
from city.models import City |
|
|
|
from city.models import City |
|
|
|
from theme.models import Theme, Tag |
|
|
|
from theme.models import Theme, Tag |
|
|
|
@ -134,32 +133,29 @@ def to_periodic(value): |
|
|
|
return periodic.get(value, 0) |
|
|
|
return periodic.get(value, 0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def to_audience(value, model=Exposition): |
|
|
|
def to_audience(obj, value): |
|
|
|
if value: |
|
|
|
# new_list = [] |
|
|
|
translation.activate('ru') |
|
|
|
# if value: |
|
|
|
l = value.split(', ') |
|
|
|
# translation.activate('ru') |
|
|
|
if l: |
|
|
|
# l = value.split(', ') |
|
|
|
new_list = [] |
|
|
|
# target_audience = TargetAudience.objects.all() |
|
|
|
for value in l: |
|
|
|
# print l |
|
|
|
for item1, item2 in BIT_AUDIENCE: |
|
|
|
# for value in l: |
|
|
|
if value == item2: |
|
|
|
# for ta in target_audience: |
|
|
|
new_list.append(item1) |
|
|
|
# if value == ta.title: |
|
|
|
if new_list: |
|
|
|
# new_list.append(ta.pk) |
|
|
|
return reduce(lambda x,y: x|y, (getattr(model.audience, item) for item in new_list)) |
|
|
|
# return new_list |
|
|
|
return 0 |
|
|
|
translation.activate('ru') |
|
|
|
|
|
|
|
target_audience = TargetAudience.objects.filter(title__in=value.split(', ')).values_list('pk', flat=True) |
|
|
|
|
|
|
|
obj.audience.clear() |
|
|
|
|
|
|
|
obj.audience.add(*TargetAudience.objects.filter(id__in=target_audience)) |
|
|
|
|
|
|
|
return None |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_audience(value): |
|
|
|
def get_audience(value): |
|
|
|
if isinstance(value, BitHandler): |
|
|
|
new_list = [x.title for x in value.all()] |
|
|
|
l = [k for k, v in value.iteritems() if v] |
|
|
|
return ', '.join(new_list) |
|
|
|
if l: |
|
|
|
|
|
|
|
new_list = [] |
|
|
|
|
|
|
|
for value in l: |
|
|
|
|
|
|
|
for item1, item2 in BIT_AUDIENCE: |
|
|
|
|
|
|
|
if value == item1: |
|
|
|
|
|
|
|
new_list.append(unicode(item2)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ', '.join(new_list) |
|
|
|
|
|
|
|
return '' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import types |
|
|
|
import types |
|
|
|
def save_logo(obj, path): |
|
|
|
def save_logo(obj, path): |
|
|
|
|