Merged trunk back in here.

This commit is contained in:
Raoul Snyman 2010-02-16 21:50:57 +02:00
commit f824ce014a
4 changed files with 34 additions and 14 deletions

View File

@ -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))

View File

@ -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;
}

View File

@ -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 &amp; Publish" class="form-button"/>
<input type="submit" name="post-action" value="Save Draft" class="form-button"/>
<input type="submit" name="post-action" value="Save &amp; Publish" class="form-button"/>
% endif
</div>
</fieldset>

View File

@ -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 &amp; 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 &amp; Publish" class="form-button"/>
</div>
</fieldset>
</form>