--- a/src/ldt/ldt/core/models.py Tue Aug 09 11:51:12 2011 +0200
+++ b/src/ldt/ldt/core/models.py Wed Aug 10 12:40:29 2011 +0200
@@ -1,34 +1,9 @@
-from django.contrib.auth.models import User, Group
+from django.contrib.auth.models import User
from django.db import models
-
-class OwnerManager(models.Manager):
- def get_by_natural_key(self, user_name):
- return self.get(user__username=user_name)
-
-
-class Owner(models.Model):
- objects = OwnerManager()
-
- user = models.ForeignKey(User, blank=True, null=True)
- group = models.ForeignKey(Group, blank=True, null=True)
-
- def __unicode__(self):
- if self.user:
- return self.user.username
- else:
- return self.group.name
-
- def natural_key(self):
- # Right now there is no group so the user.username is enough
- return self.user.username
- natural_key.dependencies = ['auth.user']
-
class Document(models.Model):
- owner = models.ForeignKey(Owner, blank=True, null=True)
+ owner = models.ForeignKey(User, blank=True, null=True)
class Meta:
abstract = True
-
-
--- a/src/ldt/ldt/ldt_utils/models.py Tue Aug 09 11:51:12 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/models.py Wed Aug 10 12:40:29 2011 +0200
@@ -2,7 +2,8 @@
from django.contrib.auth.models import User
from django.db import models
from django.utils.translation import ugettext_lazy as _
-from ldt.core.models import Document, Owner
+#from ldt.core.models import Document, Owner
+from ldt.core.models import Document
import ldt.indexation
from utils import (create_ldt, copy_ldt, create_empty_iri, update_iri,
generate_uuid)
@@ -351,7 +352,8 @@
@staticmethod
def create_project(user, title, contents):
- owner = Owner.objects.get(user=user) #@UndefinedVariable
+# owner = Owner.objects.get(user=user) #@UndefinedVariable
+ owner = user
project = Project(title=title, owner=owner)
project.ldt_id = str(uuid.uuid1()) #@UndefinedVariable
project.created_by = user.username
@@ -364,7 +366,8 @@
return create_ldt(project, user)
def copy_project(self, user, title):
- owner = Owner.objects.get(user=user) #@UndefinedVariable
+# owner = Owner.objects.get(user=user) #@UndefinedVariable
+ owner = user
project = Project(title=title, owner=owner)
project = copy_ldt(self, project, user)
project.save()
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html Tue Aug 09 11:51:12 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html Wed Aug 10 12:40:29 2011 +0200
@@ -24,9 +24,9 @@
</td>
<td class="projecttitle">
{% ifequal project.state 2 %}
- {% if show_username %}{{ project.owner.user.username }} : {% endif %}{{ project.title }}
+ {% if show_username %}{{ project.owner.username }} : {% endif %}{{ project.title }}
{% else %}
- <a class="projecttitlelink" href="{% url ldt.ldt_utils.views.update_project ldt_id=project.ldt_id %}">{% if show_username %}{{ project.owner.user.username }} : {% endif %}{{ project.title }}</a>
+ <a class="projecttitlelink" href="{% url ldt.ldt_utils.views.update_project ldt_id=project.ldt_id %}">{% if show_username %}{{ project.owner.username }} : {% endif %}{{ project.title }}</a>
{% endifequal %}
</td>
</tr>
--- a/src/ldt/ldt/ldt_utils/urls.py Tue Aug 09 11:51:12 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/urls.py Wed Aug 10 12:40:29 2011 +0200
@@ -8,6 +8,7 @@
urlpatterns = patterns('ldt.ldt_utils',
url(r'^searchInit/(?P<field>.*)/(?P<query>.*)$', 'views.searchInit'),
url(r'^searchForm/$', 'views.searchForm'),
+ url(r'^import_rs/$', 'views.import_rs'),
url(r'^published/$', 'views.published_project'),
url(r'^groups/$', 'views.groups'),
url(r'^get_group_projects/$', 'views.get_group_projects'),
--- a/src/ldt/ldt/ldt_utils/views.py Tue Aug 09 11:51:12 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/views.py Wed Aug 10 12:40:29 2011 +0200
@@ -16,7 +16,6 @@
from django.utils.translation import ugettext as _, ungettext
from forms import (LdtAddForm, SearchForm, AddProjectForm, CopyProjectForm,
ContentForm, MediaForm)
-from ldt.core.models import Owner
from ldt.ldt_utils.models import Content
from ldt.ldt_utils.utils import boolean_convert, LdtUtils, LdtSearch
from lxml.html import fragment_fromstring
@@ -82,7 +81,7 @@
content_list = Content.objects.all() #@UndefinedVariable
# get list of projects owned by the current user
- project_list = Project.objects.filter(owner__user=request.user) #@UndefinedVariable
+ project_list = Project.objects.filter(owner=request.user) #@UndefinedVariable
is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1);
@@ -174,7 +173,7 @@
if is_owner:
owner = None
try:
- owner = Owner.objects.get(user=request.user) #@UndefinedVariable
+ owner = request.user #@UndefinedVariable
except:
return HttpResponseServerError("<h1>User not found</h1>")
query &= Q(owner=owner)
@@ -194,8 +193,8 @@
# Get group, user and project_list
grp = Group.objects.get(id=id_group) #@UndefinedVariable
users = User.objects.filter(groups__in=[grp]) #@UndefinedVariable
- query &= Q(owner__user__in=users) #@UndefinedVariable
- project_list = Project.objects.filter(query).extra(select={'lower_title': 'lower(title)'}).order_by('owner__user__username','lower_title') #@UndefinedVariable
+ query &= Q(owner__in=users) #@UndefinedVariable
+ project_list = Project.objects.filter(query).extra(select={'lower_title': 'lower(title)'}).order_by('owner__username','lower_title') #@UndefinedVariable
show_username = True
else :
project_list = Project.objects.filter(query) #@UndefinedVariable
@@ -348,7 +347,7 @@
def list_ldt(request):
contents = Content.objects.all() #@UndefinedVariable
try:
- owner = Owner.objects.get(user=request.user) #@UndefinedVariable
+ owner = request.user #@UndefinedVariable
except:
return HttpResponseRedirect(settings.LOGIN_URL)
ldtProjects = Project.objects.filter(owner=owner) #@UndefinedVariable
@@ -1111,7 +1110,7 @@
# Get group, user and project_list
grp = Group.objects.get(id=request.POST["id_group"]) #@UndefinedVariable
users = User.objects.filter(groups__in=[grp]) #@UndefinedVariable
- project_list = Project.objects.filter(owner__user__in=users).extra(select={'lower_title': 'lower(title)'}).order_by('owner__user__username','lower_title') #@UndefinedVariable
+ project_list = Project.objects.filter(owner__in=users).extra(select={'lower_title': 'lower(title)'}).order_by('owner__username','lower_title') #@UndefinedVariable
is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1);
--- a/src/ldt/ldt/management/__init__.py Tue Aug 09 11:51:12 2011 +0200
+++ b/src/ldt/ldt/management/__init__.py Wed Aug 10 12:40:29 2011 +0200
@@ -3,7 +3,6 @@
from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import ObjectDoesNotExist
from django.db.models import signals
-from ldt.core.models import Owner
from ldt.user.models import ldt, IriGroup
# import logging
@@ -21,29 +20,29 @@
def post_save_user(instance, raw, created, **kwargs):
if created:
try:
- owner = Owner.objects.get(user=instance)
+ owner = instance
except ObjectDoesNotExist:
- owner = Owner(user=instance)
+ owner = User(instance)
owner.save()
signals.post_save.connect(post_save_user, User)
-def post_save_group(instance, raw, created, **kwargs):
- if created:
- try:
- owner = Owner.objects.get(group=instance)
- except ObjectDoesNotExist:
- owner = Owner(group=instance)
- owner.save()
-
-signals.post_save.connect(post_save_group, Group)
+#def post_save_group(instance, raw, created, **kwargs):
+# if created:
+# try:
+# owner = Owner.objects.get(group=instance)
+# except ObjectDoesNotExist:
+# owner = Owner(group=instance)
+# owner.save()
+#
+#signals.post_save.connect(post_save_group, Group)
-def test_cms():
- if 'cms' in settings.INSTALLED_APPS:
- return True
- else:
- return False
+#def test_cms():
+# if 'cms' in settings.INSTALLED_APPS:
+# return True
+# else:
+# return False
def test_ldt():
if 'ldt.ldt_utils' in settings.INSTALLED_APPS:
@@ -53,11 +52,11 @@
def get_content_type_list() :
content_type_list = []
- if test_cms():
- content_type = ContentType.objects.get(app_label='cms', model='page')
- content_type_list.append(content_type)
- content_type = ContentType.objects.get(app_label='snippet', model='snippet')
- content_type_list.append(content_type)
+# if test_cms():
+# content_type = ContentType.objects.get(app_label='cms', model='page')
+# content_type_list.append(content_type)
+# content_type = ContentType.objects.get(app_label='snippet', model='snippet')
+# content_type_list.append(content_type)
# if test_ldt():
# content_type = ContentType.objects.get(app_label='ldt', model='content')
# content_type_list.append(content_type)
--- a/src/ldt/ldt/templates/ldt/ldt_base.html Tue Aug 09 11:51:12 2011 +0200
+++ b/src/ldt/ldt/templates/ldt/ldt_base.html Wed Aug 10 12:40:29 2011 +0200
@@ -96,7 +96,7 @@
</div>
<div id="loginstate" >
{% if user.is_authenticated %}
- {{user.username}} | <a href="{% url ldt.user.views.logout_view %}" >{% trans "Log out" %}</a>
+ <a href="{% url ldt.user.views.profile %}" >{{user.username}}</a>| <a href="{% url ldt.user.views.logout_view %}" >{% trans "Log out" %}</a>
{% endif %}
</div>
{% endblock %}
@@ -133,11 +133,6 @@
<input type="submit" class="quick_search_submit" value="" />{% csrf_token %}</form>
</div>
{% endif %}
- <!--div id="loginstate" class="block span-4 last">
- {% if user.is_authenticated %}
- {{user.username}} | <a href="{% url ldt.user.views.logout_view %}" >{% trans "Log out" %}</a>
- {% endif %}
- </div-->
</div>
{% if LANGUAGES.1 %}
<div id="language_chooser">
--- a/src/ldt/ldt/user/forms.py Tue Aug 09 11:51:12 2011 +0200
+++ b/src/ldt/ldt/user/forms.py Wed Aug 10 12:40:29 2011 +0200
@@ -1,10 +1,10 @@
from django import forms
from django.contrib.auth.forms import UserCreationForm
-from django.contrib.auth.models import Permission
+#from django.contrib.auth.models import Permission
from django.forms.util import ErrorList
from django.utils.translation import gettext as _
-from ldt.management import get_content_type_list
-from models import ldt, IriGroup
+#from ldt.management import get_content_type_list
+from models import ldt#, IriGroup
class ldtForm(UserCreationForm):
@@ -23,8 +23,8 @@
initial, error_class, label_suffix, empty_permitted, instance)
# filtre les permissions necessaires
- content_type_list = get_content_type_list()
- self.fields['user_permissions'].queryset = Permission.objects.filter(content_type__in=content_type_list)
+# content_type_list = get_content_type_list()
+# self.fields['user_permissions'].queryset = Permission.objects.filter(content_type__in=content_type_list)
if instance:
self.fields['password1'].required = False
@@ -57,22 +57,22 @@
return user
-class IriGroupForm(forms.ModelForm):
- class meta:
- model = IriGroup
-
- def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
- initial=None, error_class=ErrorList, label_suffix=':',
- empty_permitted=False, instance=None):
- if instance:
- initial = initial or {}
-
- super(IriGroupForm, self).__init__(data, files, auto_id, prefix,
- initial, error_class, label_suffix, empty_permitted, instance)
-
- # filtre les permissions necessaires
- content_type_list = get_content_type_list()
- self.fields['permissions'].queryset = Permission.objects.filter(content_type__in=content_type_list)
+#class IriGroupForm(forms.ModelForm):
+# class meta:
+# model = IriGroup
+#
+# def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
+# initial=None, error_class=ErrorList, label_suffix=':',
+# empty_permitted=False, instance=None):
+# if instance:
+# initial = initial or {}
+#
+# super(IriGroupForm, self).__init__(data, files, auto_id, prefix,
+# initial, error_class, label_suffix, empty_permitted, instance)
+#
+# # filtre les permissions necessaires
+# content_type_list = get_content_type_list()
+# self.fields['permissions'].queryset = Permission.objects.filter(content_type__in=content_type_list)
class EmailChangeForm(forms.Form):
email1 = forms.EmailField(label=_("E-mail"), max_length=75)
--- a/src/ldt/ldt/user/urls.py Tue Aug 09 11:51:12 2011 +0200
+++ b/src/ldt/ldt/user/urls.py Wed Aug 10 12:40:29 2011 +0200
@@ -4,9 +4,10 @@
url(r'^loginAjax/$', 'ldt.user.views.loginAjax'),
url(r'^profile/', 'ldt.user.views.profile'),
url(r'^logout/', 'ldt.user.views.logout_view'),
- url(r'^space/$', 'ldt.user.views.space'),
+# url(r'^space/$', 'ldt.user.views.space'),
url(r'^emailchange/$', 'ldt.user.views.change_email'),
url(r'^emailchange/done/$', 'ldt.user.views.change_email_done'),
+ url(r'^pwdchange/$', 'ldt.user.views.change_password'),
# url(r'^space/ldt/$', 'ldt.ldt_utils.views.list_ldt'),
# url(r'^space/ldt/indexproject/(?P<id>.*)$', 'ldt.ldt_utils.views.index_project'),
# url(r'^space/ldt/init/(?P<method>.*)/(?P<url>.*)$', 'ldt.ldt_utils.views.init'),
--- a/src/ldt/ldt/user/views.py Tue Aug 09 11:51:12 2011 +0200
+++ b/src/ldt/ldt/user/views.py Wed Aug 10 12:40:29 2011 +0200
@@ -1,5 +1,6 @@
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required
+from django.contrib.auth.forms import PasswordChangeForm
from django.core.urlresolvers import reverse
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render_to_response
@@ -7,26 +8,25 @@
from django.utils import simplejson
from django.utils.translation import ugettext as _
from forms import EmailChangeForm
-from ldt.management import test_cms, test_ldt
-# from django.contrib.sites.models import Site, RequestSite
+#from ldt.management import test_cms, test_ldt
-def home(request):
- return render_to_response('ldt/user/home.html', context_instance=RequestContext(request))
+#def home(request):
+# return render_to_response('ldt/user/home.html', context_instance=RequestContext(request))
@login_required
def profile(request):
return render_to_response('ldt/user/profile.html', context_instance=RequestContext(request))
-@login_required
-def space(request, page_id=None, slug=None):
- cms = test_cms()
- ldt = test_ldt()
- context = {
- 'cms': cms,
- 'ldt': ldt
- }
- return render_to_response('ldt/user/space.html', context, context_instance=RequestContext(request))
+#@login_required
+#def space(request, page_id=None, slug=None):
+# cms = test_cms()
+# ldt = test_ldt()
+# context = {
+# 'cms': cms,
+# 'ldt': ldt
+# }
+# return render_to_response('ldt/user/space.html', context, context_instance=RequestContext(request))
@@ -71,4 +71,9 @@
@login_required
def change_email_done(request, template_name='ldt/user/change_email_done.html'):
return render_to_response(template_name, context_instance=RequestContext(request))
+
+@login_required
+def change_password(request):
+ form = PasswordChangeForm()
+ return render_to_response('ldt/user/change_password.html', {'form': form, }, context_instance=RequestContext(request))