From d89df35cad40b1363c567d9af5b27e0cbf99eee5 Mon Sep 17 00:00:00 2001 From: Facundo Olano Date: Tue, 13 Aug 2013 15:56:38 -0300 Subject: [PATCH 1/2] changed occurences of objects.get with objects.filter --- locking/admin.py | 22 +++++++++++----------- locking/forms.py | 6 +++--- locking/views.py | 12 ++++++------ 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/locking/admin.py b/locking/admin.py index a838a31..5f8b46c 100644 --- a/locking/admin.py +++ b/locking/admin.py @@ -16,7 +16,7 @@ class LockableAdmin(admin.ModelAdmin): class Media: js = ( - 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js', + 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js', _s.STATIC_URL + 'locking/js/jquery.url.packed.js', _s.ADMIN_URL + "ajax/variables.js", _s.STATIC_URL + "locking/js/admin.locking.js?v=1" @@ -30,23 +30,23 @@ def get_form(self, request, obj=None, *args, **kwargs): return form def changelist_view(self, request, extra_context=None): - # we need the request objects in a few places where it's usually not present, + # we need the request objects in a few places where it's usually not present, # so we're tacking it on to the LockableAdmin class self.request = request return super(LockableAdmin, self).changelist_view(request, extra_context) def save_model(self, request, obj, form, change, *args, **kwargs): - + super(LockableAdmin, self).save_model(request, obj, form, change, *args, **kwargs) - + try: # object creation doesn't need/have locking in place content_type = ContentType.objects.get_for_model(obj) - obj = Lock.objects.get(entry_id=obj.id, + obj = Lock.objects.filter(entry_id=obj.id, app=content_type.app_label, - model=content_type.model) + model=content_type.model)[0] obj.unlock_for(request.user) obj.save() except: @@ -66,9 +66,9 @@ def get_lock_for_admin(self_obj, obj): content_type = ContentType.objects.get_for_model(obj) try: - lock = Lock.objects.get(entry_id=obj.id, + lock = Lock.objects.filter(entry_id=obj.id, app=content_type.app_label, - model=content_type.model) + model=content_type.model)[0] class_name = 'locked' locked_by = lock.locked_by.username output = str(obj.id) @@ -77,10 +77,10 @@ def get_lock_for_admin(self_obj, obj): if lock.is_locked: seconds_remaining = lock.lock_seconds_remaining - minutes_remaining = seconds_remaining/60 + minutes_remaining = seconds_remaining / 60 locked_until = _("Still locked for %s more minute(s) by %s.") \ % (minutes_remaining, lock.locked_by) - if self_obj.request.user == lock.locked_by: + if self_obj.request.user == lock.locked_by: locked_until_self = _( "You have a lock on this content for %s more minute(s)." ) % (minutes_remaining) @@ -95,7 +95,7 @@ def get_lock_for_admin(self_obj, obj): '''\ % (_s.STATIC_URL, locked_until) full_name = "%s %s" % ( - lock.locked_by.first_name,lock.locked_by.last_name) + lock.locked_by.first_name, lock.locked_by.last_name) return u''' %s%s''' % (output, class_name, diff --git a/locking/forms.py b/locking/forms.py index fd19d85..4084f64 100644 --- a/locking/forms.py +++ b/locking/forms.py @@ -17,10 +17,10 @@ def clean(self): self.cleaned_data = super(LockingForm, self).clean() try: content_type = ContentType.objects.get_for_model(self.obj) - lock = Lock.objects.get(entry_id=self.obj.id, app=content_type.app_label, model=content_type.model) + lock = Lock.objects.filter(entry_id=self.obj.id, app=content_type.app_label, model=content_type.model)[0] except: return self.cleaned_data if lock.is_locked: if lock.locked_by != self.request.user and lock.lock_type == 'hard': - raise forms.ValidationError('You cannot save this object because it is locked by user %s for roughly %s more minute(s).' % (lock.locked_by.username, lock.lock_seconds_remaining/60)) - return self.cleaned_data \ No newline at end of file + raise forms.ValidationError('You cannot save this object because it is locked by user %s for roughly %s more minute(s).' % (lock.locked_by.username, lock.lock_seconds_remaining / 60)) + return self.cleaned_data diff --git a/locking/views.py b/locking/views.py index 3ab8db9..9cb449e 100644 --- a/locking/views.py +++ b/locking/views.py @@ -20,7 +20,7 @@ def lock(request, app, model, id): if request.user and id and app and model: try: - obj = Lock.objects.get(entry_id=id, app=app, model=model) + obj = Lock.objects.filter(entry_id=id, app=app, model=model)[0] obj.lock_for(request.user) obj.save() return HttpResponse(status=200) @@ -29,7 +29,7 @@ def lock(request, app, model, id): obj = Lock() obj.entry_id = id obj.app = app - obj.model= model + obj.model = model obj.lock_for(request.user) obj.save() return HttpResponse(status=200) @@ -47,12 +47,12 @@ def unlock(request, app, model, id): # Users who don't have exclusive access to an object anymore may still # request we unlock an object. This happens e.g. when a user navigates # away from an edit screen that's been open for very long. - # When this happens, LockableModel.unlock_for will throw an exception, + # When this happens, LockableModel.unlock_for will throw an exception, # and we just ignore the request. - # That way, any new lock that may since have been put in place by another + # That way, any new lock that may since have been put in place by another # user won't get accidentally overwritten. try: - obj = Lock.objects.get(entry_id=id, app=app, model=model) + obj = Lock.objects.filter(entry_id=id, app=app, model=model)[0] obj.delete() return HttpResponse(status=200) @@ -64,7 +64,7 @@ def unlock(request, app, model, id): @is_lockable def is_locked(request, app, model, id): try: - obj = Lock.objects.get(entry_id=id, app=app, model=model) + obj = Lock.objects.filter(entry_id=id, app=app, model=model)[0] response = simplejson.dumps({ "is_active": obj.is_locked, "for_user": getattr(obj.locked_by, 'username', None), From 8da97913ebe5c1decaa502ed1c983c9e0d42b319 Mon Sep 17 00:00:00 2001 From: Facundo Olano Date: Tue, 13 Aug 2013 16:30:51 -0300 Subject: [PATCH 2/2] fixed except clause --- locking/admin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locking/admin.py b/locking/admin.py index 5f8b46c..f7c550b 100644 --- a/locking/admin.py +++ b/locking/admin.py @@ -72,7 +72,7 @@ def get_lock_for_admin(self_obj, obj): class_name = 'locked' locked_by = lock.locked_by.username output = str(obj.id) - except Lock.DoesNotExist: + except: return '' if lock.is_locked: