@@ -1,5 +1,5 | |||||
1 | from django.contrib import admin |
|
1 | from django.contrib import admin | |
2 | from .models import Device, DeviceType, Experiment, Campaign, Location, RunningExperiment |
|
2 | from .models import Device, DeviceType, Experiment, Campaign, Location, RunningExperiment, Profile | |
3 |
|
3 | |||
4 | # Register your models here. |
|
4 | # Register your models here. | |
5 | admin.site.register(Campaign) |
|
5 | admin.site.register(Campaign) | |
@@ -7,4 +7,5 admin.site.register(Experiment) | |||||
7 | admin.site.register(Device) |
|
7 | admin.site.register(Device) | |
8 | admin.site.register(DeviceType) |
|
8 | admin.site.register(DeviceType) | |
9 | admin.site.register(Location) |
|
9 | admin.site.register(Location) | |
10 | admin.site.register(RunningExperiment) No newline at end of file |
|
10 | admin.site.register(RunningExperiment) | |
|
11 | admin.site.register(Profile) No newline at end of file |
@@ -16,6 +16,8 from django.core.urlresolvers import reverse | |||||
16 | from django.core.validators import MinValueValidator, MaxValueValidator |
|
16 | from django.core.validators import MinValueValidator, MaxValueValidator | |
17 | from django.shortcuts import get_object_or_404 |
|
17 | from django.shortcuts import get_object_or_404 | |
18 | from django.contrib.auth.models import User |
|
18 | from django.contrib.auth.models import User | |
|
19 | from django.db.models.signals import post_save | |||
|
20 | from django.dispatch import receiver | |||
19 |
|
21 | |||
20 | from apps.main.utils import Params |
|
22 | from apps.main.utils import Params | |
21 | from apps.rc.utils import RCFile |
|
23 | from apps.rc.utils import RCFile | |
@@ -84,6 +86,20 CONF_TYPES = ( | |||||
84 | (1, 'Historical'), |
|
86 | (1, 'Historical'), | |
85 | ) |
|
87 | ) | |
86 |
|
88 | |||
|
89 | class Profile(models.Model): | |||
|
90 | user = models.OneToOneField(User, on_delete=models.CASCADE) | |||
|
91 | theme = models.CharField(max_length=30, default='yeti') | |||
|
92 | ||||
|
93 | @receiver(post_save, sender=User) | |||
|
94 | def create_user_profile(sender, instance, created, **kwargs): | |||
|
95 | if created: | |||
|
96 | Profile.objects.create(user=instance) | |||
|
97 | ||||
|
98 | @receiver(post_save, sender=User) | |||
|
99 | def save_user_profile(sender, instance, **kwargs): | |||
|
100 | instance.profile.save() | |||
|
101 | ||||
|
102 | ||||
87 | class Location(models.Model): |
|
103 | class Location(models.Model): | |
88 |
|
104 | |||
89 | name = models.CharField(max_length = 30) |
|
105 | name = models.CharField(max_length = 30) | |
@@ -357,9 +373,9 class Experiment(models.Model): | |||||
357 |
|
373 | |||
358 | def __str__(self): |
|
374 | def __str__(self): | |
359 | if self.template: |
|
375 | if self.template: | |
360 |
return u'%s (template)' % (self.name |
|
376 | return u'%s (template)' % (self.name) | |
361 | else: |
|
377 | else: | |
362 |
return u'%s' % (self.name |
|
378 | return u'%s' % (self.name) | |
363 |
|
379 | |||
364 | def jsonify(self): |
|
380 | def jsonify(self): | |
365 |
|
381 | |||
@@ -582,9 +598,8 class Configuration(PolymorphicModel): | |||||
582 | ret = '{} MIX '.format(self.device.device_type.name.upper()) |
|
598 | ret = '{} MIX '.format(self.device.device_type.name.upper()) | |
583 |
|
599 | |||
584 | if 'label' in [f.name for f in self._meta.get_fields()]: |
|
600 | if 'label' in [f.name for f in self._meta.get_fields()]: | |
585 |
ret += '{}'.format(self.label |
|
601 | ret += '{}'.format(self.label) | |
586 |
|
602 | |||
587 | #ret += '[ {} ]'.format(self.device.location.name) |
|
|||
588 | if self.template: |
|
603 | if self.template: | |
589 | ret += ' (template)' |
|
604 | ret += ' (template)' | |
590 |
|
605 |
General Comments 0
You need to be logged in to leave comments.
Login now