add initial controllers
This commit is contained in:
parent
e004a18071
commit
e1ed1a41b0
|
@ -0,0 +1,9 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module DiscoursePatrons
|
||||
class SubscriptionsController < ::Admin::AdminController
|
||||
def index
|
||||
head 200
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
export default Ember.Controller.extend({
|
||||
queryParams: ["order", "descending"],
|
||||
order: null,
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
export default Ember.Controller.extend({
|
||||
actions: {
|
||||
createSubscriptionPlan() {
|
||||
console.log(45);
|
||||
}
|
||||
}
|
||||
});
|
|
@ -1,3 +1 @@
|
|||
|
||||
export default Ember.Controller.extend({
|
||||
});
|
||||
export default Ember.Controller.extend({});
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
import { ajax } from "discourse/lib/ajax";
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model(params) {
|
||||
return ajax("/patrons/admin/subscriptions", {
|
||||
method: "get",
|
||||
data: {
|
||||
order: params.order,
|
||||
descending: params.descending
|
||||
}
|
||||
}).then(results => results);
|
||||
}
|
||||
});
|
|
@ -1,3 +1 @@
|
|||
|
||||
export default Discourse.Route.extend({
|
||||
});
|
||||
export default Discourse.Route.extend({});
|
||||
|
|
|
@ -1,3 +1,22 @@
|
|||
|
||||
<h3>Subscription Plans</h3>
|
||||
|
||||
<h3>Subscriptions</h3>
|
||||
{{#d-button action="createSubscriptionPlan" class="btn btn-primary btn-payment btn-discourse-patrons"}}
|
||||
New
|
||||
{{/d-button}}
|
||||
|
||||
<table class="table discourse-patrons-admin">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Plan Name</th>
|
||||
<th>Interval</th>
|
||||
<th>Product</th>
|
||||
<th>Amount</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{{#each model as |payment|}}
|
||||
<tr>
|
||||
|
||||
</tr>
|
||||
{{/each}}
|
||||
</table>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
DiscoursePatrons::Engine.routes.draw do
|
||||
get '/admin' => 'admin#index'
|
||||
get '/admin/subscriptions' => 'subscriptions#index'
|
||||
get '/' => 'patrons#index'
|
||||
get '/:pid' => 'patrons#show'
|
||||
resources :patrons, only: [:index, :create]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# name: discourse-patrons
|
||||
# about: Integrates Stripe into Discourse to allow visitors to make payments
|
||||
# about: Integrates Stripe into Discourse to allow visitors to make payments and Subscribe
|
||||
# version: 1.2.1
|
||||
# url: https://github.com/rimian/discourse-patrons
|
||||
# authors: Rimian Perkins
|
||||
|
@ -36,6 +36,7 @@ after_initialize do
|
|||
"../lib/discourse_patrons/engine",
|
||||
"../config/routes",
|
||||
"../app/controllers/admin_controller",
|
||||
"../app/controllers/admin/subscriptions_controller",
|
||||
"../app/controllers/patrons_controller",
|
||||
"../app/models/payment",
|
||||
"../app/serializers/payment_serializer",
|
||||
|
|
|
@ -3,15 +3,19 @@
|
|||
require 'rails_helper'
|
||||
|
||||
module DiscoursePatrons
|
||||
RSpec.describe AdminController, type: :controller do
|
||||
routes { DiscoursePatrons::Engine.routes }
|
||||
RSpec.describe AdminController do
|
||||
|
||||
let(:admin) { Fabricate(:admin) }
|
||||
|
||||
before { sign_in(admin) }
|
||||
|
||||
it 'is a subclass of AdminController' do
|
||||
expect(DiscoursePatrons::AdminController < Admin::AdminController).to eq(true)
|
||||
end
|
||||
|
||||
# TODO: authenticate to test these
|
||||
it "is ascending"
|
||||
it "is has ordered by"
|
||||
it "is ok" do
|
||||
get "/patrons/admin.json"
|
||||
expect(response.status).to eq(200)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,21 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
module DiscoursePatrons
|
||||
RSpec.describe SubscriptionsController do
|
||||
|
||||
let(:admin) { Fabricate(:admin) }
|
||||
|
||||
before { sign_in(admin) }
|
||||
|
||||
it 'is a subclass of AdminController' do
|
||||
expect(DiscoursePatrons::SubscriptionsController < Admin::AdminController).to eq(true)
|
||||
end
|
||||
|
||||
it "is ok" do
|
||||
get "/patrons/admin/subscriptions.json"
|
||||
expect(response.status).to eq(200)
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue