# HG changeset patch # User cavaliet # Date 1409755432 -7200 # Node ID 3684db1579ff5e7a11f391b92e6c790d907d2b43 # Parent fc89613986096114451d981cd9e4ec7fa9754bb4 folder management from hdalab : first step diff -r fc8961398609 -r 3684db1579ff .settings/org.eclipse.core.resources.prefs --- a/.settings/org.eclipse.core.resources.prefs Tue Sep 02 17:55:25 2014 +0200 +++ b/.settings/org.eclipse.core.resources.prefs Wed Sep 03 16:43:52 2014 +0200 @@ -48,6 +48,7 @@ encoding//src/hdalab/urls.py=utf-8 encoding//src/hdalab/utils.py=utf-8 encoding//src/hdalab/views/ajax.py=utf-8 +encoding//src/hdalab/views/editorial.py=utf-8 encoding//src/hdalab/views/pages.py=utf-8 encoding//src/hdalab/views/profile.py=utf-8 encoding//web/hdalab/config.py=utf-8 diff -r fc8961398609 -r 3684db1579ff src/hdabo/views.py --- a/src/hdabo/views.py Tue Sep 02 17:55:25 2014 +0200 +++ b/src/hdabo/views.py Wed Sep 03 16:43:52 2014 +0200 @@ -598,6 +598,7 @@ class AddOrUpdateFolder(TemplateView): template_name = "add_or_update_folder.html" + redirect_view = 'folders' def get(self, request, folder_pk=None): folder = None @@ -623,7 +624,7 @@ folder.save() - return redirect('folders') + return redirect(self.redirect_view) @@ -670,6 +671,7 @@ class DeleteFolder(View): + redirect_view = 'folders' def get(self, request, folder_pk=None): folder = None @@ -677,7 +679,7 @@ folder = get_object_or_404(Folder, pk=folder_pk) folder.delete() - return redirect('folders') + return redirect(self.redirect_view) diff -r fc8961398609 -r 3684db1579ff src/hdalab/settings.py --- a/src/hdalab/settings.py Tue Sep 02 17:55:25 2014 +0200 +++ b/src/hdalab/settings.py Wed Sep 03 16:43:52 2014 +0200 @@ -167,5 +167,5 @@ if 'LOGIN_REDIRECT_URL' not in locals(): LOGIN_REDIRECT_URL = BASE_URL + "hdabo" if 'LOGIN_URL' not in locals(): - LOGIN_URL = BASE_URL + "hdabo/accounts/login" + LOGIN_URL = BASE_URL + "hdalab/hdabo/accounts/login" diff -r fc8961398609 -r 3684db1579ff src/hdalab/static/hdalab/css/profile.css --- a/src/hdalab/static/hdalab/css/profile.css Tue Sep 02 17:55:25 2014 +0200 +++ b/src/hdalab/static/hdalab/css/profile.css Wed Sep 03 16:43:52 2014 +0200 @@ -29,4 +29,26 @@ } .headerSortDown{ background-image:url('../img/desc.gif'); +} + +/* editorialisation part */ +.hand_cursor { + cursor: pointer; +} + +.folder-input{ + width: 500px; +} +textarea.folder-input{ + height: 120px; +} +.remove-ds-from-folder{ + font-weight: bold; + color: #50a4a3; +} +.remove-ds-from-folder:hover{ + color: #4F5155; +} +td.list{ + padding-left: 18px !important; } \ No newline at end of file diff -r fc8961398609 -r 3684db1579ff src/hdalab/static/hdalab/js/folders.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hdalab/static/hdalab/js/folders.js Wed Sep 03 16:43:52 2014 +0200 @@ -0,0 +1,56 @@ +// -*- coding: utf-8 -*- +$(document).ready(function(){ + + $("form").bind("keypress", function (e) { + if (e.keyCode == 13) { + return false; + } + }); + + $(".remove-ds-from-folder").on( "click", function(e) { + var li = e.target.parentNode; + var dsid = li.getAttribute("data-dsid"); + var list = $("#ds_ids").val().split(","); + var index = list.indexOf(dsid); + if (index > -1) { + list.splice(index, 1); + li.parentNode.removeChild(li); + } + $("#ds_ids").val( list.join(",") ); + }); + + function loadDatasheets(url, data){ + $.ajax({ + url: url, + type: 'GET', + data: data, + // bug with jquery >= 1.5, "json" adds a callback so we don't specify dataType + //dataType: 'json', + success: function(msg, textStatus, XMLHttpRequest) { + $('#ds-search-list').html(msg); + $(".ajax-link").click(function(e){ + e.preventDefault(); + loadDatasheets(e.target.getAttribute("href")); + }); + $(".result_link").click(function(e){ + var dsid = e.target.getAttribute("data-dsid"); + // add datasheet id to the folder's list + $("#ds_ids").val( $("#ds_ids").val() + (($("#ds_ids").val()=="") ? "" : ",") + dsid ); + // add datasheet id to the folder's list + var newds = $("#ds-list").append('
  • ' + e.target.innerHTML + ' X
  • '); + }); + }, + error: function(jqXHR, textStatus, errorThrown) { + resp = $.parseJSON(jqXHR.responseText); + alert(resp.message); + } + }); + } + + $("#ok_search").click(function(){ + if($("#ds-search").val()!=""){ + loadDatasheets(search_url, { q:$('#ds-search').val() }); + } + }); + +}); diff -r fc8961398609 -r 3684db1579ff src/hdalab/templates/editorial/add_or_update_folder.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hdalab/templates/editorial/add_or_update_folder.html Wed Sep 03 16:43:52 2014 +0200 @@ -0,0 +1,44 @@ +{% extends "base.html" %} +{% load static %} +{% block title %}Hdalab - Éditorialisation : Créer ou modifier un dossier{% endblock %} + +{% block css_import %} +{{block.super}} + +{% endblock %} + +{% block js_import %} +{{block.super}} + + +{% endblock %} + +{% block main_content %} +
    +{% csrf_token %} +{% if folder %}{% endif %} +

    Url (adresse de la page sur le portail Histoire de Arts) :
    + +

    +

    Titre :

    +

    Description :

    +

     

    +

    Liste des fiches associées au dossier :

    + + +

    Rechercher dans les fiches existantes (cliquez sur un résultat pour l'ajouter) :

    +

    OK +

    +

     

    +

     

    + +
    +{% endblock %} diff -r fc8961398609 -r 3684db1579ff src/hdalab/templates/editorial/folders.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hdalab/templates/editorial/folders.html Wed Sep 03 16:43:52 2014 +0200 @@ -0,0 +1,33 @@ +{% extends "base.html" %} +{% load static %} +{% load hdabo_tags %} +{% block title %}HdaLab - Éditorialisation : Tous les dossiers{% endblock %} + +{% block css_import %} +{{block.super}} + +{% endblock %} + +{% block main_content %} +

    Nouveau dossier

    + + + + + + + + + + {% for f in folders %} + + + + + + + + + {% endfor %} +
    UrlTitreDescriptionListeÉditerEffacer
    {{f.url|short_url}}{{f.title}}{{f.description}}
      {% for d in f.datasheets.all %}
    • {{ d.title }}
    • {% endfor %}
    +{% endblock %} diff -r fc8961398609 -r 3684db1579ff src/hdalab/urls.py --- a/src/hdalab/urls.py Tue Sep 02 17:55:25 2014 +0200 +++ b/src/hdalab/urls.py Wed Sep 03 16:43:52 2014 +0200 @@ -4,6 +4,8 @@ from hdalab.views.profile import ProfileHome, RenkanEdit, HdalabRenkanGetPut,\ RenkanNew, RenkanPublicList, HdalabRenkanCopy, HdalabRenkanDelete from django.contrib.auth.decorators import login_required +from hdalab.views.editorial import HdalabFolders, HdalabAddOrUpdateFolder,\ + HdalabDeleteFolder # Uncomment the next two lines to enable the admin: # from django.contrib import admin @@ -42,6 +44,10 @@ url(r'^renkan/public/$', RenkanPublicList.as_view(), name='renkan_public_list'), url(r'^ajaxlogin/$', "hdalab.views.profile.ajax_login", name='ajax_login'), url(r'^ajaxloginok/$', TemplateView.as_view(template_name="ajax_identification/ajax_login_ok.html"), name='ajax_login_ok'), + url(r'^edito/folders/$', login_required(HdalabFolders.as_view()), name='hdalab_folders'), + url(r'^edito/folder/$', login_required(HdalabAddOrUpdateFolder.as_view()), name='hdalab_add_or_update_folder'), + url(r'^edito/folder/(?P[\w-]+)$', login_required(HdalabAddOrUpdateFolder.as_view()), name='hdalab_add_or_update_folder'), + url(r'^edito/deletefolder/(?P[\w-]+)$', login_required(HdalabDeleteFolder.as_view()), name='hdalab_delete_folder'), ) diff -r fc8961398609 -r 3684db1579ff src/hdalab/views/editorial.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hdalab/views/editorial.py Wed Sep 03 16:43:52 2014 +0200 @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +''' +Created on Jul 01, 2014 + +@author: tc +''' + +#from datetime import datetime +from django.conf import settings +from django.shortcuts import get_object_or_404, redirect +#from django.views.generic import TemplateView, View +from hdabo.models import Folder +from hdabo.views import Folders, AddOrUpdateFolder, SearchDatasheet,\ + DeleteFolder + + +import logging +logger = logging.getLogger(__name__) + + +class HdalabFolders(Folders): + template_name = "editorial/folders.html" + + + +class HdalabAddOrUpdateFolder(AddOrUpdateFolder): + template_name = "editorial/add_or_update_folder.html" + redirect_view = 'hdalab_folders' + + + +class HdalabDeleteFolder(DeleteFolder): + redirect_view = 'hdalab_folders' \ No newline at end of file