From 2f9c3fd6fb8da3508cf6020d090643995d9e1842 Mon Sep 17 00:00:00 2001 From: ffont Date: Fri, 31 Jul 2015 11:55:59 +0200 Subject: [PATCH] Refactores decribe, describe_license and describe_pack views --- accounts/templatetags/filefunctions.py | 5 ++- accounts/views.py | 57 +++++++++++--------------- freesound/settings.py | 2 - templates/accounts/describe.html | 41 ++---------------- templates/accounts/recursive_file.html | 36 ++++++++++------ 5 files changed, 55 insertions(+), 86 deletions(-) diff --git a/accounts/templatetags/filefunctions.py b/accounts/templatetags/filefunctions.py index e0b36031d..e0d7ca597 100644 --- a/accounts/templatetags/filefunctions.py +++ b/accounts/templatetags/filefunctions.py @@ -23,5 +23,6 @@ register = template.Library() @register.inclusion_tag('accounts/recursive_file.html') -def show_file(file_structure): - return {'file': file_structure} \ No newline at end of file +def show_file(file_structure, non_recursive=False): + print non_recursive + return {'file': file_structure, 'non_recursive': non_recursive} \ No newline at end of file diff --git a/accounts/views.py b/accounts/views.py index 6209ef6cf..b879be191 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -356,48 +356,38 @@ def handle_uploaded_image(profile, f): @login_required def describe(request): - - # Tag recommendation research code - ask_for_interface = settings.ENABLE_TAG_RECOMMENDATION_INTERFACE_EXPERIMENT - is_ie = False - if request.META.has_key('HTTP_USER_AGENT'): - user_agent = request.META['HTTP_USER_AGENT'].lower() - is_ie = ('trident' in user_agent) or ('msie' in user_agent) - file_structure, files = generate_tree(os.path.join(settings.UPLOADS_PATH, str(request.user.id))) - file_structure.name = 'Your uploaded files' + file_structure.name = '' if request.method == 'POST': form = FileChoiceForm(files, request.POST) - - # Tag recommendation research code - request.session['use_alternative_interface'] = False - if ask_for_interface: - if request.POST.get('participate_in_experiment', 'no') == 'yes': - request.session['use_alternative_interface'] = True - if form.is_valid(): - if "delete" in request.POST: # If delete button is pressed + if "delete" in request.POST: filenames = [files[x].name for x in form.cleaned_data["files"]] - return render_to_response('accounts/confirm_delete_undescribed_files.html', locals(), context_instance=RequestContext(request)) - elif "delete_confirm" in request.POST: # If confirmation delete button is pressed - for file in form.cleaned_data["files"]: - os.remove(files[file].full_path) + tvars = {'form': form, 'filenames': filenames} + return render(request, 'accounts/confirm_delete_undescribed_files.html', tvars) + elif "delete_confirm" in request.POST: + for f in form.cleaned_data["files"]: + os.remove(files[f].full_path) return HttpResponseRedirect(reverse('accounts-describe')) - elif "describe" in request.POST: # If describe button is pressed - # If only one file is choosen, go straight to the last step of the describe process, otherwise go to license selection step - if len(form.cleaned_data["files"]) > 1 : - request.session['describe_sounds'] = [files[x] for x in form.cleaned_data["files"]] + elif "describe" in request.POST: + request.session['describe_sounds'] = [files[x] for x in form.cleaned_data["files"]] + + # If only one file is choosen, go straight to the last step of the describe process, + # otherwise go to license selection step + if len(request.session['describe_sounds']) > 1: return HttpResponseRedirect(reverse('accounts-describe-license')) - else : - request.session['describe_sounds'] = [files[x] for x in form.cleaned_data["files"]] + else: return HttpResponseRedirect(reverse('accounts-describe-sounds')) else: - form = FileChoiceForm(files) # Reset form - return render_to_response('accounts/describe.html', locals(), context_instance=RequestContext(request)) + form = FileChoiceForm(files) + tvars = {'form': form, 'file_structure': file_structure} + return render(request, 'accounts/describe.html', tvars) else: form = FileChoiceForm(files) - return render_to_response('accounts/describe.html', locals(), context_instance=RequestContext(request)) + tvars = {'form': form, 'file_structure': file_structure} + return render(request, 'accounts/describe.html', tvars) + @login_required def describe_license(request): @@ -408,7 +398,9 @@ def describe_license(request): return HttpResponseRedirect(reverse('accounts-describe-pack')) else: form = NewLicenseForm({'license': License.objects.get(name='Attribution')}) - return render_to_response('accounts/describe_license.html', locals(), context_instance=RequestContext(request)) + tvars = {'form': form} + return render(request, 'accounts/describe_license.html', tvars) + @login_required def describe_pack(request): @@ -427,7 +419,8 @@ def describe_pack(request): return HttpResponseRedirect(reverse('accounts-describe-sounds')) else: form = PackForm(packs, prefix="pack") - return render_to_response('accounts/describe_pack.html', locals(), context_instance=RequestContext(request)) + tvars = {'form': form} + return render(request, 'accounts/describe_pack.html', tvars) @login_required diff --git a/freesound/settings.py b/freesound/settings.py index 54e189e52..d52b28309 100644 --- a/freesound/settings.py +++ b/freesound/settings.py @@ -327,8 +327,6 @@ # files when we do a deploy (the url changes) LAST_RESTART_DATE = datetime.datetime.now().strftime("%d%m") -ENABLE_TAG_RECOMMENDATION_INTERFACE_EXPERIMENT = False - # Followers notifications MAX_EMAILS_PER_COMMAND_RUN = 1000 NOTIFICATION_TIMEDELTA_PERIOD = datetime.timedelta(days=7) diff --git a/templates/accounts/describe.html b/templates/accounts/describe.html index b9e53d61e..5e97c2dbf 100644 --- a/templates/accounts/describe.html +++ b/templates/accounts/describe.html @@ -25,17 +25,6 @@ option.selected = false; } - {% if ask_for_interface %} - function show_popup(){ - $("#ask_for_interface").show(); - } - - function submit(form, value){ - $("#participate_in_experiment").val(value); - form.submit(); - } - {% endif %} - {% endblock %} @@ -48,10 +37,10 @@

Pick files


You can also delete files by selecting them and pressing the "delete selected files" button.
-

 

+

Your uploaded files

    - {% show_file file_structure %} + {% show_file file_structure 1 %}

@@ -64,31 +53,7 @@

Actions

{{form.as_p}}
- {% if ask_for_interface %} - - - {% else %} - - {% endif %} +

diff --git a/templates/accounts/recursive_file.html b/templates/accounts/recursive_file.html index 757453037..bc3e86a7a 100644 --- a/templates/accounts/recursive_file.html +++ b/templates/accounts/recursive_file.html @@ -1,16 +1,28 @@ {% load filefunctions %} -{% if file.is_dir %} -
  • {{file.name}} (select all) -
      +{% if not non_recursive %} + {% if file.is_dir %} +
    • {{file.name}} (select all) +
        + {% for child in file.children %} + {% show_file child %} + {% endfor %} +
      +
    • + {% else %} +
    • + + {{file.name}} + +
    • + {% endif %} +{% else %} +
        select all {% for child in file.children %} - {% show_file child %} +
      • + + {{child.name}} + +
      • {% endfor %}
      - -{% else %} -
    • - - {{file.name}} - -
    • -{% endif %} +{% endif %} \ No newline at end of file