Skip to content

Commit

Permalink
fix html in news, and allow news delete
Browse files Browse the repository at this point in the history
  • Loading branch information
ericoc committed Nov 27, 2022
1 parent 4c4bd9c commit d0f8374
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 6 deletions.
31 changes: 29 additions & 2 deletions admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import os
from datetime import datetime
from functools import wraps
from flask import abort, Blueprint, flash, render_template
from flask import abort, Blueprint, flash, render_template, url_for
from flask_login import current_user, fresh_login_required
from mud_secret import PODIR, IMM_LEVELS
from database import db_session
Expand Down Expand Up @@ -32,6 +32,7 @@ def index():
return render_template('admin/portal.html.j2')


@admin.route('/news/', methods=['GET', 'POST'])
@admin.route('/news', methods=['GET', 'POST'])
@fresh_login_required
@god_required
Expand All @@ -53,7 +54,8 @@ def news():
db_session.add(new_news)
db_session.commit()
if new_news.news_id:
flash('Your message has been posted!', 'success')
edit_url = '<a href="' + url_for('admin.edit_news', edit_news_id=new_news.news_id) + '">edit it here</a>'
flash(f'Your message has been posted! You can {edit_url}.', 'success')
else:
flash('Sorry, but please try again!', 'error')

Expand Down Expand Up @@ -92,6 +94,31 @@ def edit_news(edit_news_id=None):
)


@admin.route('/news/delete/<int:delete_news_id>/', methods=['GET'])
@admin.route('/news/delete/<int:delete_news_id>', methods=['GET'])
@fresh_login_required
@god_required
def delete_news(delete_news_id=None):
"""Administration portal to allow Gods to edit news posts
/admin/news/edit"""
news_post = News.query.filter_by(news_id=delete_news_id).first()

if not news_post:
flash('Invalid news post.', 'error')
abort(400)

News.query.filter_by(news_id=news_post.news_id).delete()
db_session.commit()
flash('The news post was deleted successfully.', 'success')
sentry_sdk.capture_message(f'Admin Delete News: {current_user} deleted {news_post}')

# Show the form to add news in the administration portal
return render_template('admin/news.html.j2',
all_news=News.query.order_by(-News.created_at).all(),
news_add_form=NewsAddForm()
)


@admin.route('/account/<int:manage_account_id>', methods=['GET'])
@fresh_login_required
@god_required
Expand Down
3 changes: 1 addition & 2 deletions models.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,7 @@ class News(Base):
account = relationship('Account')

def __repr__(self):
return f'<News> "{self.subject}" ({self.news_id}) / ' \
f'by "{self.account.account_name}" / at "{self.created_at}"'
return f'<News> "{self.subject}" ({self.news_id}) at "{self.created_at}"'


class PlayerClass(Base):
Expand Down
2 changes: 1 addition & 1 deletion templates/admin/edit_news.html.j2
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
{{ edit_news_form.csrf_token }}
{{ render_field(edit_news_form.submit) }}
</table>
<script>document.getElementById('body').innerHTML = "{{ edit_news.body }}";</script>
<script>document.getElementById('body').innerHTML = {{ edit_news.body | tojson }};</script>
</form>
{%- endif %}
{%- endblock content %}
7 changes: 6 additions & 1 deletion templates/admin/news.html.j2
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@
{
id: 'created',
name: 'Created',
},
{
id: 'delete',
name: 'Delete',
}
],
data: [
Expand All @@ -59,7 +63,8 @@
subject: "{{ news.subject | truncate(50) | safe }}",
body: "{{ news.body | truncate(50) | safe }}",
author: "{{ news.account.account_name | title | safe }}",
created: "{{ news.created_at }} ({{ news.created_at.strftime('%A, %B %d, %Y') }})"
created: "{{ news.created_at }} ({{ news.created_at.strftime('%A, %B %d, %Y') }})",
delete: gridjs.html(`<a href="{{ url_for('admin.delete_news', delete_news_id=news.news_id) }}" onclick="return confirm('Are you sure you want to delete this news post?');">❌</a>`)
}{% if not loop.last %},{% endif %}
{%- endfor %}
],
Expand Down

0 comments on commit d0f8374

Please sign in to comment.