# HG changeset patch # User cavaliet # Date 1313746317 -7200 # Node ID a9bddd86aa2578acfb9aa4012240609615d574fe # Parent e2d3fa7aad7ca8a52209f9f79cace91c35d0099c# Parent 2a162639d2f86db12208b12c0e68f5edfabfebd6 Merge with 2a162639d2f86db12208b12c0e68f5edfabfebd6 diff -r 2a162639d2f8 -r a9bddd86aa25 .settings/org.eclipse.core.resources.prefs --- a/.settings/org.eclipse.core.resources.prefs Fri Aug 19 10:58:10 2011 +0200 +++ b/.settings/org.eclipse.core.resources.prefs Fri Aug 19 11:31:57 2011 +0200 @@ -1,3 +1,6 @@ -#Thu Aug 18 10:40:19 CEST 2011 +#Thu Aug 18 16:43:26 CEST 2011 eclipse.preferences.version=1 +encoding//src/ldt/ldt/core/migrations/0002_auto__del_owner.py=utf-8 encoding//src/ldt/ldt/ldt_utils/migrations/0002_auto__add_field_media_mimetype_field__chg_field_media_external_src_url.py=utf-8 +encoding//src/ldt/ldt/ldt_utils/migrations/0003_auto__chg_field_project_owner.py=utf-8 +encoding//src/ldt/ldt/user/migrations/0002_auto__del_irigroup.py=utf-8 diff -r 2a162639d2f8 -r a9bddd86aa25 .settings/org.eclipse.core.runtime.prefs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.settings/org.eclipse.core.runtime.prefs Fri Aug 19 11:31:57 2011 +0200 @@ -0,0 +1,3 @@ +#Thu Aug 04 12:59:27 CEST 2011 +eclipse.preferences.version=1 +line.separator=\n diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/admin.py --- a/src/ldt/ldt/admin.py Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/admin.py Fri Aug 19 11:31:57 2011 +0200 @@ -1,31 +1,31 @@ -#from django.contrib import admin -from ldt.management import test_cms - -""" -site admin pour cms page -""" -if test_cms(): - pass -# class AdminSite(admin.AdminSite): -# index_template = 'admin/page_index.html' -# login_template = 'admin/page_login.html' -# app_index_template = 'admin/page_app_index.html' - -# admin_site = AdminSite() - -# from cms.models import Page -# from cms.admin import pageadmin - -# class CmsPageAdmin(pageadmin.PageAdmin): -# change_list_template = "admin/cms_change_list.html" -# change_form_template = "admin/cms_change_form.html" - -# admin_site.register(Page, CmsPageAdmin) - -# from cms.plugins.snippet.models import Snippet -# from cms.plugins.snippet.admin import SnippetAdmin - -# class CmsSnippetAdmin(SnippetAdmin): -# change_form_template = "admin/page_change_form.html" -# change_list_template = "admin/page_change_list.html" -# admin_site.register(Snippet, CmsSnippetAdmin) +##from django.contrib import admin +#from ldt.management import test_cms +# +#""" +#site admin pour cms page +#""" +#if test_cms(): +# pass +## class AdminSite(admin.AdminSite): +## index_template = 'admin/page_index.html' +## login_template = 'admin/page_login.html' +## app_index_template = 'admin/page_app_index.html' +# +## admin_site = AdminSite() +# +## from cms.models import Page +## from cms.admin import pageadmin +# +## class CmsPageAdmin(pageadmin.PageAdmin): +## change_list_template = "admin/cms_change_list.html" +## change_form_template = "admin/cms_change_form.html" +# +## admin_site.register(Page, CmsPageAdmin) +# +## from cms.plugins.snippet.models import Snippet +## from cms.plugins.snippet.admin import SnippetAdmin +# +## class CmsSnippetAdmin(SnippetAdmin): +## change_form_template = "admin/page_change_form.html" +## change_list_template = "admin/page_change_list.html" +## admin_site.register(Snippet, CmsSnippetAdmin) diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/core/migrations/0002_auto__del_owner.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/core/migrations/0002_auto__del_owner.py Fri Aug 19 11:31:57 2011 +0200 @@ -0,0 +1,31 @@ +#@PydevCodeAnalysisIgnore +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Deleting model 'Owner' + db.delete_table('core_owner') + + + def backwards(self, orm): + + # Adding model 'Owner' + db.create_table('core_owner', ( + ('group', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.Group'], null=True, blank=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True, blank=True)), + )) + db.send_create_signal('core', ['Owner']) + + + models = { + + } + + complete_apps = ['core'] diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/core/models.py --- a/src/ldt/ldt/core/models.py Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/core/models.py Fri Aug 19 11:31:57 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 - - diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/ldt_utils/migrations/0003_auto__chg_field_project_owner.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/ldt_utils/migrations/0003_auto__chg_field_project_owner.py Fri Aug 19 11:31:57 2011 +0200 @@ -0,0 +1,134 @@ +#@PydevCodeAnalysisIgnore +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Changing field 'Project.owner' + db.alter_column('ldt_utils_project', 'owner_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)) + + + def backwards(self, orm): + + # Changing field 'Project.owner' + db.alter_column('ldt_utils_project', 'owner_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['core.Owner'], null=True)) + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'ldt_utils.author': { + 'Meta': {'object_name': 'Author'}, + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), + 'firstname': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}), + 'handle': ('django.db.models.fields.CharField', [], {'max_length': '512', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'lastname': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}) + }, + 'ldt_utils.content': { + 'Meta': {'ordering': "['title']", 'object_name': 'Content'}, + 'authors': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ldt_utils.Author']", 'symmetrical': 'False', 'blank': 'True'}), + 'content_creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'duration': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iri_id': ('django.db.models.fields.CharField', [], {'default': "u'fe787312-c9a7-11e0-a1dd-c8bcc896c290'", 'unique': 'True', 'max_length': '1024'}), + 'iriurl': ('django.db.models.fields.CharField', [], {'max_length': '1024'}), + 'media_obj': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ldt_utils.Media']", 'null': 'True', 'blank': 'True'}), + 'tags': ('tagging.fields.TagField', [], {'max_length': '2048', 'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}), + 'update_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) + }, + 'ldt_utils.media': { + 'Meta': {'object_name': 'Media'}, + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'duration': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'external_id': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}), + 'external_permalink': ('django.db.models.fields.URLField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}), + 'external_publication_url': ('django.db.models.fields.URLField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}), + 'external_src_url': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'media_creation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'mimetype_field': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}), + 'src': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '1024'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}), + 'update_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'videopath': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}) + }, + 'ldt_utils.project': { + 'Meta': {'ordering': "['title']", 'object_name': 'Project'}, + 'changed_by': ('django.db.models.fields.CharField', [], {'max_length': '70'}), + 'contents': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ldt_utils.Content']", 'symmetrical': 'False'}), + 'created_by': ('django.db.models.fields.CharField', [], {'max_length': '70'}), + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ldt': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'ldt_id': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '1024'}), + 'modification_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}), + 'state': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '1024'}) + }, + 'ldt_utils.segment': { + 'Meta': {'unique_together': "(('project_id', 'iri_id', 'ensemble_id', 'cutting_id', 'element_id'),)", 'object_name': 'Segment'}, + 'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}), + 'content': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ldt_utils.Content']"}), + 'cutting_id': ('django.db.models.fields.CharField', [], {'max_length': '1024'}), + 'date': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), + 'duration': ('django.db.models.fields.IntegerField', [], {'null': 'True'}), + 'element_id': ('django.db.models.fields.CharField', [], {'max_length': '1024'}), + 'ensemble_id': ('django.db.models.fields.CharField', [], {'max_length': '1024'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iri_id': ('django.db.models.fields.CharField', [], {'max_length': '1024'}), + 'project_id': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}), + 'project_obj': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ldt_utils.Project']", 'null': 'True'}), + 'start_ts': ('django.db.models.fields.IntegerField', [], {'null': 'True'}), + 'tags': ('tagging.fields.TagField', [], {'max_length': '2048', 'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '2048', 'null': 'True', 'blank': 'True'}) + } + } + + complete_apps = ['ldt_utils'] diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/ldt_utils/models.py --- a/src/ldt/ldt/ldt_utils/models.py Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/ldt_utils/models.py Fri Aug 19 11:31:57 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() diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html Fri Aug 19 11:31:57 2011 +0200 @@ -24,9 +24,9 @@ {% ifequal project.state 2 %} - {% if show_username %}{{ project.owner.user.username }} : {% endif %}{{ project.title }} + {% if show_username %}{{ project.owner.username }} : {% endif %}{{ project.title }} {% else %} - {% if show_username %}{{ project.owner.user.username }} : {% endif %}{{ project.title }} + {% if show_username %}{{ project.owner.username }} : {% endif %}{{ project.title }} {% endifequal %} diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html Fri Aug 19 11:31:57 2011 +0200 @@ -51,8 +51,7 @@
{% trans "content list" %} -  {% trans 'Create content' %} -
+ {% trans 'Create content' %}
loader
@@ -64,7 +63,7 @@
{% trans "My projects" %} -  {% trans 'Create project' %}
+ {% trans 'Create project' %}
loader
diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/ldt_utils/urls.py --- a/src/ldt/ldt/ldt_utils/urls.py Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/ldt_utils/urls.py Fri Aug 19 11:31:57 2011 +0200 @@ -8,6 +8,7 @@ urlpatterns = patterns('ldt.ldt_utils', url(r'^searchInit/(?P.*)/(?P.*)$', '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'), diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/ldt_utils/views.py --- a/src/ldt/ldt/ldt_utils/views.py Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/ldt_utils/views.py Fri Aug 19 11:31:57 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("

User not found

") 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); diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/management/__init__.py --- a/src/ldt/ldt/management/__init__.py Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/management/__init__.py Fri Aug 19 11:31:57 2011 +0200 @@ -3,9 +3,7 @@ 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 +from ldt.user.models import ldt def post_save_ldt(instance, raw, created, **kwargs): @@ -13,37 +11,15 @@ signals.post_save.connect(post_save_ldt, ldt) -def post_save_irigroup(instance, raw, created, **kwargs): - signals.post_save.send(sender=Group, instance=instance, raw=raw, created=created) - -signals.post_save.connect(post_save_irigroup, IriGroup) - 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 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,14 +29,6 @@ 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_ldt(): - # content_type = ContentType.objects.get(app_label='ldt', model='content') - # content_type_list.append(content_type) return content_type_list diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/static/ldt/css/workspace.css --- a/src/ldt/ldt/static/ldt/css/workspace.css Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/static/ldt/css/workspace.css Fri Aug 19 11:31:57 2011 +0200 @@ -2,9 +2,10 @@ .titlediv { margin: 0px 0px 25px 0px; + min-height: 40px; + vertical-align: middle; } - .ldt_player_code { width: 580px; overflow: auto; @@ -14,9 +15,14 @@ padding: 2px; } +.icon_title { + float: right; + margin-top: 6px; +} + .searchfielddiv { top: 50%; - margin-top: 12px; + margin-top: 5px; } .searchfield { @@ -154,11 +160,6 @@ padding-right: 16px; } -.titlediv { - min-height: 46px; - vertical-align: middle; -} - .cellimg { width: 18px; text-align: center; diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/static/ldt/img/film_add.png Binary file src/ldt/ldt/static/ldt/img/film_add.png has changed diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/static/ldt/img/page_add_large.png Binary file src/ldt/ldt/static/ldt/img/page_add_large.png has changed diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/templates/ldt/ldt_base.html --- a/src/ldt/ldt/templates/ldt/ldt_base.html Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/templates/ldt/ldt_base.html Fri Aug 19 11:31:57 2011 +0200 @@ -96,7 +96,7 @@
{% if user.is_authenticated %} - {{user.username}} | {% trans "Log out" %} + {{user.username}}{% trans "Log out" %} {% endif %}
{% endblock %} @@ -133,11 +133,6 @@ {% csrf_token %}
{% endif %} - {% if LANGUAGES.1 %}
diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/admin.py --- a/src/ldt/ldt/user/admin.py Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/user/admin.py Fri Aug 19 11:31:57 2011 +0200 @@ -2,8 +2,8 @@ from django.contrib import admin from django.contrib.auth.admin import UserAdmin from django.utils.translation import ugettext as _ -from forms import ldtForm, IriGroupForm -from models import ldt, IriGroup +from forms import ldtForm +from models import ldt class ldtAdmin(UserAdmin): list_display = ('username', 'email', 'first_name', 'last_name') @@ -30,11 +30,3 @@ admin.site.unregister(ldt) admin.site.register(ldt, ldtAdmin) - -class IriGroupAdmin(admin.ModelAdmin): - form = IriGroupForm - model = IriGroup - filter_horizontal = ('permissions',) - -admin.site.unregister(IriGroup) -admin.site.register(IriGroup, IriGroupAdmin) diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/forms.py --- a/src/ldt/ldt/user/forms.py Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/user/forms.py Fri Aug 19 11:31:57 2011 +0200 @@ -1,10 +1,8 @@ from django import forms from django.contrib.auth.forms import UserCreationForm -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 models import ldt class ldtForm(UserCreationForm): @@ -21,10 +19,6 @@ super(ldtForm, 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['user_permissions'].queryset = Permission.objects.filter(content_type__in=content_type_list) if instance: self.fields['password1'].required = False @@ -56,23 +50,7 @@ user.save() 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 EmailChangeForm(forms.Form): email1 = forms.EmailField(label=_("E-mail"), max_length=75) diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/migrations/0002_auto__del_irigroup.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/user/migrations/0002_auto__del_irigroup.py Fri Aug 19 11:31:57 2011 +0200 @@ -0,0 +1,80 @@ +#@PydevCodeAnalysisIgnore +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Deleting model 'IriGroup' + db.delete_table('user_irigroup') + + # Removing M2M table for field irigroups on 'ldt' + db.delete_table('user_ldt_irigroups') + + + def backwards(self, orm): + + # Adding model 'IriGroup' + db.create_table('user_irigroup', ( + ('group_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.Group'], unique=True, primary_key=True)), + ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), + )) + db.send_create_signal('user', ['IriGroup']) + + # Adding M2M table for field irigroups on 'ldt' + db.create_table('user_ldt_irigroups', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('ldt', models.ForeignKey(orm['user.ldt'], null=False)), + ('irigroup', models.ForeignKey(orm['user.irigroup'], null=False)) + )) + db.create_unique('user_ldt_irigroups', ['ldt_id', 'irigroup_id']) + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'user.ldt': { + 'Meta': {'object_name': 'ldt', '_ormbases': ['auth.User']}, + 'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'}) + } + } + + complete_apps = ['user'] diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/models.py --- a/src/ldt/ldt/user/models.py Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/user/models.py Fri Aug 19 11:31:57 2011 +0200 @@ -1,18 +1,10 @@ from django.contrib import admin -from django.contrib.auth.models import User, Group, UserManager -from django.db import models +from django.contrib.auth.models import User, UserManager import datetime - -class IriGroup(Group): - description = models.TextField(null=True, blank=True) - - def __unicode__(self): - return self.name - class ldt(User): - irigroups = models.ManyToManyField(IriGroup, blank=True) +# irigroups = models.ManyToManyField(IriGroup, blank=True) class Meta: verbose_name = 'iri user' @@ -38,4 +30,3 @@ User.objects.contribute_to_class(User, "objects") admin.site.register(ldt) -admin.site.register(IriGroup) diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/templates/ldt/user/change_email.html --- a/src/ldt/ldt/user/templates/ldt/user/change_email.html Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/user/templates/ldt/user/change_email.html Fri Aug 19 11:31:57 2011 +0200 @@ -1,11 +1,6 @@ {% extends "ldt/user/user_base.html" %} {# form of email address's change #} {% load i18n %} -{% block breadcrumb %} -
  • -
  • {% trans "Profiles" %}
  • -
  • {% trans "Modification de l'adresse émail" %}
  • -{% endblock %} {% block content_title %}{% trans "Modification de l'adresse émail" %}{% endblock %} {% block js_declaration %}{{ block.super }} @@ -15,6 +10,7 @@ }); {% endblock %} + {% block css_import %} {{ block.super }} {% endblock %} -{% block iricontent %} -

    {% trans "Please enter your new e-mail twice so we can verify you typed it in correctly." %}

    +{% block content %} +{{ block.super }} +{% if form %} +

    {% trans "Please enter your new e-mail twice so we can verify you typed it in correctly." %}. {% trans "Your actual email address is" %} : {{ user.email }}.

    {% csrf_token %} @@ -48,4 +46,7 @@
    +{% else %} +

    {% trans "Your new email address has been saved." %}

    +{% endif %} {% endblock%} diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/templates/ldt/user/change_email_done.html --- a/src/ldt/ldt/user/templates/ldt/user/change_email_done.html Fri Aug 19 10:58:10 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ -{% extends "ldt/user/user_base.html" %} -{# if email is changed successfully, retrun this page #} -{% load i18n %} -{% block breadcrumb %} -
  • -
  • {% trans "Profiles" %}
  • -
  • {% trans "email change" %}
  • -{% endblock %} - -{% block content_title %}{% trans "email change" %}{% endblock %} -{% block iricontent %} -

    {% trans "email changed" %}

    -{% trans "back to profile" %} -{% endblock %} diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/templates/ldt/user/change_password.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/user/templates/ldt/user/change_password.html Fri Aug 19 11:31:57 2011 +0200 @@ -0,0 +1,27 @@ +{% extends "ldt/user/user_base.html" %} +{# form of password change #} +{% load i18n %} + +{% block css_import %} +{{ block.super }} + +{% endblock %} + +{% block content %} +{{ block.super }} +{% if form %} +
    + {% csrf_token %} + + {{ form.as_table }} +
    +
    +
    +{% else %} +

    {% trans "Your new password has been saved." %}

    +{% endif %} +{% endblock%} diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/templates/ldt/user/home.html --- a/src/ldt/ldt/user/templates/ldt/user/home.html Fri Aug 19 10:58:10 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ -{% extends "ldt/ldt_base.html" %} -{% load i18n %} - -{% block title %}Home{% endblock %} - -{% block content_base %} - -

    Welcome

    -
  • {% trans "Se connecter" %}
  • -
  • {% trans "Créer un compte" %}
  • -
  • {% trans "récupérer mot de passe" %}
  • - -{% endblock %} - diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/templates/ldt/user/profile.html --- a/src/ldt/ldt/user/templates/ldt/user/profile.html Fri Aug 19 10:58:10 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -{% extends "ldt/user/user_base.html" %} -{# user's profiles(change password, change email) #} -{% load i18n %} -{% block iricontent %} - -{% endblock %} diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/templates/ldt/user/space.html --- a/src/ldt/ldt/user/templates/ldt/user/space.html Fri Aug 19 10:58:10 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -{% extends "ldt/user/user_base.html" %} -{# user's space (edit page or project lignes de temps) #} -{% load i18n %} -{% block breadcrumb %} -
  • -
  • {% trans "Space" %}
  • -{% endblock %} - -{% block content_title %}{% trans "Space" %}{% endblock %} -{% block iricontent%} - -{% endblock %} diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/templates/ldt/user/user_base.html --- a/src/ldt/ldt/user/templates/ldt/user/user_base.html Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/user/templates/ldt/user/user_base.html Fri Aug 19 11:31:57 2011 +0200 @@ -4,8 +4,19 @@ {% load i18n %} +{% block css_import %} +{{ block.super }} + +{% endblock %} + {% block content %} -
    - {% block iricontent %}{% endblock %} -
    +{% if user.is_authenticated %} + +{% endif %} +
    + {% block iricontent %}{% endblock %} +
    {% endblock%} diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/urls.py --- a/src/ldt/ldt/user/urls.py Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/user/urls.py Fri Aug 19 11:31:57 2011 +0200 @@ -4,9 +4,8 @@ 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'^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.*)$', 'ldt.ldt_utils.views.index_project'), # url(r'^space/ldt/init/(?P.*)/(?P.*)$', 'ldt.ldt_utils.views.init'), diff -r 2a162639d2f8 -r a9bddd86aa25 src/ldt/ldt/user/views.py --- a/src/ldt/ldt/user/views.py Fri Aug 19 10:58:10 2011 +0200 +++ b/src/ldt/ldt/user/views.py Fri Aug 19 11:31:57 2011 +0200 @@ -1,32 +1,18 @@ from django.contrib.auth import authenticate, login, logout from django.contrib.auth.decorators import login_required -from django.core.urlresolvers import reverse +from django.contrib.auth.forms import PasswordChangeForm from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import render_to_response from django.template import RequestContext, loader 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 -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)) + return render_to_response('ldt/user/user_base.html', context_instance=RequestContext(request)) @@ -54,21 +40,28 @@ else: return HttpResponse(simplejson.dumps({'message': error_message, })) return render_to_response('ldt/user/login_ajax.html', context_instance=RequestContext(request)) + @login_required -def change_email(request, post_change_redirect=None): - if post_change_redirect is None: - post_change_redirect = reverse('ldt.user.views.change_email_done') +def change_email(request): if request.method == "POST": form = EmailChangeForm(request.user, request.POST) if form.is_valid(): form.save() - return HttpResponseRedirect(post_change_redirect) + form = None else: form = EmailChangeForm(request.user) return render_to_response('ldt/user/change_email.html', {'form': form, }, context_instance=RequestContext(request)) + -@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): + if request.method == "POST": + form = PasswordChangeForm(request.user, request.POST) + if form.is_valid(): + form.save() + form = None + else: + form = PasswordChangeForm(request.user) + return render_to_response('ldt/user/change_password.html', {'form': form, }, context_instance=RequestContext(request))