started upgrading to Django 1.6: fixed transactions, settings, switched django_social_auth to python_social_auth
--- a/src/ldt/ldt/auth/__init__.py Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/auth/__init__.py Fri Mar 27 18:07:56 2015 +0100
@@ -1,5 +1,5 @@
from django.conf import settings
-from social_auth.backends import get_backends
+from social.backends.utils import load_backends
def check_access(user, obj):
@@ -13,8 +13,6 @@
"""Start list process"""
l = []
# We list all wanted backends among all availables
- for backend in get_backends():
- for backend_str in settings.AUTHENTICATION_BACKENDS:
- if backend in backend_str:
- l.append(backend)
+ for backend in load_backends(settings.AUTHENTICATION_BACKENDS).keys():
+ l.append(backend)
return l
\ No newline at end of file
--- a/src/ldt/ldt/ldt_utils/fileimport.py Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/fileimport.py Fri Mar 27 18:07:56 2015 +0100
@@ -140,7 +140,7 @@
self.src = self.id + u"/" + os.path.basename(self.src)
- @transaction.commit_on_success
+ @transaction.atomic
def save_content(self):
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Fri Mar 27 18:07:56 2015 +0100
@@ -135,7 +135,7 @@
<div id="media_field_link" class="media_fields">{{ content_form.media_obj.errors }}{{ content_form.media_obj.label_tag }}{{content_form.media_obj}}</div>
<div id="media_field_upload" class="media_fields">
- <!-- refers to chunked_upload template -->
+ <!-- refers to chunked_uploads template -->
{% include "chunked_uploads.html"%}
</div>
--- a/src/ldt/ldt/ldt_utils/views/content.py Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/views/content.py Fri Mar 27 18:07:56 2015 +0100
@@ -168,7 +168,7 @@
return media, form_status
-@transaction.commit_manually
+@transaction.atomic
def write_content_base(request, iri_id=None):
if iri_id:
instance_content = Content.safe_objects.select_related('media_obj','front_project').get(iri_id=iri_id) #@UndefinedVariable
@@ -254,29 +254,21 @@
del content_defaults[key]
#taggit management : save tags and add them after get_or_create
- logger.debug("YEAH 1")
saved_tags = content_defaults.get('tags') or []
- logger.debug("YEAH 2")
logger.debug(saved_tags)
content_defaults.pop('tags')
- logger.debug("YEAH 3")
logger.debug(content_defaults)
content, created = Content.safe_objects.get_or_create(iri_id=content_form.cleaned_data['iri_id'], defaults=content_defaults) #@UndefinedVariable
- logger.debug("YEAH 3-2")
content.tags.clear()
for t in saved_tags:
- logger.debug("YEAH 3-3 " + t)
content.tags.add(t)
- logger.debug("YEAH 4")
logger.debug(content.tags.names())
if not created and not request.user.has_perm('ldt_utils.change_content', content):
raise AttributeError("%s is not allowed to change content %s" % (request.user, content))
- logger.debug("YEAH 5")
cached_assign('change_content', request.user, content)
cached_assign('view_content', request.user, content)
everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME)
- logger.debug("YEAH 6")
if media_form.cleaned_data['media_public']:
cached_assign('view_content', everyone, content)
if media:
@@ -290,14 +282,12 @@
cached_assign('view_content', everyone, content)
else:
remove_perm('ldt_utils.view_content', everyone, content)
- logger.debug("YEAH 7")
if not created:
for attribute in ('iriurl', 'title', 'description', 'duration', 'content_creation_date', 'media_obj'):
setattr(content, attribute, content_defaults[attribute])
if request.user.is_staff and content_defaults.has_key('front_project'):
content.front_project = content_defaults['front_project']
- logger.debug("YEAH 9")
content.save()
picture_form.model = content
picture_form.save()
@@ -305,13 +295,9 @@
media_form = MediaForm(instance=media, prefix="media")
content_form = ContentForm(instance=content, prefix="content")
picture_form = PictureForm()
- logger.debug("YEAH 10")
else:
- logger.debug("YEAH 11")
form_status = 'error'
except Exception, e:
- logger.debug("YEAH 12")
- transaction.rollback()
__, value, traceback = sys.exc_info()
return False, False, False, False, False, False, e, traceback
@@ -336,13 +322,6 @@
if request.user.is_staff:
content_form.fields['front_project'].queryset = Project.objects.filter(contents__in=[instance_content])
-
- try:
- transaction.commit()
- except Exception, e:
- transaction.rollback()
- __, __, traceback = sys.exc_info()
- return False, False, False, False, False, False, e, traceback
return content_form, media_form, picture_form, form_status, instance_content, current_front_project, "", ""
@@ -459,7 +438,7 @@
@login_required
-@transaction.commit_manually
+@transaction.atomic
def delete_content(request, iri_id=None):
#Delete the project, the media if exists, and the content
if not iri_id:
@@ -477,20 +456,9 @@
if project is not None:
Project.safe_objects.get(ldt_id= project.ldt_id).delete()
except Exception, e:
- content.rollback()
- transaction.rollback()
__, __, traceback = sys.exc_info()
return False, e, traceback
- else:
- try:
- transaction.commit()
- content.commit()
- return True, "", ""
- except Exception, e:
- content.rollback()
- transaction.rollback()
- __, __, traceback = sys.exc_info()
- return False, e, traceback
+ return True, "", ""
def upload(request):
if request.method == 'POST':
--- a/src/ldt/ldt/ldt_utils/views/front.py Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/views/front.py Fri Mar 27 18:07:56 2015 +0100
@@ -26,7 +26,7 @@
# Get the most annotated contents
most_contents = Content.safe_objects.order_by('-stat_annotation__nb_annotations').select_related('stat_annotation')[:8]
# Get the active groups
- active_groups = Group.objects.select_related("profile").annotate(nb_users=Count("ldtuser")).exclude(name=settings.PUBLIC_GROUP_NAME)[:5]
+ active_groups = Group.objects.select_related("profile").annotate(nb_users=Count("user")).exclude(name=settings.PUBLIC_GROUP_NAME)[:5]
# Get the main tag list
front_tags = settings.FRONT_TAG_LIST
--- a/src/ldt/ldt/ldt_utils/views/group.py Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/views/group.py Fri Mar 27 18:07:56 2015 +0100
@@ -49,7 +49,7 @@
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def create_group(request):
if not request.user.has_perm('auth.add_group'):
return HttpResponseServerError('<h1>User %s can not create a group.</h1>' % request.user.username)
@@ -101,7 +101,7 @@
'elem_list' : get_userlist(request.user), 'profile_picture_form': picture_form}, context_instance=RequestContext(request))
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def update_group(request, group_id):
group = get_object_or_404(Group, id=group_id)
checker = get_cached_checker(request.user)
--- a/src/ldt/ldt/ldt_utils/views/workspace.py Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/views/workspace.py Fri Mar 27 18:07:56 2015 +0100
@@ -223,7 +223,7 @@
return render_to_response('ldt/ldt_utils/loading.html', context_instance=RequestContext(request))
-@transaction.commit_on_success
+@transaction.atomic
def delete_segment(request, project_id, content_id, ensemble_id, cutting_id, segment_id):
if project_id and project_id != "_" :
project = Project.safe_objects.get(ldt_id=project_id) #@UndefinedVariable
--- a/src/ldt/ldt/management/commands/initfrontproject.py Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/management/commands/initfrontproject.py Fri Mar 27 18:07:56 2015 +0100
@@ -32,7 +32,7 @@
Type 'yes' to delete, or 'no' to keep: """)
do_delete = (confirm == "yes")
- with transaction.commit_on_success():
+ with transaction.atomic():
if do_delete:
fp = content.front_project
content.front_project = None
--- a/src/ldt/ldt/management/commands/updateiriurlinprojects.py Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/management/commands/updateiriurlinprojects.py Fri Mar 27 18:07:56 2015 +0100
@@ -68,7 +68,7 @@
break
# All iri urls have been updated, we can save the project
p.ldt = lxml.etree.tostring(ldt, pretty_print=True)
- with transaction.commit_on_success():
+ with transaction.atomic():
p.save()
# This is the end
signals.post_save.connect(index_project, sender=Project)
--- a/src/ldt/ldt/security/utils.py Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/security/utils.py Fri Mar 27 18:07:56 2015 +0100
@@ -147,7 +147,7 @@
return [users_list + groups_list, admin_users + admin_groups]
def get_userlist_group(group, user):
- members = group.ldtuser_set.all()
+ members = group.user_set.all()
admin = get_users_with_perms(group)
member_list = []
--- a/src/ldt/ldt/settings.py Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/settings.py Fri Mar 27 18:07:56 2015 +0100
@@ -29,9 +29,9 @@
'ldt.management',
'ldt.indexation',
'oauth_provider',
- 'django_openid_consumer',
+ #'django_openid_consumer',
'corsheaders',
- 'social_auth',
+ 'social.apps.django_app.default',
'south',
'guardian',
'sorl.thumbnail',
@@ -50,13 +50,14 @@
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
- 'django_openid_consumer.middleware.OpenIDMiddleware',
+ #'django_openid_consumer.middleware.OpenIDMiddleware',
'ldt.ldt_utils.middleware.userprofile.LanguageMiddleware',
))
AUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL','user.LdtUser')
INITIAL_CUSTOM_USER_MIGRATION = getattr(settings, 'INITIAL_CUSTOM_USER_MIGRATION','0009_rename_auth_user_to_user_ldt_user')
+SOCIAL_AUTH_USER_MODEL = AUTH_USER_MODEL
WEB_URL = getattr(settings, 'WEB_URL', '')
WEB_AUTH = getattr(settings, 'WEB_AUTH', [])
BASE_URL = getattr(settings, 'BASE_URL', '')
@@ -68,7 +69,6 @@
MANAGERS = settings.MANAGERS
INSTALLED_APPS = settings.INSTALLED_APPS
LANGUAGES = settings.LANGUAGES
-AUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'user.LdtUser')
DECOUPAGE_BLACKLIST = getattr(settings, 'DECOUPAGE_BLACKLIST', 'de_PPP')
STREAM_URL = getattr(settings, 'STREAM_URL', '')
STREAM_PATH = getattr(settings, 'STREAM_PATH', '')