diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/meetingtools/apps/room/models.py | 4 | ||||
-rw-r--r-- | src/meetingtools/apps/room/views.py | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/meetingtools/apps/room/models.py b/src/meetingtools/apps/room/models.py index 74ed1b1..b636816 100644 --- a/src/meetingtools/apps/room/models.py +++ b/src/meetingtools/apps/room/models.py @@ -18,7 +18,7 @@ from tagging.models import Tag class Room(models.Model): creator = ForeignKey(User,editable=False) - name = CharField(max_length=128,unique=True) + name = CharField(max_length=128) urlpath = CharField(verbose_name="Custom URL",max_length=128,unique=True) acc = ForeignKey(ACCluster,verbose_name="Adobe Connect Cluster",editable=False) self_cleaning = BooleanField(verbose_name="Clean-up when empty?") @@ -34,7 +34,7 @@ class Room(models.Model): lastvisited = models.DateTimeField(blank=True,null=True) class Meta: - unique_together = ('acc','sco_id') + unique_together = (('acc','sco_id'),('name','folder_sco_id')) def __unicode__(self): return "%s (sco_id=%s,source_sco_id=%s,folder_sco_id=%s,urlpath=%s)" % (self.name,self.sco_id,self.source_sco_id,self.folder_sco_id,self.urlpath) diff --git a/src/meetingtools/apps/room/views.py b/src/meetingtools/apps/room/views.py index 955e093..169cb1a 100644 --- a/src/meetingtools/apps/room/views.py +++ b/src/meetingtools/apps/room/views.py @@ -236,8 +236,15 @@ def update(request,id): def _import_room(request,acc,r): modified = False room = None + + if not r.has_key('name'): + return + try: room = Room.objects.get(sco_id=r['sco_id'],acc=acc) + if not room.name: + room.delete() + return except ObjectDoesNotExist: if r['folder_sco_id']: room = Room.objects.create(sco_id=r['sco_id'],acc=acc,creator=request.user,folder_sco_id=r['folder_sco_id']) |