mirror of
https://github.com/flarum/core.git
synced 2025-08-04 23:47:32 +02:00
change value of subscribed from false to null in the JSON API (#37)
This commit is contained in:
@@ -40,7 +40,7 @@ return [
|
|||||||
(new Extend\ApiSerializer(DiscussionSerializer::class))
|
(new Extend\ApiSerializer(DiscussionSerializer::class))
|
||||||
->attribute('subscription', function (DiscussionSerializer $serializer, Discussion $discussion) {
|
->attribute('subscription', function (DiscussionSerializer $serializer, Discussion $discussion) {
|
||||||
if ($state = $discussion->state) {
|
if ($state = $discussion->state) {
|
||||||
return $state->subscription ?: false;
|
return $state->subscription;
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
@@ -10,8 +10,8 @@ export default function addSubscriptionControls() {
|
|||||||
if (app.session.user && !(context instanceof DiscussionPage)) {
|
if (app.session.user && !(context instanceof DiscussionPage)) {
|
||||||
const states = {
|
const states = {
|
||||||
none: {label: app.translator.trans('flarum-subscriptions.forum.discussion_controls.follow_button'), icon: 'fas fa-star', save: 'follow'},
|
none: {label: app.translator.trans('flarum-subscriptions.forum.discussion_controls.follow_button'), icon: 'fas fa-star', save: 'follow'},
|
||||||
follow: {label: app.translator.trans('flarum-subscriptions.forum.discussion_controls.unfollow_button'), icon: 'far fa-star', save: false},
|
follow: {label: app.translator.trans('flarum-subscriptions.forum.discussion_controls.unfollow_button'), icon: 'far fa-star', save: null},
|
||||||
ignore: {label: app.translator.trans('flarum-subscriptions.forum.discussion_controls.unignore_button'), icon: 'fas fa-eye', save: false}
|
ignore: {label: app.translator.trans('flarum-subscriptions.forum.discussion_controls.unignore_button'), icon: 'fas fa-eye', save: null}
|
||||||
};
|
};
|
||||||
|
|
||||||
const subscription = discussion.subscription() || 'none';
|
const subscription = discussion.subscription() || 'none';
|
||||||
|
@@ -11,7 +11,7 @@ export default class SubscriptionMenu extends Dropdown {
|
|||||||
|
|
||||||
this.options = [
|
this.options = [
|
||||||
{
|
{
|
||||||
subscription: false,
|
subscription: null,
|
||||||
icon: 'far fa-star',
|
icon: 'far fa-star',
|
||||||
label: app.translator.trans('flarum-subscriptions.forum.sub_controls.not_following_button'),
|
label: app.translator.trans('flarum-subscriptions.forum.sub_controls.not_following_button'),
|
||||||
description: app.translator.trans('flarum-subscriptions.forum.sub_controls.not_following_text')
|
description: app.translator.trans('flarum-subscriptions.forum.sub_controls.not_following_text')
|
||||||
@@ -64,11 +64,11 @@ export default class SubscriptionMenu extends Dropdown {
|
|||||||
const buttonAttrs = {
|
const buttonAttrs = {
|
||||||
className: 'Button SubscriptionMenu-button ' + buttonClass,
|
className: 'Button SubscriptionMenu-button ' + buttonClass,
|
||||||
icon: buttonIcon,
|
icon: buttonIcon,
|
||||||
onclick: this.saveSubscription.bind(this, discussion, ['follow', 'ignore'].indexOf(subscription) !== -1 ? false : 'follow'),
|
onclick: this.saveSubscription.bind(this, discussion, ['follow', 'ignore'].indexOf(subscription) !== -1 ? null : 'follow'),
|
||||||
title: title
|
title: title
|
||||||
};
|
};
|
||||||
|
|
||||||
if ((notifyEmail || notifyAlert) && subscription === false) {
|
if ((notifyEmail || notifyAlert) && subscription === null) {
|
||||||
buttonAttrs.oncreate = buttonAttrs.onupdate = vnode => {
|
buttonAttrs.oncreate = buttonAttrs.onupdate = vnode => {
|
||||||
$(vnode.dom).tooltip({
|
$(vnode.dom).tooltip({
|
||||||
container: '.SubscriptionMenu',
|
container: '.SubscriptionMenu',
|
||||||
|
@@ -18,7 +18,7 @@ class SaveSubscriptionToDatabase
|
|||||||
$discussion = $event->discussion;
|
$discussion = $event->discussion;
|
||||||
$data = $event->data;
|
$data = $event->data;
|
||||||
|
|
||||||
if (isset($data['attributes']['subscription'])) {
|
if (array_key_exists('subscription', $data['attributes'])) {
|
||||||
$actor = $event->actor;
|
$actor = $event->actor;
|
||||||
$subscription = $data['attributes']['subscription'];
|
$subscription = $data['attributes']['subscription'];
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user