diff --git a/app/controllers/mailing_lists_controller.rb b/app/controllers/mailing_lists_controller.rb index c52826c..eabcf13 100644 --- a/app/controllers/mailing_lists_controller.rb +++ b/app/controllers/mailing_lists_controller.rb @@ -3,10 +3,11 @@ class MailingListsController < ApplicationController #respond_to :json def index - @lists = MailingList.full.all + @lists = MailingList.full + @lists = @lists.search(params['search']) if params['search'] respond_to do |format| - format.json { render :json => @lists.to_json(:include => [:host, :list_type]) } + format.json { render :json => @lists.all.to_json(:include => [:host, :list_type]) } end diff --git a/app/models/mailing_list.rb b/app/models/mailing_list.rb index 3d796af..d00ab6e 100644 --- a/app/models/mailing_list.rb +++ b/app/models/mailing_list.rb @@ -4,6 +4,10 @@ class MailingList < ActiveRecord::Base class << self + def search(term) + where('name LIKE ?', "%#{term}%") + end + def full includes [:host, :list_type] end diff --git a/public/javascripts/app/controllers/main.js b/public/javascripts/app/controllers/main.js index 0c293bd..18eec75 100644 --- a/public/javascripts/app/controllers/main.js +++ b/public/javascripts/app/controllers/main.js @@ -4,8 +4,7 @@ App.Controllers.Main = Backbone.Controller.extend({ }, index: function() { - console.log(MailingLists.fetch); - MailingLists.fetch({ + mailingLists.fetch({ success:function(){ new App.Views.Index(); } diff --git a/public/javascripts/app/models/mailing_list.js b/public/javascripts/app/models/mailing_list.js index 8335eb8..37252b2 100644 --- a/public/javascripts/app/models/mailing_list.js +++ b/public/javascripts/app/models/mailing_list.js @@ -6,7 +6,18 @@ var MailingList = Backbone.Model.extend({ // url: '/mailing_lists.json' // }); -var MailingLists = new Backbone.Collection; +var MailingLists = Backbone.Collection.extend({ + model: MailingList, + url: '/mailing_lists.json', + search: function(string){ + var url = this.url; + this.url = this.url + '?search=' + string; + this.fetch(); + this.url = url; + } +}); + +var mailingLists = new MailingLists; -MailingLists.model = MailingList; -MailingLists.url = '/mailing_lists.json'; \ No newline at end of file +// MailingLists.model = MailingList; +// MailingLists.url = '/mailing_lists.json'; \ No newline at end of file diff --git a/public/javascripts/app/templates/index.ejs b/public/javascripts/app/templates/index.ejs index 1c4b68c..7cfa2de 100644 --- a/public/javascripts/app/templates/index.ejs +++ b/public/javascripts/app/templates/index.ejs @@ -1,5 +1,9 @@