Merged trunk back in here.
This commit is contained in:
commit
f824ce014a
@ -22,6 +22,7 @@
|
||||
|
||||
import logging
|
||||
from datetime import datetime
|
||||
import time
|
||||
|
||||
from scribeengine.lib.base import *
|
||||
from scribeengine.lib import utils
|
||||
@ -44,6 +45,7 @@ class PostController(BaseController):
|
||||
@authenticate(u'Add Posts')
|
||||
def new(self):
|
||||
c.page_title = u'New Post'
|
||||
c.now = datetime.now()
|
||||
return render(u'/post/new.mako')
|
||||
|
||||
@authenticate(u'Edit My Posts')
|
||||
@ -60,21 +62,23 @@ class PostController(BaseController):
|
||||
|
||||
@authenticate(u'Edit My Posts')
|
||||
def edit_POST(self, id=None):
|
||||
url = utils.generate_url(c.form_values[u'title'])
|
||||
url = utils.generate_url(c.form_values[u'post-title'])
|
||||
if id is None:
|
||||
post = Post()
|
||||
post.user = c.current_user
|
||||
else:
|
||||
post = Session.query(Post).get(id)
|
||||
post.modified = datetime.now()
|
||||
post.title = c.form_values[u'title']
|
||||
post.body = c.form_values[u'body']
|
||||
if c.form_values[u'action'] == u'Save Draft':
|
||||
if c.form_values.get(u'post-authored') and c.form_values[u'post-authored']:
|
||||
post.created = datetime(*time.strptime(c.form_values[u'post-authored'], '%Y/%m/%d %H:%M:%S')[0:6])
|
||||
post.title = c.form_values[u'post-title']
|
||||
post.body = c.form_values[u'post-body']
|
||||
if c.form_values[u'post-action'] == u'Save Draft':
|
||||
post.status = u'draft'
|
||||
else:
|
||||
post.status = u'published'
|
||||
post.url = url
|
||||
tags = c.form_values[u'tags']
|
||||
tags = c.form_values[u'post-tags']
|
||||
tag_list = [tag_name.strip() for tag_name in tags.split(u',')]
|
||||
tag_urls = [utils.generate_url(tag_name) for tag_name in tags.split(u',')]
|
||||
db_tags = Session.query(Tag).filter(Tag.url.in_(tag_urls)).all()
|
||||
@ -86,7 +90,7 @@ class PostController(BaseController):
|
||||
post.tags.append(Tag(name=tag, url=utils.generate_url(tag)))
|
||||
Session.add(post)
|
||||
Session.commit()
|
||||
if c.form_values[u'action'] == u'Save Draft':
|
||||
if c.form_values[u'post-action'] == u'Save Draft':
|
||||
h.redirect_to(h.url_for(controller=u'post', action=u'draft'))
|
||||
else:
|
||||
h.redirect_to(h.url_for_post(post))
|
||||
|
@ -404,6 +404,12 @@ fieldset {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.form-hint {
|
||||
color: #454545;
|
||||
font-size: 0.8em;
|
||||
margin-top: 0.2em;
|
||||
}
|
||||
|
||||
#register-now {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
@ -18,11 +18,16 @@
|
||||
<input type="text" name="tags" id="post-tags" class="form-text" value="${c.post.tags_list}" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label for="post-authored">Authored:</label>
|
||||
<input type="text" name="post-authored" id="post-authored" class="form-text" value="${c.post.created.strftime('%Y/%m/%d %H:%M:%S')}" />
|
||||
<div class="form-hint">Date format is YYYY/MM/DD HH:MM:SS.</div>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
% if c.post.status == u'published':
|
||||
<input type="submit" name="action" value="Save" class="form-button"/>
|
||||
<input type="submit" name="post-action" value="Save" class="form-button"/>
|
||||
% else:
|
||||
<input type="submit" name="action" value="Save Draft" class="form-button"/>
|
||||
<input type="submit" name="action" value="Save & Publish" class="form-button"/>
|
||||
<input type="submit" name="post-action" value="Save Draft" class="form-button"/>
|
||||
<input type="submit" name="post-action" value="Save & Publish" class="form-button"/>
|
||||
% endif
|
||||
</div>
|
||||
</fieldset>
|
||||
|
@ -7,19 +7,24 @@
|
||||
<fieldset>
|
||||
<div class="form-item">
|
||||
<!-- <label for="post-title">Title:</label> -->
|
||||
<input type="text" name="title" id="post-title" class="form-text" />
|
||||
<input type="text" name="post-title" id="post-title" class="form-text" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<!-- <label for="post-body">Body:</label> -->
|
||||
<textarea name="body" id="post-body" class="form-textarea"></textarea>
|
||||
<textarea name="post-body" id="post-body" class="form-textarea"></textarea>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<label for="post-tags">Tags:</label>
|
||||
<input type="text" name="tags" id="post-tags" class="form-text" />
|
||||
<input type="text" name="post-tags" id="post-tags" class="form-text" />
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<input type="submit" name="action" value="Save Draft" class="form-button"/>
|
||||
<input type="submit" name="action" value="Save & Publish" class="form-button"/>
|
||||
<label for="post-authored">Authored:</label>
|
||||
<input type="text" name="post-authored" id="post-authored" class="form-text" value="${c.now.strftime('%Y/%m/%d %H:%M:%S')}" />
|
||||
<div class="form-hint">Date format is YYYY/MM/DD HH:MM:SS.</div>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<input type="submit" name="post-action" value="Save Draft" class="form-button"/>
|
||||
<input type="submit" name="post-action" value="Save & Publish" class="form-button"/>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
Reference in New Issue
Block a user