diff --git a/spa/models/Mix.py b/spa/models/Mix.py
index 11e49af..bb539fa 100644
--- a/spa/models/Mix.py
+++ b/spa/models/Mix.py
@@ -84,7 +84,6 @@ class Mix(_BaseModel):
def get_date_as_rfc822(self):
return rfc822.formatdate(rfc822.mktime_tz(rfc822.parsedate_tz(self.upload_date.strftime("%a, %d %b %Y %H:%M:%S"))))
-
@classmethod
def get_for_username(cls, user):
queryset = Mix.objects.filter(user__profile_slug__exact=user).order_by( '-id')
@@ -93,25 +92,23 @@ class Mix(_BaseModel):
@classmethod
def get_listing(cls, listing_type, user=None):
queryset = None
+ candidates = Mix.objects\
+ .filter(waveform_generated=True)\
+ .filter(is_featured=True)
+
if listing_type == 'latest':
- queryset = Mix.objects.filter(waveform_generated=True).order_by( '-id')
+ queryset = candidates.order_by( '-id')
elif listing_type == 'toprated':
- queryset = Mix.objects.all()\
- .annotate(karma=Count('likes'))\
- .order_by('-karma')
+ queryset = candidates.annotate(karma=Count('likes')).order_by('-karma')
elif listing_type == 'mostactive':
- queryset = Mix.objects.all()\
- .annotate(karma=Count('comments'))\
- .order_by('-karma')
+ queryset = candidates.filter(waveform_generated=True).annotate(karma=Count('comments')).order_by('-karma')
elif listing_type == 'mostplayed':
- queryset = Mix.objects.all()\
- .annotate(karma=Count('plays'))\
- .order_by('-karma')
+ queryset = queryset = candidates.annotate(karma=Count('plays')).order_by('-karma')
elif listing_type == 'recommended':
- queryset = Mix.objects.all().order_by( '-id')
+ queryset = queryset = candidates.order_by( '-id')
elif listing_type == 'favourites':
- queryset = Mix.objects.filter(favourites__user=user).order_by('favourites__date')
- debug = queryset.query
+ queryset = queryset = candidates.filter(favourites__user=user).order_by('favourites__date')
+
return queryset
@classmethod
diff --git a/spa/models/_BaseModel.py b/spa/models/_BaseModel.py
index 7e6c571..4aeb0da 100644
--- a/spa/models/_BaseModel.py
+++ b/spa/models/_BaseModel.py
@@ -47,6 +47,9 @@ class _BaseModel(models.Model):
def clean_image(self, image_field, sender):
if self.__dict__[image_field] == "DONOTSEND":
- old_instance = sender.objects.get(pk=self.pk)
- if old_instance is not None:
- self.__dict__[image_field] = old_instance.__dict__[image_field]
\ No newline at end of file
+ try:
+ old_instance = sender.objects.get(pk=self.pk)
+ if old_instance is not None:
+ self.__dict__[image_field] = old_instance.__dict__[image_field]
+ except Exception, ex:
+ pass
\ No newline at end of file
diff --git a/static/css/deepsouthsounds.css b/static/css/deepsouthsounds.css
index 5d953c9..d3f856a 100644
--- a/static/css/deepsouthsounds.css
+++ b/static/css/deepsouthsounds.css
@@ -283,11 +283,11 @@ table .headerSortUp:after {
-moz-opacity: 0.6;
opacity: 0.6;
}
-
+/*
input[type="checkbox"] {
visibility: hidden;
}
-
+*/
.slideThree {
width: 80px;
height: 26px;
diff --git a/static/js/app/views/mix.js b/static/js/app/views/mix.js
index 5f3a8a5..e01cc2a 100644
--- a/static/js/app/views/mix.js
+++ b/static/js/app/views/mix.js
@@ -236,7 +236,7 @@ window.MixCreateView = DSSEditableView.extend({
$('.fileupload', this.el).fileupload({
'uploadtype':'image'
});
- $('#mix-details', this.el).hide();
+ //$('#mix-details', this.el).hide();
$('.upload-hash', this.el).val(this.guid);
} else {
$('#div-upload-mix', this.el).hide();
diff --git a/static/js/libs/backbone/backbone.mine.js b/static/js/libs/backbone/backbone.mine.js
index eb39f42..a03dc55 100644
--- a/static/js/libs/backbone/backbone.mine.js
+++ b/static/js/libs/backbone/backbone.mine.js
@@ -72,9 +72,16 @@ window.DSSEditableView = Backbone.View.extend({
},
changed:function (evt) {
var changed = evt.currentTarget;
+ //$("#" + changed.id)
if (!com.podnoms.utils.isEmpty(changed.id)) {
- var value = $("#" + changed.id).val();
- var obj = "{\"" + changed.id + "\":\"" + value.replace(/\n/g, '
') + "\"}";
+ var value, obj;
+ if ($(changed).is(':checkbox')) {
+ value = $(changed).is(':checked');
+ obj = "{\"" + changed.id + "\":" + value + "}";
+ } else {
+ value = $(changed).val();
+ obj = "{\"" + changed.id + "\":\"" + value.replace(/\n/g, '
') + "\"}";
+ }
var objInst = JSON.parse(obj);
this.model.set(objInst);
}
@@ -149,7 +156,7 @@ window.DSSEditableView = Backbone.View.extend({
args[0].success();
},
error:function () {
- alert("Error saving release");
+ args[0].error();
}
});
}
diff --git a/templates/views/MixCreateView.html b/templates/views/MixCreateView.html
index 34652e7..0ce2e14 100644
--- a/templates/views/MixCreateView.html
+++ b/templates/views/MixCreateView.html
@@ -16,8 +16,10 @@