From 84f24e7af99f6db4879ccb30352bc58bd89cdba3 Mon Sep 17 00:00:00 2001 From: Phuoc CAO Date: Thu, 5 May 2022 22:17:32 +0200 Subject: [PATCH] drop column body_html and title_url --- cao_blogr.sqlite | Bin 176128 -> 245760 bytes .../alembic/versions/20220505_5ad5927ad64d.py | 30 ++++++++++++++++++ cao_blogr/models/blog_record.py | 9 +++--- cao_blogr/services/blog_record.py | 7 ++-- cao_blogr/views/blog.py | 12 ++++--- 5 files changed, 43 insertions(+), 15 deletions(-) create mode 100644 cao_blogr/alembic/versions/20220505_5ad5927ad64d.py diff --git a/cao_blogr.sqlite b/cao_blogr.sqlite index 2a7fbe0e97888914c7781ea869b89327dd08895c..d5a11ea445cadaaaae6b7238d3e261ff85b87ff3 100644 GIT binary patch delta 1277 zcma)+U2GIp6vywG-JMyCb%VeIS%UCxRAVG?J!WHjBAw0wzXdcoITPV;U8|9!$U}F_MNp;F*CJ5;acd zcV_NA=bn4+|K6GW4>X@=$3lToLP!enA{!9@Of<1+l*B47N^FHtI!Ktr7Ue!UAazQ= z_@YvXzD);dn1+k`pYBe!0%wAO08BOI2A+K>lT&kQu)U`v-P;lFO>f)L5zeW!1E#Ey z$pilyV!TPW8{g6Wfq{|S3$G4`_oaKGNJ?A-^&0vdeAZEsWyA1U{`t-#5Ne+ay{((1dztN**2Qq=dgF@Z{1 z*8@m75<)EX0*D`Bh>Wa9?nf$-HON}zA*2SWMIJ`#kSfH7NQjlQ4B3cmLaLDpB!WDM ztV4j70{&Z4X>4JtSnk3OC%cZ8w6Ilnligs~i+a6NGPeLFjq`o!bXkya_!w5*W@QQ% z`2_{O5X?dw)LO->BAU1p%_9Pu7<}{^AMY!5F)mrj`!iY$MLLqOSd)g`}+9&E`^@P{*BH zg)7WzH=4Ik0=5-w`>d3L>pbxsah)&fXI;|dVAJ&+cyTHXmTVW3~3#SF!oivXf5)SjIA13TIYvx=(hIbDMD%bMxy4|_i z^z0Xgd1N@N^6BNAUkiMYd@Cf1K9L7DR{OS|HpZpPa2$stA2;pK_7-uv3_}}(cJ_G;& delta 266 zcmZo@;BR=qH9=Z1n}LBr8;BKvm>GyUCh8a~W;5tXoZ#jE!NA28#K6zXzmqSTPmtG* z_X&>_utKe0+%?snl(7t#igYg+terfbBPN&hPWz(I6C>bDx~I>6lJCsPu|Pn z&Y6^-QW>97lAAO6H%EeKNoGk-YJ6!?jzXAYkh6zlkcN?|>Es;FEo{16Y~qg6lNEU- zCbw`2Fmi9!;khzdf{VY1frGD#fqy-}EdMmVAAA@2ZTVmGRRJB4#J9O>UE4+hprb*6 q35XSdSbMub0pn->?aT#?f9sJYLB14+NG@e&TCiC};12)91&RP0T|#jH diff --git a/cao_blogr/alembic/versions/20220505_5ad5927ad64d.py b/cao_blogr/alembic/versions/20220505_5ad5927ad64d.py new file mode 100644 index 0000000..35393b4 --- /dev/null +++ b/cao_blogr/alembic/versions/20220505_5ad5927ad64d.py @@ -0,0 +1,30 @@ +"""init + +Revision ID: 5ad5927ad64d +Revises: 1a99bede8b76 +Create Date: 2022-05-05 15:49:10.984878 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '5ad5927ad64d' +down_revision = '1a99bede8b76' +branch_labels = None +depends_on = None + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('entries', sa.Column('author', sa.UnicodeText(), nullable=True)) + op.drop_column('entries', 'title_url') + op.drop_column('entries', 'body_html') + # ### end Alembic commands ### + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('entries', sa.Column('body_html', sa.TEXT(), nullable=True)) + op.add_column('entries', sa.Column('title_url', sa.VARCHAR(length=255), nullable=True)) + op.drop_column('entries', 'author') + # ### end Alembic commands ### diff --git a/cao_blogr/models/blog_record.py b/cao_blogr/models/blog_record.py index 7db516b..b3450da 100644 --- a/cao_blogr/models/blog_record.py +++ b/cao_blogr/models/blog_record.py @@ -19,11 +19,10 @@ class BlogRecord(Base): __tablename__ = 'entries' id = Column(Integer, primary_key=True) title = Column(Unicode(255), unique=True, nullable=False) - title_url = Column(Unicode(255)) body = Column(UnicodeText, default='') - body_html = Column(UnicodeText, default='') - created = Column(DateTime, default=datetime.datetime.utcnow) - edited = Column(DateTime, default=datetime.datetime.utcnow) + author = Column(Unicode(30), default='') + created = Column(DateTime, default=datetime.datetime.now) + edited = Column(DateTime, default=datetime.datetime.now) topic_id = Column(ForeignKey('topics.topic'), nullable=False) topic = relationship('Topics', backref='topic_pages') @@ -35,7 +34,7 @@ class BlogRecord(Base): @property def created_in_words(self): - return distance_of_time_in_words(self.created, datetime.datetime.utcnow()) + return distance_of_time_in_words(self.created, datetime.datetime.now()) class Topics(Base): diff --git a/cao_blogr/services/blog_record.py b/cao_blogr/services/blog_record.py index 7a37a3a..212f0f6 100644 --- a/cao_blogr/services/blog_record.py +++ b/cao_blogr/services/blog_record.py @@ -49,11 +49,8 @@ class BlogRecordService(object): query = request.dbsession.query(Topics).filter(Topics.topic == id).first() return query.topic_name.upper() - @classmethod - def proc_after_update(cls, request, _id): - entry = request.dbsession.query(BlogRecord).get(_id) - entry.edited = datetime.datetime.now() - entry.title_url = entry.slug + def delete(cls, request, id): + request.dbsession.query(BlogRecord).filter(BlogRecord.id == id).delete(synchronize_session=False) return diff --git a/cao_blogr/views/blog.py b/cao_blogr/views/blog.py index 8634a76..ed07acf 100644 --- a/cao_blogr/views/blog.py +++ b/cao_blogr/views/blog.py @@ -1,6 +1,7 @@ from pyramid.view import view_config from pyramid.httpexceptions import HTTPNotFound, HTTPFound from markdown2 import Markdown +import datetime #<- will be used to set default dates on models from ..models.blog_record import BlogRecord from ..services.blog_record import BlogRecordService @@ -61,7 +62,6 @@ def blog_edit(request): if 'form.submitted' in request.params and form.validate(): if blog_id == '0': form.populate_obj(entry) - entry.title_url = entry.slug entry.topic_id = topic request.dbsession.add(entry) @@ -70,12 +70,14 @@ def blog_edit(request): else: del form.id # SECURITY: prevent overwriting of primary key form.populate_obj(entry) - - # after update procedure - BlogRecordService.proc_after_update(request, blog_id) - + entry.edited = datetime.datetime.now() return HTTPFound(location=request.route_url('blog', id=entry.id, slug=entry.slug)) + if 'form.deleted' in request.params: + BlogRecordService.delete(request, blog_id) + request.session.flash("La page a été supprimée avec succès.", 'success') + return HTTPFound(location=request.route_url('topic', topic=topic)) + return { 'page_title': entry.title, 'url': url,