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}} -
{{i18n 'admin.league.pages.no_pages'}}
- {{/unless}} - {{d-button class="btn" - action="newDLPage" - label="admin.customize.new" - icon="plus"}} -