Zine

open source content publishing system


Changeset 1:353c0fb6a2b2


Ignore:
Timestamp:
06/29/07 11:59:21 (5 years ago)
Author:
blackbird@…
Branch:
default
Message:

some more changes in the admin panel

Location:
textpress
Files:
3 added
11 edited

Legend:

Unmodified
Added
Removed
  • textpress/models.py

    r0 r1  
    550550        primaryjoin=comments.c.parent_id == comments.c.comment_id, 
    551551        cascade='all', order_by=[db.asc(comments.c.pub_date)], 
    552         backref=db.backref('parent', remote_side=[comments.c.comment_id]) 
     552        backref=db.backref('parent', remote_side=[comments.c.comment_id]), 
     553        lazy=True 
    553554    ) 
    554555}, order_by=[db.desc(comments.c.pub_date)]) 
     
    560561    'tags':         db.relation(Tag, secondary=post_tags, lazy=False, 
    561562                                order_by=[db.asc(tags.c.name)], 
    562                                 cascade='all', backref='posts') 
     563                                cascade='all, expunge', backref='posts') 
    563564}, order_by=[db.desc(posts.c.pub_date)]) 
  • textpress/shared/admin/style.css

    r0 r1  
    205205} 
    206206 
     207div.contents input[name="delete"]:hover { 
     208    background-color: #d00; 
     209    color: white; 
     210} 
     211 
    207212div.contents fieldset { 
    208213    margin: 10px 0 0 0; 
     
    280285div.contents table tr.even { 
    281286    background-color: #f2f2f2; 
     287} 
     288 
     289p.preview { 
     290    text-align: right; 
    282291} 
    283292 
  • textpress/templates/admin/edit_post.html

    r0 r1  
    8080      </fieldset> 
    8181    {%- endif %} 
     82    {% if not new_post %} 
     83      <p class="preview"> 
     84        <a href="{{ url_for(post) }}">{% trans "View Post" %}</a> 
     85      </p> 
     86    {% endif %} 
    8287    <div class="actions"> 
    8388      <input type="submit" name="save_and_new" value="{% trans 'Save' %}"> 
    8489      <input type="submit" name="save_and_continue" value="{% trans 'Save and continue editing' %}"> 
     90      {%- if not new_post %} 
     91        <input type="submit" name="delete" value="{% trans 'Delete' %}"> 
     92      {%- endif %} 
    8593      <input type="submit" name="cancel" value="{% trans 'Cancel' %}"> 
    8694    </div> 
  • textpress/templates/admin/edit_tag.html

    r0 r1  
    2828    <div class="actions"> 
    2929      <input type="submit" value="{% trans 'Save' %}"> 
     30      <input type="submit" name="delete" value="{% trans 'Delete' %}"> 
    3031      <input type="submit" name="cancel" value="{% trans 'Cancel' %}"> 
    3132    </div> 
  • textpress/urls.py

    r0 r1  
    3535        Rule('/posts/new', endpoint='admin/new_post'), 
    3636        Rule('/posts/<int:post_id>', endpoint='admin/edit_post'), 
     37        Rule('/posts/<int:post_id>/delete', endpoint='admin/delete_post'), 
    3738        Rule('/tags/', endpoint='admin/show_tags'), 
    3839        Rule('/tags/new', endpoint='admin/new_tag'), 
    39         Rule('/tags/<int:tag_id>', endpoint='admin/edit_tag') 
     40        Rule('/tags/<int:tag_id>', endpoint='admin/edit_tag'), 
     41        Rule('/tags/<int:tag_id>/delete', endpoint='admin/delete_tag'), 
     42        Rule('/users/', endpoint='admin/show_users'), 
     43        Rule('/users/new', endpoint='admin/new_user'), 
     44        Rule('/users/<int:user_id>', endpoint='admin/edit_user'), 
     45        Rule('/users/<int:user_id>/delete', endpoint='admin/delete_user') 
    4046    ]) 
    4147] 
  • textpress/views/__init__.py

    r0 r1  
    3030    'admin/new_post':       admin.do_edit_post, 
    3131    'admin/edit_post':      admin.do_edit_post, 
     32    'admin/delete_post':    admin.do_delete_post, 
    3233    'admin/show_tags':      admin.do_show_tags, 
    3334    'admin/new_tag':        admin.do_edit_tag, 
    3435    'admin/edit_tag':       admin.do_edit_tag, 
     36    'admin/delete_tag':     admin.do_delete_tag, 
     37    'admin/show_users':     admin.do_show_users, 
     38    'admin/new_user':       admin.do_edit_user, 
     39    'admin/edit_user':      admin.do_edit_user, 
     40    'admin/delete_user':    admin.do_delete_user, 
    3541    'admin/login':          admin.do_login, 
    3642    'admin/logout':         admin.do_logout 
  • textpress/views/admin.py

    r0 r1  
    3333            ('overview', url_for('admin/show_tags'), _('Overview')), 
    3434            ('edit', url_for('admin/new_tag'), _('Edit Tag')) 
     35        ]), 
     36        ('users', url_for('admin/show_users'), _('Users'), [ 
     37            ('overview', url_for('admin/show_users'), _('Users')), 
     38            ('edit', url_for('admin/new_user'), _('Edit User')) 
    3539        ]) 
    3640    ] 
     
    6973    errors = [] 
    7074    form = {} 
     75    post=None 
    7176 
    7277    # edit existing post 
     
    110115            redirect(url_for('admin/show_posts')) 
    111116 
     117        # handle delete, redirect to confirmation page 
     118        if req.form.get('delete') and post_id is not None: 
     119            redirect(url_for('admin/delete_post', post_id=post_id)) 
     120 
    112121        form['title'] = title = req.form.get('title') 
    113122        if not title: 
     
    197206        tags=Tag.select(), 
    198207        created=created, 
     208        new_post=new_post, 
     209        post=post, 
    199210        post_status_choices=[ 
    200211            (STATUS_PUBLISHED, _('Published')), 
     
    203214        ] 
    204215    ) 
     216 
     217 
     218def do_delete_post(req, post_id): 
     219    post = Post.get(post_id) 
     220    if post is None: 
     221        redirect(url_for('admin/show_posts')) 
     222 
     223    if req.method == 'POST': 
     224        if req.form.get('cancel'): 
     225            redirect(url_for('admin/edit_post', post_id=post.post_id)) 
     226        elif req.form.get('confirm'): 
     227            post.delete() 
     228            db.flush() 
     229            redirect(url_for('admin/show_posts')) 
     230 
     231    return render_admin_response('admin/delete_post.html', post=post) 
    205232 
    206233 
     
    229256 
    230257    if req.method == 'POST': 
     258        # cancel 
    231259        if req.form.get('cancel'): 
    232260            redirect(url_for('admin/show_tags')) 
     261 
     262        # delete 
     263        if req.form.get('delete'): 
     264            redirect(url_for('admin/delete_tag', tag_id=tag.tag_id)) 
    233265 
    234266        form['slug'] = slug = req.form.get('slug') 
     
    256288        form=form 
    257289    ) 
     290 
     291 
     292def do_delete_tag(req, tag_id): 
     293    tag = Tag.get(tag_id) 
     294    if tag is None: 
     295        redirect(url_for('admin/show_tags')) 
     296 
     297    if req.method == 'POST': 
     298        if req.form.get('cancel'): 
     299            redirect(url_for('admin/edit_tag', tag_id=tag.tag_id)) 
     300        elif req.form.get('confirm'): 
     301            tag.delete() 
     302            db.flush() 
     303            redirect(url_for('admin/show_tags')) 
     304 
     305    return render_admin_response('admin/delete_tag.html', tag=tag) 
     306 
     307 
     308def do_show_users(req): 
     309    return render_admin_response('admin/show_users.html', users=User.select()) 
     310 
     311 
     312def do_edit_user(req, user_id=None): 
     313    pass 
     314 
     315 
     316def do_delete_user(req, user_id): 
     317    pass 
    258318 
    259319 
Note: See TracChangeset for help on using the changeset viewer.