def _edit_page(user, app, context): if context.method=='get': btn = context.get_argument('btn', '') if btn=='edit': p = model.get_post(context.get_argument('id'), static=True, published_only=False) return { '__view__' : 'manage_editor', 'post' : p, } return __get_page_list(context) if context.method=='post': btn = context.get_argument('btn', '') id = context.get_argument('id', '') ok = False if btn=='edit': p = model.get_post(id, True, False) if p: title = context.get_argument('title') content = context.get_argument('content') draft = context.get_argument('draft')=='True' allow_comment = context.get_argument('allow_comment')=='True' state = model.POST_PUBLISHED if draft: state = model.POST_DRAFT p = model.update_page(id, user, state, title, content, allow_comment) return __json_result(False, p) elif btn=='publish': ok = model.publish_post(id, static=True) elif btn=='unpublish': ok = model.unpublish_post(id, static=True) elif btn=='delete': ok = model.delete_post(id, static=True) elif btn=='perm_delete': ok = model.delete_post(id, static=True, permanent=True) elif btn=='undelete': ok = model.undelete_post(id, static=True) if not ok: logging.warning('Operation failed: %s, id=%s' % (btn, id,)) return __get_page_list(context)
def _edit_post(user, app, context): if context.method == 'get': btn = context.get_argument('btn', '') if btn == 'edit': p = model.get_post(context.get_argument('id'), published_only=False) if user.role >= store.ROLE_AUTHOR and p.ref != user.id: raise ApplicationError('Permission denied.') return { '__view__': 'manage_editor', 'post': p, 'categories': model.get_categories(), } return __get_post_list(user, context) if context.method == 'post': btn = context.get_argument('btn', '') id = context.get_argument('id', '') ok = False if btn == 'edit' and user.role >= store.ROLE_AUTHOR: p = model.get_post(id, False, False) if p and p.ref == user.id: title = context.get_argument('title') content = context.get_argument('content') category = model.get_category(context.get_argument('category')) tags = context.get_argument('tags') draft = context.get_argument('draft') == 'True' allow_comment = context.get_argument('allow_comment') == 'True' state = model.POST_PUBLISHED if draft: state = model.POST_DRAFT p = model.update_post(id, user, state, title, content, category, tags, allow_comment) return __json_result(False, p) elif btn == 'publish' and user.role >= store.ROLE_AUTHOR: p = model.get_post(id, False, False) if p and p.ref == user.id: ok = model.pending_post(id) elif btn == 'publish' and user.role <= store.ROLE_EDITOR: ok = model.publish_post(id) elif btn == 'unpublish' and user.role <= store.ROLE_EDITOR: ok = model.unpublish_post(id) elif btn == 'approve' and user.role <= store.ROLE_EDITOR: ok = model.approve_post(id) elif btn == 'delete' and user.role <= store.ROLE_EDITOR: ok = model.delete_post(id) elif btn == 'perm_delete' and user.role <= store.ROLE_EDITOR: ok = model.delete_post(id, permanent=True) elif btn == 'undelete' and user.role <= store.ROLE_EDITOR: ok = model.undelete_post(id) if not ok: logging.warning('Operation failed: %s, id=%s' % ( btn, id, )) return __get_post_list(user, context)
def _edit_post(user, app, context): if context.method=='get': btn = context.get_argument('btn', '') if btn=='edit': p = model.get_post(context.get_argument('id'), published_only=False) if user.role >= store.ROLE_AUTHOR and p.ref != user.id: raise ApplicationError('Permission denied.') return { '__view__' : 'manage_editor', 'post' : p, 'categories' : model.get_categories(), } return __get_post_list(user, context) if context.method=='post': btn = context.get_argument('btn', '') id = context.get_argument('id', '') ok = False if btn=='edit' and user.role >= store.ROLE_AUTHOR: p = model.get_post(id, False, False) if p and p.ref==user.id: title = context.get_argument('title') content = context.get_argument('content') category = model.get_category(context.get_argument('category')) tags = context.get_argument('tags') draft = context.get_argument('draft')=='True' allow_comment = context.get_argument('allow_comment')=='True' state = model.POST_PUBLISHED if draft: state = model.POST_DRAFT p = model.update_post(id, user, state, title, content, category, tags, allow_comment) return __json_result(False, p) elif btn=='publish' and user.role >= store.ROLE_AUTHOR: p = model.get_post(id, False, False) if p and p.ref==user.id: ok = model.pending_post(id) elif btn=='publish' and user.role <= store.ROLE_EDITOR: ok = model.publish_post(id) elif btn=='unpublish' and user.role <= store.ROLE_EDITOR: ok = model.unpublish_post(id) elif btn=='approve' and user.role <= store.ROLE_EDITOR: ok = model.approve_post(id) elif btn=='delete' and user.role <= store.ROLE_EDITOR: ok = model.delete_post(id) elif btn=='perm_delete' and user.role <= store.ROLE_EDITOR: ok = model.delete_post(id, permanent=True) elif btn=='undelete' and user.role <= store.ROLE_EDITOR: ok = model.undelete_post(id) if not ok: logging.warning('Operation failed: %s, id=%s' % (btn, id,)) return __get_post_list(user, context)
def _edit_page(user, app, context): if context.method == 'get': btn = context.get_argument('btn', '') if btn == 'edit': p = model.get_post(context.get_argument('id'), static=True, published_only=False) return { '__view__': 'manage_editor', 'post': p, } return __get_page_list(context) if context.method == 'post': btn = context.get_argument('btn', '') id = context.get_argument('id', '') ok = False if btn == 'edit': p = model.get_post(id, True, False) if p: title = context.get_argument('title') content = context.get_argument('content') draft = context.get_argument('draft') == 'True' allow_comment = context.get_argument('allow_comment') == 'True' state = model.POST_PUBLISHED if draft: state = model.POST_DRAFT p = model.update_page(id, user, state, title, content, allow_comment) return __json_result(False, p) elif btn == 'publish': ok = model.publish_post(id, static=True) elif btn == 'unpublish': ok = model.unpublish_post(id, static=True) elif btn == 'delete': ok = model.delete_post(id, static=True) elif btn == 'perm_delete': ok = model.delete_post(id, static=True, permanent=True) elif btn == 'undelete': ok = model.undelete_post(id, static=True) if not ok: logging.warning('Operation failed: %s, id=%s' % ( btn, id, )) return __get_page_list(context)