delete subscriptions in admin
This commit is contained in:
@@ -2,6 +2,11 @@ import computed from "ember-addons/ember-computed-decorators";
|
||||
import { ajax } from "discourse/lib/ajax";
|
||||
|
||||
const AdminSubscription = Discourse.Model.extend({
|
||||
@computed("status")
|
||||
canceled(status) {
|
||||
return status === "canceled";
|
||||
},
|
||||
|
||||
@computed("metadata")
|
||||
metadataUserExists(metadata) {
|
||||
return metadata.user_id && metadata.username;
|
||||
@@ -12,6 +17,12 @@ const AdminSubscription = Discourse.Model.extend({
|
||||
return Discourse.getURL(
|
||||
`/admin/users/${metadata.user_id}/${metadata.username}`
|
||||
);
|
||||
},
|
||||
|
||||
destroy() {
|
||||
return ajax(`/patrons/admin/subscriptions/${this.id}`, {
|
||||
method: "delete"
|
||||
}).then(result => AdminSubscription.create(result));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
+22
@@ -3,5 +3,27 @@ import AdminSubscription from "discourse/plugins/discourse-patrons/discourse/mod
|
||||
export default Discourse.Route.extend({
|
||||
model() {
|
||||
return AdminSubscription.find();
|
||||
},
|
||||
|
||||
actions: {
|
||||
cancelSubscription(subscription) {
|
||||
bootbox.confirm(
|
||||
I18n.t(
|
||||
"discourse_patrons.user.subscriptions.operations.destroy.confirm"
|
||||
),
|
||||
I18n.t("no_value"),
|
||||
I18n.t("yes_value"),
|
||||
confirmed => {
|
||||
if (confirmed) {
|
||||
subscription
|
||||
.destroy()
|
||||
.then(result => subscription.set("status", result.status))
|
||||
.catch(data =>
|
||||
bootbox.alert(data.jqXHR.responseJSON.errors.join("\n"))
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
+2
@@ -7,6 +7,7 @@
|
||||
<th>{{i18n 'discourse_patrons.admin.subscriptions.subscription.plan'}}</th>
|
||||
<th>{{i18n 'discourse_patrons.admin.subscriptions.subscription.status'}}</th>
|
||||
<th class="td-right">{{i18n 'discourse_patrons.admin.subscriptions.subscription.created_at'}}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
{{#each model as |subscription|}}
|
||||
@@ -22,6 +23,7 @@
|
||||
<td>{{subscription.plan.id}}</td>
|
||||
<td>{{subscription.status}}</td>
|
||||
<td class="td-right">{{format-unix-date subscription.created}}</td>
|
||||
<td class="td-right">{{d-button disabled=subscription.canceled label="cancel" action=(route-action "cancelSubscription" subscription) icon="times"}}</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user