diff --git a/cao_blogr.sqlite b/cao_blogr.sqlite index 523635b..753f26b 100644 Binary files a/cao_blogr.sqlite and b/cao_blogr.sqlite differ diff --git a/cao_blogr/alembic/versions/20220501_07fa8fad6cc3.py b/cao_blogr/alembic/versions/20220501_07fa8fad6cc3.py deleted file mode 100644 index 672af29..0000000 --- a/cao_blogr/alembic/versions/20220501_07fa8fad6cc3.py +++ /dev/null @@ -1,62 +0,0 @@ -"""init - -Revision ID: 07fa8fad6cc3 -Revises: -Create Date: 2022-05-01 10:48:25.244455 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = '07fa8fad6cc3' -down_revision = None -branch_labels = None -depends_on = None - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('tags', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('topic', sa.Unicode(length=25), nullable=True), - sa.Column('tag', sa.Unicode(length=25), nullable=True), - sa.Column('tag_name', sa.Unicode(length=25), nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('pk_tags')) - ) - op.create_index('topic_index', 'tags', ['topic', 'tag'], unique=False) - op.create_table('topics', - sa.Column('topic', sa.Unicode(length=25), nullable=False), - sa.Column('topic_name', sa.Unicode(length=25), nullable=False), - sa.PrimaryKeyConstraint('topic', name=op.f('pk_topics')) - ) - op.create_table('users', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('name', sa.Unicode(length=255), nullable=False), - sa.Column('password', sa.Unicode(length=255), nullable=False), - sa.Column('last_logged', sa.DateTime(), nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('pk_users')), - sa.UniqueConstraint('name', name=op.f('uq_users_name')) - ) - op.create_table('entries', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('title', sa.Unicode(length=255), nullable=False), - sa.Column('body', sa.UnicodeText(), nullable=True), - sa.Column('body_html', sa.UnicodeText(), nullable=True), - sa.Column('created', sa.DateTime(), nullable=True), - sa.Column('edited', sa.DateTime(), nullable=True), - sa.Column('topic_id', sa.Unicode(length=25), nullable=False), - sa.ForeignKeyConstraint(['topic_id'], ['topics.topic'], name=op.f('fk_entries_topic_id_topics')), - sa.PrimaryKeyConstraint('id', name=op.f('pk_entries')), - sa.UniqueConstraint('title', name=op.f('uq_entries_title')) - ) - # ### end Alembic commands ### - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('entries') - op.drop_table('users') - op.drop_table('topics') - op.drop_index('topic_index', table_name='tags') - op.drop_table('tags') - # ### end Alembic commands ### diff --git a/cao_blogr/alembic/versions/20220501_1a99bede8b76.py b/cao_blogr/alembic/versions/20220501_1a99bede8b76.py deleted file mode 100644 index defe395..0000000 --- a/cao_blogr/alembic/versions/20220501_1a99bede8b76.py +++ /dev/null @@ -1,26 +0,0 @@ -"""init - -Revision ID: 1a99bede8b76 -Revises: 1c62fb741d2f -Create Date: 2022-05-01 16:50:53.674187 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = '1a99bede8b76' -down_revision = '1c62fb741d2f' -branch_labels = None -depends_on = None - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.add_column('entries', sa.Column('title_url', sa.Unicode(length=255), nullable=True)) - # ### end Alembic commands ### - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_column('entries', 'title_url') - # ### end Alembic commands ### diff --git a/cao_blogr/alembic/versions/20220505_5ad5927ad64d.py b/cao_blogr/alembic/versions/20220505_5ad5927ad64d.py deleted file mode 100644 index 35393b4..0000000 --- a/cao_blogr/alembic/versions/20220505_5ad5927ad64d.py +++ /dev/null @@ -1,30 +0,0 @@ -"""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/alembic/versions/20220501_1c62fb741d2f.py b/cao_blogr/alembic/versions/20220510_a35fa375a82f.py similarity index 58% rename from cao_blogr/alembic/versions/20220501_1c62fb741d2f.py rename to cao_blogr/alembic/versions/20220510_a35fa375a82f.py index 914aa5a..76edf9e 100644 --- a/cao_blogr/alembic/versions/20220501_1c62fb741d2f.py +++ b/cao_blogr/alembic/versions/20220510_a35fa375a82f.py @@ -1,8 +1,8 @@ """init -Revision ID: 1c62fb741d2f -Revises: 07fa8fad6cc3 -Create Date: 2022-05-01 11:16:29.476581 +Revision ID: a35fa375a82f +Revises: +Create Date: 2022-05-10 08:28:42.146580 """ from alembic import op @@ -10,17 +10,17 @@ import sqlalchemy as sa # revision identifiers, used by Alembic. -revision = '1c62fb741d2f' -down_revision = '07fa8fad6cc3' +revision = 'a35fa375a82f' +down_revision = None branch_labels = None depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.add_column('entries', sa.Column('tag', sa.Unicode(length=25), nullable=True)) + op.add_column('topics', sa.Column('topic_quote', sa.Unicode(length=255), nullable=True)) # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.drop_column('entries', 'tag') + op.drop_column('topics', 'topic_quote') # ### end Alembic commands ### diff --git a/cao_blogr/forms.py b/cao_blogr/forms.py index 6ff35cf..51926ef 100644 --- a/cao_blogr/forms.py +++ b/cao_blogr/forms.py @@ -32,3 +32,13 @@ class ContactForm(Form): filters=[strip_filter]) comments = TextAreaField('Message', validators=[InputRequired(), Length(min=1)], filters=[strip_filter]) + +class TopicForm(Form): + topic = StringField('Rubrique', validators=[InputRequired(), Length(min=1, max=25)], + filters=[strip_filter]) + topic_name = StringField('Intitulé', validators=[InputRequired(), Length(min=1, max=25)], + filters=[strip_filter]) + topic_quote = TextAreaField('Citation', validators=[InputRequired(), Length(min=1)], + filters=[strip_filter]) + + diff --git a/cao_blogr/models/blog_record.py b/cao_blogr/models/blog_record.py index b3450da..b9ba8b2 100644 --- a/cao_blogr/models/blog_record.py +++ b/cao_blogr/models/blog_record.py @@ -20,13 +20,12 @@ class BlogRecord(Base): id = Column(Integer, primary_key=True) title = Column(Unicode(255), unique=True, nullable=False) body = Column(UnicodeText, default='') - 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') tag = Column(Unicode(25)) + author = Column(Unicode(50), default='') @property def slug(self): @@ -41,6 +40,7 @@ class Topics(Base): __tablename__ = 'topics' topic = Column(Unicode(25), primary_key=True) topic_name = Column(Unicode(25), nullable=False) + topic_quote = Column(Unicode(255), default='') class Tags(Base): __tablename__ = 'tags' diff --git a/cao_blogr/routes.py b/cao_blogr/routes.py index 9d1fe48..67e63a0 100644 --- a/cao_blogr/routes.py +++ b/cao_blogr/routes.py @@ -9,6 +9,8 @@ def includeme(config): config.add_route('logout', '/logout') config.add_route('settings', '/settings') config.add_route('topic', '/topic/{topic}') + config.add_route('topic_edit', '/topic_edit/{topic}') + config.add_route('topics', '/topics') config.add_route('users', '/users') config.add_route('user_add', '/user_add/{name}') config.add_route('user_pwd', '/user_pwd/{name}') diff --git a/cao_blogr/services/blog_record.py b/cao_blogr/services/blog_record.py index 771e44a..7aa54e7 100644 --- a/cao_blogr/services/blog_record.py +++ b/cao_blogr/services/blog_record.py @@ -43,10 +43,16 @@ class BlogRecordService(object): return query @classmethod - def get_topic_name(cls, request, id): - # gest the name of a given topic + def get_topic_byTopic(cls, request, id): + # get the name of a given topic query = request.dbsession.query(Topics).filter(Topics.topic == id).first() - return query.topic_name.upper() + return query + + @classmethod + def get_topics(cls, request): + # get all topics + query = request.dbsession.query(Topics).order_by(Topics.topic).all() + return query @classmethod def delete(cls, request, id): diff --git a/cao_blogr/templates/layout.jinja2 b/cao_blogr/templates/layout.jinja2 index 1fab712..e19a201 100644 --- a/cao_blogr/templates/layout.jinja2 +++ b/cao_blogr/templates/layout.jinja2 @@ -54,16 +54,16 @@
+ + Retour + + Nouvel utilisateur +
+ +| Rubrique | +Nom | +
|---|---|
| {{ entry.topic }} | ++ + {{ entry.topic_name }} + + | +