haliphax 7 лет назад
Родитель
Сommit
336c2328d4
2 измененных файлов с 9 добавлено и 1 удалено
  1. 3 1
      flaskbb/forum/models.py
  2. 6 0
      flaskbb/plugins/spec.py

+ 3 - 1
flaskbb/forum/models.py

@@ -11,7 +11,7 @@
 from datetime import timedelta
 import logging
 
-from flask import abort, url_for
+from flask import abort, current_app, url_for
 from sqlalchemy.orm import aliased
 
 from flaskbb.extensions import db
@@ -205,6 +205,7 @@ class Post(HideableCRUDMixin, db.Model):
         if self.id:
             db.session.add(self)
             db.session.commit()
+            current_app.pluggy.hook.flaskbb_evt_after_post(post=self, is_new=False)
             return self
 
         # Adding a new post
@@ -234,6 +235,7 @@ class Post(HideableCRUDMixin, db.Model):
             # And commit it!
             db.session.add(topic)
             db.session.commit()
+            current_app.pluggy.hook.flaskbb_evt_after_post(post=self, is_new=True)
             return self
 
     def delete(self):

+ 6 - 0
flaskbb/plugins/spec.py

@@ -144,3 +144,9 @@ def flaskbb_tpl_profile_settings_menu():
 
     in :file:`templates/user/settings_layout.html`
     """
+
+# Event hooks
+
+@spec
+def flaskbb_evt_after_post(post, is_new):
+    """Hook for handling a post after it has been saved."""