Changeset 1129

Show
Ignore:
Timestamp:
Thu Apr 13 14:57:48 2006
Author:
anonymous
Message:

增加ajax功能,完成logout的ajax处理

Files:

Legend:

Unmodified
Added
Removed
Modified
  • zqlib/tangle/limodou/blog/trunk/blog/media/digest/digest.css

    r1048 r1129  
    87 87 }  
    88 88  
      89 #userinfo {  
      90     float: right;  
      91     padding: 5px 5px 0 0;  
      92 }  
      93  
    89 94 .subheader_left {  
    90 95     line-height: 28px;  
  • zqlib/tangle/limodou/blog/trunk/blog/media/themes/home/Deliciously_Blue/woodlog.css

    r1122 r1129  
    73 73 /**************** images styles ****************/         
    74 74     a.clear {  
    75           font_weight: normal;  
      75         font-weight: normal;  
    75 75     }  
    76 76      
    77 77     a.clear hover {  
    78           font_weight: normal;  
      78         font-weight: normal;  
    78 78     }  
    79 79  
    124 124     #header {  
    125 125       width: 750px;  
    126         border: 0px  
      126       border: 0px;  
    126 126       padding-bottom: 10px;  
    127 127       padding-top: 10px;  
  • zqlib/tangle/limodou/blog/trunk/blog/media/event-selectors.js

    r1122 r1129  
    31 31  
    32 32 // Probably want to remove these and create your own.  
    33   var Rules = {  
    34      
    35     '#icons a:mouseover': function(element) {  
    36       var app = element.id;  
    37       new Effect.BlindDown(app + '-content', {queue: 'end', duration: 0.2});  
    38     },  
    39      
    40     '#icons a:mouseout': function(element) {  
    41       var app = element.id;  
    42       new Effect.BlindUp(app + '-content', {queue: 'end', duration: 0.2});  
    43     },  
    44      
    45     '#features:mouseover': function(element) {  
    46       //alert('wee mouse');  
    47     },  
    48      
    49     '#features': function(element) {  
    50       Sortable.create(element);  
    51     },  
    52      
    53     '#features li:click': function(element, event) {  
    54       new Ajax.Updater('features', 'item.html', {  
    55         asynchronous:true,  
    56         method: 'get',  
    57         evalScripts: true,  
    58         insertion: Insertion.Bottom  
    59       });  
    60     }  
    61   }  
    62    
    63 33 var EventSelectors = {  
    64 34   version: '1.0_pre',  
  • zqlib/tangle/limodou/blog/trunk/blog/apps/digest/templates/digest/index.html

    r1122 r1129  
    1 1 {% load i18n config utiltags blogtags %}  
    2   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
    3 2 <html xmlns="http://www.w3.org/1999/xhtml">  
    4 3 <head>  
     
    12 11     {% block js %}  
    13 12     <script type="text/javascript" src="{% get_app_root "medias" %}/niftycube.js"></script>  
      13     <script type="text/javascript" src="{% get_app_root "medias" %}/prototype.js"></script>  
    14 14     <script type="text/javascript">  
    15   function do_delete(){  
    16       return confirm("Do you want to really delete current item?");  
    17   }  
    18   </script>  
      15         var ids = 0;  
      16         function do_delete(){  
      17             return confirm("Do you want to really delete current item?");  
      18         }  
      19         function show_waiting(ele){  
      20             new Insertion.Top(ele, '<img class="ajax_waiting" src="{% get_app_root "medias" %}/images/waiting.gif"/>');  
      21         }  
      22         function stop_waiting(ele){  
      23             var e = $(ele)  
      24             var v = Element.extend(e.firstChild)  
      25             if(v && v.nodeName == 'IMG' && v.hasClassName('ajax_waiting'))  
      26                 v.remove();  
      27         }  
      28         function do_logout(){  
      29             show_waiting($('userinfo'));  
      30             new Ajax.Request('/logout/', {  
      31                  onSuccess : function(resp) {  
      32                    $('userinfo').innerHTML = '<a href="/login/" class="arrow">{% trans 'Log in' %}</a> <a href="/register/" class="arrow">{% trans 'Register' %}</a>';  
      33                    stop_waiting('userinfo');  
      34                  },  
      35                  onFailure : function(resp) {  
      36                    stop_waiting('userinfo');  
      37                  },  
      38                 });  
      39         }  
      40     </script>  
    19 41 {% endblock %}  
    20 42 </head>  
    22 44     <div id="content">  
    23 45         <div class="header">  
      46             <div id="userinfo">  
      47             {% if user.is_anonymous %}  
      48                 <a href="/login/" class="arrow">{% trans 'Log in' %}</a> <a href="/register/" class="arrow">{% trans 'Register' %}</a>  
      49             {% else %}  
      50                 <a href="/setting/" class="arrow">{{ user.username }}</a> | <a href="javascript:void do_logout();" class="arrow" >{% trans 'Sign out' %}</a>  
      51             {% endif %}  
      52             </div>  
    24 53             <div class="searchform">     
    25 54             <form method="GET" action="/search/" class="search">  
    26 55             <input type="submit" value="{% trans "Search" %}" class="searchbutton"/>  
    27 56             <input type="text" name="keyword" value="" maxlength="150" class="text"/>  
    28               {% if user.is_anonymous %}  
    29                   <a href="/login/">{% trans 'Log in' %}</a> <a href="/register/">{% trans 'Register' %}</a>  
    30               {% else %}  
    31                   <a href="/setting/" class="arrow">{{ user.username }}</a> | <a href="/logout/" class="arrow">{% trans 'Sign out' %}</a>  
    32               {% endif %}  
    33 57             </form>  
    34 58             </div>  
  • zqlib/tangle/limodou/blog/trunk/blog/urls.py

    r1021 r1129  
    9 9     (r'^help/$', 'django.views.generic.simple.direct_to_template',{'template':'home/help'}),  
    10 10      
    11       ('^logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}),  
      11     ('^logout/$', 'public.apps.account.views.main.logout'),  
    11 11     ('^login/$', 'public.apps.account.views.main.login'),  
    12 12     ('^register/$', 'public.apps.account.views.main.register'),  
  • zqlib/tangle/limodou/blog/trunk/blog/public/apps/account/views/main.py

    r849 r1129  
    1   from django import http, template  
    2   from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist, PermissionDenied  
    3   from django.shortcuts import get_object_or_404, render_to_response  
    4   from django.http import Http404, HttpResponse, HttpResponseRedirect  
    5   from django.template import loader  
      1 from django import template  
      2 from django.shortcuts import render_to_response  
      3 from django.http import HttpResponse, HttpResponseRedirect  
    6 4  
    7 5 from public.apps.account.views.decorators import staff_member_required  
    32 30     )  
    33 31 login = staff_member_required(login, '/')  
      32  
      33 def logout(request):  
      34     try:  
      35         del request.session[SESSION_KEY]  
      36     except:  
      37         pass  
      38     return HttpResponse('ok')  
    34 39  
    35 40 def register(request):  
  • zqlib/tangle/limodou/blog/trunk/blog/templates/themes/Deliciously_Blue/home/base.html

    r1082 r1129  
    76 76 </center>  
    77 77 </div>  
      78 {% block endofbody %}{% endblock %}  
    78 79 {{ site.othercode }}  
    79 80 </body>  
  • zqlib/tangle/limodou/blog/trunk/blog/templates/home/tags.html

    r1016 r1129  
    9 9 {% endfor %}  
    10 10 </div>  
    11   {% endblock %}  
      11 {% endblock %}  
      12  
      13 {% block js %}  
      14 {{ block.super }}  
      15 <script type="text/javascript" src="{% get_app_root "medias" %}/prototype.js"></script>  
      16 <script type="text/javascript" src="{% get_app_root "medias" %}/$E.js"></script>  
      17 <script type="text/javascript" src="{% get_app_root "medias" %}/event-selectors.js"></script>  
      18 {% endblock %}  
      19  
      20 {% block endofbody %}  
      21 <script type="text/javascript">  
      22  
      23 window.onload = function (){  
      24 var objbody = document.getElementsByTagName("body").item(0);  
      25 var showdiv = $E({'tag':'div', className:'showdiv', id:'showdiv', children:'OK'});  
      26 Element.setStyle(showdiv, {'position':'absolute', 'zIndex':10, 'border':'1px solid'});  
      27 showdiv.style.top = '100px';  
      28 showdiv.style.left = '100px';  
      29 objbody.appendChild(showdiv);  
      30 showdiv.hide();  
      31  
      32 var Rules = {  
      33    
      34   'span a:mouseover': function(element) {  
      35     var show = $('showdiv');  
      36     pos = Position.cumulativeOffset(element);  
      37     show.style.top = pos[1] - 20 + 'px'  
      38     show.style.left = pos[0] + 'px'  
      39     tagname = element.getAttribute('tagname');  
      40     text = '<a href="/settings/tags/toggle/' + tagname + '">[Visible Toggle]</a> <a href="/settings/tags/delete/' + tagname + '">[Delete]</a>';  
      41     show.innerHTML = text;  
      42     show.show();  
      43   },  
      44    
      45   'span a:mouseout': function(element) {  
      46     $('showdiv').hide();  
      47   },  
      48 }  
      49  
      50 EventSelectors.start(Rules);  
      51 }  
      52 </script>  
      53 {% endblock %}  
  • zqlib/tangle/limodou/blog/trunk/blog/templates/home/taglist.html

    r1122 r1129  
    16 16 </div>  
    17 17 </div>  
    18   {% endblock %}  
      18 {% endblock %}  
  • zqlib/tangle/limodou/blog/trunk/blog/templates/home/base.html

    r1082 r1129  
    75 75  
    76 76 </div>  
      77 {% block endofbody %}{% endblock %}  
    77 78 {{ site.othercode }}  
    78 79 </body>