diff --git a/app/controllers/discourse_league/pages_controller.rb b/app/controllers/discourse_league/pages_controller.rb deleted file mode 100644 index b71c283..0000000 --- a/app/controllers/discourse_league/pages_controller.rb +++ /dev/null @@ -1,19 +0,0 @@ -module DiscourseLeague - class PagesController < ApplicationController - - def show - if params[:id] - pages = PluginStore.get("discourse_league", "pages") - page = pages.select{|page| page[:id] == params[:id].to_i} - end - - if !page.empty? && page[:active] - render_json_dump(page) - else - render nothing: true, status: 404 - end - - end - - end -end \ No newline at end of file diff --git a/assets/javascripts/discourse/controllers/admin-plugins-league-pages.js.es6 b/assets/javascripts/discourse/controllers/admin-plugins-league-pages.js.es6 deleted file mode 100644 index 7a653df..0000000 --- a/assets/javascripts/discourse/controllers/admin-plugins-league-pages.js.es6 +++ /dev/null @@ -1,140 +0,0 @@ -import LeaguePage from '../models/league-page'; -import { licensed } from 'discourse/plugins/discourse-league/discourse/lib/constraint'; - -export default Ember.Controller.extend({ - - pageURL: document.location.origin + "/league/p/", - - licensed: licensed(), - - baseDLPage: function() { - var a = []; - a.set('title', I18n.t('admin.league.pages.new_title')); - a.set('active', false); - return a; - }.property('model.@each.id'), - - removeSelected: function() { - this.get('model').removeObject(this.get('selectedItem')); - this.set('selectedItem', null); - }, - - editTitle: function(){ - this.set('editingTitle', true); - if (this.get('selectedItem') && !this.get('selectedItem').custom_slug && this.get('selectedItem').selected){ - this.get('selectedItem').set('slug', this.slugify(this.get('selectedItem').title)); - }; - this.set('editingTitle', false); - }.observes('selectedItem.title'), - - editSlug: function(){ - if (this.get('selectedItem') && !this.get('editingTitle') && this.get('selectedItem').selected){ - if (this.get('originals').slug == this.get('selectedItem').slug){ - this.get('selectedItem').set('custom_slug', this.get('originals').custom_slug); - } - else{ - this.get('selectedItem').set('custom_slug', true); - } - } - }.observes('selectedItem.slug'), - - changed: function(){ - if (!this.get('originals') || !this.get('selectedItem')) {this.set('disableSave', true); return;} - if (((this.get('originals').title == this.get('selectedItem').title) && - (this.get('originals').slug == this.get('selectedItem').slug) && - (this.get('originals').raw == this.get('selectedItem').raw) && - (this.get('originals').cooked == this.get('selectedItem').cooked)) || - (!this.get('selectedItem').title) || - (!this.get('selectedItem').raw) - ) { - this.set('disableSave', true); - return; - } - else{ - this.set('disableSave', false); - }; - }.observes('selectedItem.title', 'selectedItem.slug', 'selectedItem.raw'), - - slugify: function(text){ - return text.toString().toLowerCase() - .replace(/\s+/g, '-') // Replace spaces with - - .replace(/[^\w\-]+/g, '') // Remove all non-word chars - .replace(/\-\-+/g, '-') // Replace multiple - with single - - .replace(/^-+/, '') // Trim - from start of text - .replace(/-+$/, ''); // Trim - from end of text - }, - - actions: { - selectDLPage: function(leaguePage) { - if (this.get('selectedItem')) { this.get('selectedItem').set('selected', false); }; - this.set('originals', { - title: leaguePage.title, - active: leaguePage.active, - slug: leaguePage.slug, - raw: leaguePage.raw, - cooked: leaguePage.cooked, - custom_slug: leaguePage.custom_slug - }); - this.set('disableSave', true); - this.set('selectedItem', leaguePage); - leaguePage.set('savingStatus', null); - leaguePage.set('selected', true); - }, - - newDLPage: function() { - const newDLPage = Em.copy(this.get('baseDLPage'), true); - var newTitle = I18n.t('admin.league.pages.new_title'); - newDLPage.set('title', newTitle); - newDLPage.set('slug', this.slugify(newTitle)); - newDLPage.set('slugEdited', false); - newDLPage.set('newRecord', true); - this.get('model').pushObject(newDLPage); - this.send('selectDLPage', newDLPage); - }, - - toggleEnabled: function() { - var selectedItem = this.get('selectedItem'); - selectedItem.toggleProperty('active'); - LeaguePage.save(this.get('selectedItem'), true); - }, - - disableEnable: function() { - return !this.get('id') || this.get('saving'); - }.property('id', 'saving'), - - newRecord: function() { - return (!this.get('id')); - }.property('id'), - - save: function() { - if (this.get('selectedItem').slug == this.slugify(this.get('selectedItem').title)){ - this.get('selectedItem').set('custom_slug', false); - } - LeaguePage.save(this.get('selectedItem')); - this.send('selectDLPage', this.get('selectedItem')); - }, - - copy: function(leaguePage) { - var newDLPage = LeaguePage.copy(leaguePage); - newDLPage.set('title', I18n.t('admin.customize.colors.copy_name_prefix') + ' ' + leaguePage.get('title')); - this.get('model').pushObject(newDLPage); - this.send('selectDLPage', newDLPage); - this.set('disableSave', false); - }, - - destroy: function() { - var self = this, - item = self.get('selectedItem'); - - return bootbox.confirm(I18n.t("admin.league.pages.delete_confirm"), I18n.t("no_value"), I18n.t("yes_value"), function(result) { - if (result) { - if (item.get('newRecord')) { - self.removeSelected(); - } else { - LeaguePage.destroy(self.get('selectedItem')).then(function(){ self.removeSelected(); }); - } - } - }); - } - } -}); \ No newline at end of file diff --git a/assets/javascripts/discourse/controllers/league-page.js.es6 b/assets/javascripts/discourse/controllers/league-page.js.es6 deleted file mode 100644 index e69de29..0000000 diff --git a/assets/javascripts/discourse/league-route-map.js.es6 b/assets/javascripts/discourse/league-route-map.js.es6 index 0f3d784..6090964 100644 --- a/assets/javascripts/discourse/league-route-map.js.es6 +++ b/assets/javascripts/discourse/league-route-map.js.es6 @@ -6,9 +6,6 @@ export default function(){ this.route('thanks', {path: '/thank-you'}) }); }); - this.route('page', {path: '/p' }, function(){ - this.route('show', {path: '/:slug/:id'}); - }); this.route('checkout', {path: '/checkout'}, function(){ this.route('paypal', {path: '/paypal'}, function(){ this.route('success', {path: '/success'}); diff --git a/assets/javascripts/discourse/models/league-page.js.es6 b/assets/javascripts/discourse/models/league-page.js.es6 deleted file mode 100644 index d3e1f03..0000000 --- a/assets/javascripts/discourse/models/league-page.js.es6 +++ /dev/null @@ -1,105 +0,0 @@ -import { ajax } from 'discourse/lib/ajax'; -import { default as PrettyText, buildOptions } from 'pretty-text/pretty-text'; - -const LeaguePage = Discourse.Model.extend(Ember.Copyable, { - - init: function() { - this._super(); - } -}); - -function getOpts() { - const siteSettings = Discourse.__container__.lookup('site-settings:main'); - - return buildOptions({ - getURL: Discourse.getURLWithCDN, - currentUser: Discourse.__container__.lookup('current-user:main'), - siteSettings - }); -} - - -var LeaguePages = Ember.ArrayProxy.extend({ - selectedItemChanged: function() { - var selected = this.get('selectedItem'); - _.each(this.get('content'),function(i) { - return i.set('selected', selected === i); - }); - }.observes('selectedItem') -}); - -LeaguePage.reopenClass({ - - findAll: function() { - var leaguePages = LeaguePages.create({ content: [], loading: true }); - ajax('/league/admin/pages.json').then(function(pages) { - if (pages){ - _.each(pages, function(leaguePage){ - leaguePages.pushObject(LeaguePage.create({ - id: leaguePage.id, - title: leaguePage.title, - active: leaguePage.active, - slug: leaguePage.slug, - raw: leaguePage.raw, - cooked: leaguePage.cooked, - custom_slug: leaguePage.custom_slug - })); - }); - }; - leaguePages.set('loading', false); - }); - return leaguePages; - }, - - save: function(object, enabledOnly=false) { - if (object.get('disableSave')) return; - - object.set('savingStatus', I18n.t('saving')); - object.set('saving',true); - - var data = { active: object.active }; - - if (object.id){ - data.id = object.id; - } - - if (!object || !enabledOnly) { - var cooked = new Handlebars.SafeString(new PrettyText(getOpts()).cook(object.raw)); - data.title = object.title; - data.slug = object.slug; - data.raw = object.raw; - data.cooked = cooked.string; - data.custom_slug = object.custom_slug; - }; - - return ajax("/league/admin/pages.json", { - data: JSON.stringify({"league_page": data}), - type: object.id ? 'PUT' : 'POST', - dataType: 'json', - contentType: 'application/json' - }).then(function(result) { - if(result.id) { object.set('id', result.id); } - object.set('savingStatus', I18n.t('saved')); - object.set('saving', false); - }); - }, - - copy: function(object){ - var copiedPage = LeaguePage.create(object); - copiedPage.id = null; - return copiedPage; - }, - - destroy: function(object) { - if (object.id) { - var data = { id: object.id }; - return ajax("/league/admin/pages.json", { - data: JSON.stringify({"league_page": data }), - type: 'DELETE', - dataType: 'json', - contentType: 'application/json' }); - } - } -}); - -export default LeaguePage; \ No newline at end of file diff --git a/assets/javascripts/discourse/models/page.js.es6 b/assets/javascripts/discourse/models/page.js.es6 deleted file mode 100644 index dcb1652..0000000 --- a/assets/javascripts/discourse/models/page.js.es6 +++ /dev/null @@ -1,11 +0,0 @@ -import { ajax } from 'discourse/lib/ajax'; - -export default { - findAll() { - return ajax('/league/pages'); - }, - - findById(opts) { - return ajax(`/league/p/${opts.id}`); - } -}; \ No newline at end of file diff --git a/assets/javascripts/discourse/routes/admin-plugins-league-pages.js.es6 b/assets/javascripts/discourse/routes/admin-plugins-league-pages.js.es6 deleted file mode 100644 index 35f26d1..0000000 --- a/assets/javascripts/discourse/routes/admin-plugins-league-pages.js.es6 +++ /dev/null @@ -1,11 +0,0 @@ -import LeaguePage from '../models/league-page'; - -export default Discourse.Route.extend({ - model() { - return LeaguePage.findAll(); - }, - - setupController(controller, model) { - controller.setProperties({ model }); - } -}); \ No newline at end of file diff --git a/assets/javascripts/discourse/routes/league-page-show.js.es6 b/assets/javascripts/discourse/routes/league-page-show.js.es6 deleted file mode 100644 index 1a16026..0000000 --- a/assets/javascripts/discourse/routes/league-page-show.js.es6 +++ /dev/null @@ -1,17 +0,0 @@ -import LeaguePage from '../models/page'; -import DiscourseURL from 'discourse/lib/url'; - -export default Discourse.Route.extend({ - model(opts) { - return LeaguePage.findById(opts); - }, - - setupController(controller, model) { - controller.setProperties({ model }); - }, - - afterModel: function(result) { - var newURL = `/league/p/${result.slug}/${result.id}/`; - DiscourseURL.routeTo(newURL, { replaceURL: true }); - } -}); \ No newline at end of file diff --git a/assets/javascripts/discourse/templates/admin/plugins-league-pages.hbs b/assets/javascripts/discourse/templates/admin/plugins-league-pages.hbs deleted file mode 100644 index 60e026b..0000000 --- a/assets/javascripts/discourse/templates/admin/plugins-league-pages.hbs +++ /dev/null @@ -1,64 +0,0 @@ -{{#conditional-loading-spinner condition=model.loading}} -
- {{#if licensed }} -
-
-

{{i18n 'admin.league.titles.pages'}}

- - {{#unless model}} -

{{i18n 'admin.league.pages.no_pages'}}

- {{/unless}} - {{d-button class="btn" - action="newDLPage" - label="admin.customize.new" - icon="plus"}} -
- {{#if selectedItem.selected}} -
-
-

{{text-field class="style-name" value=selectedItem.title}}

-
- - - - - {{selectedItem.savingStatus}} -
-
-
-
- {{#if selectedItem.id}} -
- -

{{i18n 'admin.league.pages.page_url_description'}}: {{pageURL}}{{selectedItem.slug}}/{{selectedItem.id}}/

-
- {{/if}} -
- - {{text-field class="style-name" value=selectedItem.slug enter=editSlug}} -

{{i18n 'admin.league.pages.slug_description'}}

-
-
- {{d-editor value=selectedItem.raw class="raw-bio"}} -
-
-
- {{else}} -
{{i18n 'admin.league.pages.no_page_selected'}}
- {{/if}} -
- {{else}} - {{unlicensed-message}} - {{/if}} -
-{{/conditional-loading-spinner}} \ No newline at end of file diff --git a/assets/javascripts/discourse/templates/admin/plugins-league.hbs b/assets/javascripts/discourse/templates/admin/plugins-league.hbs index 4445b3b..2fb4d5d 100644 --- a/assets/javascripts/discourse/templates/admin/plugins-league.hbs +++ b/assets/javascripts/discourse/templates/admin/plugins-league.hbs @@ -1,7 +1,6 @@ {{#admin-nav}} {{nav-item route='adminPlugins.league.index' label='admin.league.titles.dashboard'}} {{nav-item route='adminPlugins.league.levels' label='admin.league.titles.levels'}} - {{nav-item route='adminPlugins.league.pages' label='admin.league.titles.pages'}} {{!-- {{nav-item route='adminPlugins.league.gateways' label='admin.league.titles.gateways'}} {{nav-item route='adminPlugins.league.messages' label='admin.league.titles.messages'}} {{nav-item route='adminPlugins.league.advanced' label='admin.league.titles.advanced'}} diff --git a/assets/javascripts/discourse/templates/league/page/show.hbs b/assets/javascripts/discourse/templates/league/page/show.hbs deleted file mode 100644 index 2889096..0000000 --- a/assets/javascripts/discourse/templates/league/page/show.hbs +++ /dev/null @@ -1 +0,0 @@ -
{{{ model.cooked }}}
\ No newline at end of file diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 24dbfdc..658f840 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -10,7 +10,6 @@ en: titles: dashboard: "Dashboard" levels: "Levels" - pages: "Pages" gateways: "Gateways" messages: "Messages" advanced: "Advanced" @@ -36,15 +35,6 @@ en: delete_confirm: "Delete this League level?" no_levels: "Add some levels for your users." no_level_selected: "No level selected." - pages: - new_title: "New League Page" - id: "ID" - page_url_description: "Public page URL" - slug: "Slug" - slug_description: "The end of the URL for the page." - delete_confirm: "Delete this League page?" - no_pages: "Add some pages for your users." - no_page_selected: "No page selected." unlicensed_message: 'This section requires a valid license key. Get your key here and enter it into the plugin settings here.' league: title: "Discourse League" diff --git a/config/routes.rb b/config/routes.rb index 31a973a..d2bf14e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -4,8 +4,6 @@ DiscourseLeague::Engine.routes.draw do get "/l/:id" => "levels#show", constraints: LeagueConstraint.new - get "/p/:id" => "pages#show", constraints: LeagueConstraint.new - get "/p/:slug/:id" => "pages#show", constraints: LeagueConstraint.new post '/checkout/submit-payment' => "checkout#submit_payment", constraints: LeagueConstraint.new get '/checkout/braintree-token' => "checkout#braintree_token", constraints: LeagueConstraint.new post '/checkout/verify' => "checkout#submit_verify", constraints: LeagueConstraint.new @@ -20,6 +18,5 @@ get '/transactions/:user_id/:id' => "transactions#show", constraints: LeagueConstraint.new resource :admin_levels, path: '/admin/levels', constraints: AdminConstraint.new - resource :admin_pages, path: '/admin/pages', constraints: AdminConstraint.new resource :admin_gateways, path: '/admin/gateways', constraints: AdminConstraint.new end \ No newline at end of file diff --git a/plugin.rb b/plugin.rb index 9942ddf..ef4bf8c 100644 --- a/plugin.rb +++ b/plugin.rb @@ -15,7 +15,6 @@ Discourse::Application.routes.append do get '/admin/plugins/league' => 'admin/plugins#index', constraints: StaffConstraint.new get '/admin/plugins/league/levels' => 'admin/plugins#index', constraints: StaffConstraint.new - get '/admin/plugins/league/pages' => 'admin/plugins#index', constraints: StaffConstraint.new get '/admin/plugins/league/gateways' => 'admin/plugins#index', constraints: StaffConstraint.new get '/admin/plugins/league/messages' => 'admin/plugins#index', constraints: StaffConstraint.new get '/admin/plugins/league/advanced' => 'admin/plugins#index', constraints: StaffConstraint.new