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

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()
'''