diff --git a/extensions/likes/js/admin/Gulpfile.js b/extensions/likes/js/admin/Gulpfile.js new file mode 100644 index 000000000..d2e5ea63b --- /dev/null +++ b/extensions/likes/js/admin/Gulpfile.js @@ -0,0 +1,7 @@ +var gulp = require('flarum-gulp'); + +gulp({ + modules: { + 'likes': 'src/**/*.js' + } +}); diff --git a/extensions/likes/js/admin/package.json b/extensions/likes/js/admin/package.json new file mode 100644 index 000000000..62ea6c691 --- /dev/null +++ b/extensions/likes/js/admin/package.json @@ -0,0 +1,7 @@ +{ + "private": true, + "devDependencies": { + "gulp": "^3.8.11", + "flarum-gulp": "^0.1.0" + } +} diff --git a/extensions/likes/js/admin/src/main.js b/extensions/likes/js/admin/src/main.js new file mode 100644 index 000000000..f22e7f2e5 --- /dev/null +++ b/extensions/likes/js/admin/src/main.js @@ -0,0 +1,12 @@ +import { extend } from 'flarum/extend'; +import app from 'flarum/app'; +import PermissionGrid from 'flarum/components/PermissionGrid'; + +app.initializers.add('likes', () => { + extend(PermissionGrid.prototype, 'replyItems', items => { + items.add('likePosts', { + label: 'Like posts', + permission: 'discussion.likePosts' + }); + }); +}); diff --git a/extensions/likes/js/forum/package.json b/extensions/likes/js/forum/package.json index 3e0ef919d..62ea6c691 100644 --- a/extensions/likes/js/forum/package.json +++ b/extensions/likes/js/forum/package.json @@ -2,6 +2,6 @@ "private": true, "devDependencies": { "gulp": "^3.8.11", - "flarum-gulp": "git+https://github.com/flarum/gulp.git" + "flarum-gulp": "^0.1.0" } } diff --git a/extensions/likes/migrations/2015_09_04_000000_add_default_like_permissions.php b/extensions/likes/migrations/2015_09_04_000000_add_default_like_permissions.php new file mode 100644 index 000000000..73c09581f --- /dev/null +++ b/extensions/likes/migrations/2015_09_04_000000_add_default_like_permissions.php @@ -0,0 +1,39 @@ +getPermissionAttributes()); + + $permission->save(); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Permission::where($this->getPermissionAttributes())->delete(); + } + + protected function getPermissionAttributes() + { + return [ + 'group_id' => Group::MEMBER_ID, + 'permission' => 'discussion.likePosts' + ]; + } +} diff --git a/extensions/likes/src/Listeners/AddClientAssets.php b/extensions/likes/src/Listeners/AddClientAssets.php index d05c79ea6..b34eacda3 100755 --- a/extensions/likes/src/Listeners/AddClientAssets.php +++ b/extensions/likes/src/Listeners/AddClientAssets.php @@ -37,5 +37,11 @@ class AddClientAssets 'likes.others', 'likes.you' ]); + + $event->adminAssets([ + __DIR__.'/../../js/admin/dist/extension.js' + ]); + + $event->adminBootstrapper('likes/main'); } }