Changeset 2029

Show
Ignore:
Timestamp:
06/12/09 15:00:36 (9 months ago)
Author:
JensDiemer
Message:

First test: Edit page inline with jQuery/Ajax!

Files:
5 added
1 removed
3 modified
1 copied
1 moved

Legend:

Unmodified
Added
Removed
  • branches/0.9/pylucid_project/pylucid_plugins/admin_menu/templates/admin_menu/admin_top_menu.html

    r2026 r2029  
    2121--> 
    2222</style> 
     23<script type="text/javascript"> 
     24$(document).ready(function(){ 
     25    $("#edit_page").click(function() { 
     26        var url = encodeURI("{{ edit_page_ajax}}"); 
     27        console.log("get:" + url); 
     28         
     29        bodyContent = $.ajax({ 
     30            type: "GET", 
     31            url: url, 
     32            dataType: "html", 
     33             
     34            success: function(form_html){ 
     35                $("#page_content").html(form_html); 
     36            }, 
     37            error: function(XMLHttpRequest){ 
     38                 // Display the complete Traceback html page 
     39                 document.write(XMLHttpRequest.responseText); 
     40            },        
     41        }); 
     42        return false; // The browser follow the link, if true 
     43        }); 
     44}); 
     45</script> 
    2346{% endextrahead %} 
    2447 
     
    2851    </li> 
    2952    <li> 
    30         <a>{% trans 'edit page' %}</a> 
     53        <li><a href="#{{ edit_page_link }}" title="edit inline" id="edit_page">{% trans 'edit page' %}</a></li> 
    3154        <ul> 
    32             <li><a href="{{ edit_page_link }}">edit inline</a></li> 
    3355            <li><a href="{{ edit_admin_panel_link }}">edit in admin panel</a></li> 
    3456            <li><a href="{{ edit_meta_admin_panel_link }}">edit meta in admin panel</a></li> 
  • branches/0.9/pylucid_project/pylucid_plugins/admin_menu/views.py

    r2022 r2029  
    1010 
    1111def lucidTag(request): 
     12    """ 
     13    TODO: The admin menu should be build dynamic 
     14    """ 
    1215    if not request.user.is_authenticated(): 
    1316        # Don't insert the admin top menu 
    1417        return   
    1518     
    16     pagetree = request.PYLUCID.pagetree 
     19    pagetree = request.PYLUCID.pagetree # Current PageTree model instance 
    1720    if pagetree.type == PageTree.PLUGIN_TYPE: 
    1821        edit_admin_panel_link = reverse("admin_pylucid_pagetree_change", args=(pagetree.id,)) 
     
    2124        edit_admin_panel_link = reverse("admin_pylucid_pagecontent_change", args=(pagecontent.id,)) 
    2225         
    23     # Get the pagemeta instance for the current pagetree and language 
    24     pagemeta = PageTree.objects.get_pagemeta(request) 
    25          
     26    pagemeta = request.PYLUCID.pagemeta # Current PageMeta model instance 
    2627    edit_meta_admin_panel_link = reverse("admin_pylucid_pagemeta_change", args=(pagemeta.id,)) 
    2728     
    2829    context = { 
    2930        "logout_link": "?auth=logout", 
    30         "edit_page_link": "TODO", 
     31         
     32        "edit_page_link": "?page_admin=inline_edit", 
     33        "edit_page_ajax": "?page_admin=get_ajax_form", 
     34         
    3135        "edit_admin_panel_link": edit_admin_panel_link, 
    3236        "edit_meta_admin_panel_link": edit_meta_admin_panel_link, 
  • branches/0.9/pylucid_project/settings.py

    r2022 r2029  
    131131    # http://www.djangoproject.com/documentation/settings/#template-string-if-invalid 
    132132    TEMPLATE_STRING_IF_INVALID = "XXX INVALID TEMPLATE STRING '%s' XXX" 
    133     from django_tools.template import warn_invalid_template_vars 
    134     warn_invalid_template_vars.add_warning() 
     133#    from django_tools.template import warn_invalid_template_vars 
     134#    warn_invalid_template_vars.add_warning() 
    135135     
    136136