Fix a few showstoppers in the Services changes.

This commit is contained in:
2010-10-14 10:41:37 +01:00
parent df1bdde396
commit 130bc0afb3
3 changed files with 9 additions and 9 deletions

View File

@@ -143,8 +143,8 @@ class Service(models.Model):
url = models.CharField("Service URL", max_length=200, blank=True)
active = models.BooleanField(default=True)
api = models.CharField("API", max_length=200)
groups = models.ManyToManyField(Group, blank=False)
settings_json = JSONField("Service Settings", blank=True)
groups = models.ManyToManyField(Group, blank=True)
settings_json = JSONField("Service Settings", blank=True, default={})
class Meta:
verbose_name = 'Service'
@@ -165,7 +165,7 @@ class Service(models.Model):
return self.name
def save(self):
if not self.settings_json:
if not self.settings_json or self.settings_json == {}:
if self.api:
self.settings_json = self.settings
else:
@@ -225,7 +225,7 @@ class ServiceAccount(models.Model):
else:
self.service.api_class.disable_user(self.service_uid)
models.Model.save(self)
models.Model.save(self)
@staticmethod
def pre_delete_listener( **kwargs ):

View File

@@ -1,5 +1,7 @@
import hashlib
import random
import re
import unicodedata
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
@@ -135,9 +137,7 @@ def service_add(request):
form = clsform(request.POST)
if form.is_valid():
acc = ServiceAccount()
acc.user = request.user
acc.service = form.cleaned_data['service']
acc = ServiceAccount(user=request.user, service=form.cleaned_data['service'])
acc.character = form.cleaned_data['character']
if acc.service.settings['require_password']:
@@ -149,7 +149,7 @@ def service_add(request):
acc.password = None
# Decode unicode and remove invalid characters
username = re.sub('[^a-zA-Z0-9_-]+', '', unicodedata.normalize('NFKD', self.character.name).encode('ASCII', 'ignore'))
username = re.sub('[^a-zA-Z0-9_-]+', '', unicodedata.normalize('NFKD', acc.character.name).encode('ASCII', 'ignore'))
if acc.service.api_class.check_user(username):
error = "Username already exists on the target service, please contact an admin."

View File

@@ -15,7 +15,7 @@ this is incorrect please raise a bug on the tracker.
<tr><td>Service:</td><td>{{ acc.service.name }}</td></tr>
<tr><td>Service URL:</td><td><a href="{{ acc.service.url }}">{{ acc.service.url }}</a></td></tr>
{% for key,value in ret.items %}
<tr><td>{{ key }}:</td><td>{{ value }}</td></tr>
<tr><td>{{ key|title }}:</td><td>{{ value }}</td></tr>
{% endfor %}
</table>