forked from extern/django-helpdesk
69 lines
3.4 KiB
Python
69 lines
3.4 KiB
Python
# Generated by Django 2.0.7 on 2018-10-19 14:11
|
|
from django.db import migrations, models
|
|
import helpdesk.models
|
|
|
|
|
|
def unpickle_settings(settings_pickled):
|
|
# return a python dictionary representing the pickled data.
|
|
try:
|
|
import pickle
|
|
except ImportError:
|
|
import cPickle as pickle
|
|
from helpdesk.lib import b64decode
|
|
try:
|
|
return pickle.loads(b64decode(settings_pickled.encode('utf-8')))
|
|
except Exception:
|
|
return {}
|
|
|
|
|
|
def move_old_values(apps, schema_editor):
|
|
UserSettings = apps.get_model("helpdesk", "UserSettings")
|
|
db_alias = schema_editor.connection.alias
|
|
|
|
for user_settings in UserSettings.objects.using(db_alias).all():
|
|
if user_settings.settings_pickled:
|
|
settings_dict = unpickle_settings(user_settings.settings_pickled)
|
|
for setting, value in settings_dict.items():
|
|
user_settings.__set_attr__(setting, value)
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('helpdesk', '0019_ticket_secret_key'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AddField(
|
|
model_name='usersettings',
|
|
name='email_on_ticket_assign',
|
|
field=models.BooleanField(default=helpdesk.models.email_on_ticket_assign_default, help_text='If you are assigned a ticket via the web, do you want to receive an e-mail?', verbose_name='E-mail me when assigned a ticket?'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='usersettings',
|
|
name='email_on_ticket_change',
|
|
field=models.BooleanField(default=helpdesk.models.email_on_ticket_change_default, help_text="If you're the ticket owner and the ticket is changed via the web by somebody else, do you want to receive an e-mail?", verbose_name='E-mail me on ticket change?'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='usersettings',
|
|
name='login_view_ticketlist',
|
|
field=models.BooleanField(default=helpdesk.models.login_view_ticketlist_default, help_text='Display the ticket list upon login? Otherwise, the dashboard is shown.', verbose_name='Show Ticket List on Login?'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='usersettings',
|
|
name='tickets_per_page',
|
|
field=models.IntegerField(choices=[(10, '10'), (25, '25'), (50, '50'), (100, '100')], default=helpdesk.models.tickets_per_page_default, help_text='How many tickets do you want to see on the Ticket List page?', verbose_name='Number of tickets to show per page'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='usersettings',
|
|
name='use_email_as_submitter',
|
|
field=models.BooleanField(default=helpdesk.models.use_email_as_submitter_default, help_text='When you submit a ticket, do you want to automatically use your e-mail address as the submitter address? You can type a different e-mail address when entering the ticket if needed, this option only changes the default.', verbose_name='Use my e-mail address when submitting tickets?'),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='usersettings',
|
|
name='settings_pickled',
|
|
field=models.TextField(blank=True, help_text='DEPRECATED! This is a base64-encoded representation of a pickled Python dictionary. Do not change this field via the admin.', null=True, verbose_name='DEPRECATED! Settings Dictionary DEPRECATED!'),
|
|
),
|
|
migrations.RunPython(move_old_values),
|
|
]
|