You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.1 KiB
47 lines
1.1 KiB
from signal_additional_func import fill_missing_languages, fill_meta_information
|
|
import random, string
|
|
from functions.form_check import translit_with_separator
|
|
|
|
|
|
def pre_save_handler(sender, **kwargs):
|
|
obj = kwargs['instance']
|
|
url = getattr(obj, 'url')
|
|
|
|
if url:
|
|
return
|
|
|
|
if hasattr(obj, 'language_code') and obj.language_code =='en':
|
|
try:
|
|
name = getattr(obj, 'name')
|
|
obj.url = translit_with_separator(name)
|
|
except AttributeError:
|
|
pass
|
|
|
|
|
|
if not obj.url:
|
|
obj.url = ''.join([random.choice(string.ascii_lowercase) for n in xrange(8)])
|
|
|
|
|
|
def post_save_handler(sender, **kwargs):
|
|
"""
|
|
receiver function
|
|
take object
|
|
fill missing languages
|
|
fill settings if its exist for this object
|
|
|
|
"""
|
|
obj = kwargs['instance']
|
|
fill_missing_languages(obj)
|
|
fill_meta_information(obj)
|
|
|
|
'''
|
|
def post_save_translation_handler(sender, **kwargs):
|
|
"""
|
|
receiver function
|
|
take object and change url
|
|
"""
|
|
obj = kwargs['instance']
|
|
if obj.language_code == 'ru':
|
|
obj.master.url = translit_with_separator(obj.name)
|
|
obj.master.save()
|
|
''' |