refinerycms 0.9.6.34 → 0.9.7
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +9 -8
- data/Gemfile +50 -0
- data/Rakefile +1 -1
- data/bin/refinery +22 -11
- data/bin/refinery-update-core +45 -27
- data/changelog.md +313 -0
- data/config.ru +5 -0
- data/config/acts_as_indexed_config.rb +7 -0
- data/config/amazon_s3.yml.example +3 -3
- data/config/application.rb +7 -11
- data/config/boot.rb +15 -1
- data/config/cucumber.yml +8 -0
- data/config/database.yml.example +24 -0
- data/config/environments/cucumber.rb +27 -0
- data/config/environments/development.rb +0 -1
- data/config/environments/production.rb +2 -1
- data/config/i18n-js.yml +6 -0
- data/config/initializers/field_with_error_fix.rb +3 -0
- data/config/preinitializer.rb +20 -18
- data/config/routes.rb +8 -3
- data/db/migrate/20100125003944_rename_title_to_name_on_user_plugins.rb +9 -0
- data/db/migrate/20100125033146_migrate_old_plugin_titles_to_plugin_names_for_users.rb +61 -0
- data/db/migrate/20100419001048_change_image_grid_thumbnail_size_and_regenerate.rb +13 -0
- data/db/migrate/20100522020225_rename_permissions_for_resources_plugin_to_files.rb +15 -0
- data/db/migrate/20100525084518_remove_take_down_for_maintenance_page.rb +19 -0
- data/db/migrate/20100525110237_add_small_and_large_thumbnail_sizes.rb +14 -0
- data/db/migrate/20100530205942_update_link_url_on_pages_from_inquiries_new_to_contact.rb +31 -0
- data/db/migrate/20100606173919_create_page_translations.rb +12 -0
- data/db/migrate/20100608062447_add_scoping_to_refinery_settings.rb +9 -0
- data/db/migrate/20100623220402_add_restricted_to_refinery_settings.rb +9 -0
- data/db/migrate/20100624024501_add_roles.rb +24 -0
- data/db/migrate/20100629081543_add_callback_proc_as_string_to_refinery_settings.rb +9 -0
- data/db/migrate/20100701053151_remove_superuser_from_users.rb +20 -0
- data/db/migrate/20100702022630_add_spam_to_inquiries.rb +11 -0
- data/db/schema.rb +28 -10
- data/db/seeds.rb +6 -119
- data/db/seeds/inquiry_settings.rb +2 -0
- data/db/seeds/pages.rb +81 -0
- data/db/seeds/refinery_settings.rb +19 -0
- data/features/refinery/dashboard.feature +4 -0
- data/features/refinery/manage_files.feature +4 -0
- data/features/refinery/manage_images.feature +4 -0
- data/features/refinery/manage_inquiries.feature +4 -0
- data/features/refinery/manage_pages.feature +39 -0
- data/features/refinery/manage_refinery_settings.feature +4 -0
- data/features/refinery/manage_users.feature +29 -0
- data/features/refinery/site_bar.feature +22 -0
- data/features/step_definitions/refinery/page_steps.rb +23 -0
- data/features/step_definitions/refinery/user_steps.rb +33 -0
- data/features/step_definitions/web_steps.rb +271 -0
- data/features/support/env.rb +63 -0
- data/features/support/factories.rb +19 -0
- data/features/support/negative_expectations_helper.rb +57 -0
- data/features/support/paths.rb +39 -0
- data/lib/gemspec.rb +35 -0
- data/lib/refinery/tasks/refinery.rake +0 -30
- data/lib/tasks/cucumber.rake +53 -0
- data/lib/tasks/rspec.rake +144 -0
- data/public/images/refinery/admin_bg.png +0 -0
- data/public/images/refinery/cross.png +0 -0
- data/public/images/refinery/icons/bin.png +0 -0
- data/public/images/refinery/icons/bin_closed.png +0 -0
- data/public/images/refinery/icons/doc.png +0 -0
- data/public/images/refinery/icons/email.png +0 -0
- data/public/images/refinery/icons/flags/ad.png +0 -0
- data/public/images/refinery/icons/flags/ae.png +0 -0
- data/public/images/refinery/icons/flags/af.png +0 -0
- data/public/images/refinery/icons/flags/ag.png +0 -0
- data/public/images/refinery/icons/flags/ai.png +0 -0
- data/public/images/refinery/icons/flags/al.png +0 -0
- data/public/images/refinery/icons/flags/am.png +0 -0
- data/public/images/refinery/icons/flags/an.png +0 -0
- data/public/images/refinery/icons/flags/ao.png +0 -0
- data/public/images/refinery/icons/flags/ar.png +0 -0
- data/public/images/refinery/icons/flags/as.png +0 -0
- data/public/images/refinery/icons/flags/at.png +0 -0
- data/public/images/refinery/icons/flags/au.png +0 -0
- data/public/images/refinery/icons/flags/aw.png +0 -0
- data/public/images/refinery/icons/flags/ax.png +0 -0
- data/public/images/refinery/icons/flags/az.png +0 -0
- data/public/images/refinery/icons/flags/ba.png +0 -0
- data/public/images/refinery/icons/flags/bb.png +0 -0
- data/public/images/refinery/icons/flags/bd.png +0 -0
- data/public/images/refinery/icons/flags/be.png +0 -0
- data/public/images/refinery/icons/flags/bf.png +0 -0
- data/public/images/refinery/icons/flags/bg.png +0 -0
- data/public/images/refinery/icons/flags/bh.png +0 -0
- data/public/images/refinery/icons/flags/bi.png +0 -0
- data/public/images/refinery/icons/flags/bj.png +0 -0
- data/public/images/refinery/icons/flags/bm.png +0 -0
- data/public/images/refinery/icons/flags/bn.png +0 -0
- data/public/images/refinery/icons/flags/bo.png +0 -0
- data/public/images/refinery/icons/flags/bs.png +0 -0
- data/public/images/refinery/icons/flags/bt.png +0 -0
- data/public/images/refinery/icons/flags/bv.png +0 -0
- data/public/images/refinery/icons/flags/bw.png +0 -0
- data/public/images/refinery/icons/flags/by.png +0 -0
- data/public/images/refinery/icons/flags/bz.png +0 -0
- data/public/images/refinery/icons/flags/ca.png +0 -0
- data/public/images/refinery/icons/flags/catalonia.png +0 -0
- data/public/images/refinery/icons/flags/cc.png +0 -0
- data/public/images/refinery/icons/flags/cd.png +0 -0
- data/public/images/refinery/icons/flags/cf.png +0 -0
- data/public/images/refinery/icons/flags/cg.png +0 -0
- data/public/images/refinery/icons/flags/ch.png +0 -0
- data/public/images/refinery/icons/flags/ci.png +0 -0
- data/public/images/refinery/icons/flags/ck.png +0 -0
- data/public/images/refinery/icons/flags/cl.png +0 -0
- data/public/images/refinery/icons/flags/cm.png +0 -0
- data/public/images/refinery/icons/flags/cn.png +0 -0
- data/public/images/refinery/icons/flags/co.png +0 -0
- data/public/images/refinery/icons/flags/cr.png +0 -0
- data/public/images/refinery/icons/flags/cs.png +0 -0
- data/public/images/refinery/icons/flags/cu.png +0 -0
- data/public/images/refinery/icons/flags/cv.png +0 -0
- data/public/images/refinery/icons/flags/cx.png +0 -0
- data/public/images/refinery/icons/flags/cy.png +0 -0
- data/public/images/refinery/icons/flags/cz.png +0 -0
- data/public/images/refinery/icons/flags/da.png +0 -0
- data/public/images/refinery/icons/flags/de.png +0 -0
- data/public/images/refinery/icons/flags/dj.png +0 -0
- data/public/images/refinery/icons/flags/dm.png +0 -0
- data/public/images/refinery/icons/flags/do.png +0 -0
- data/public/images/refinery/icons/flags/dz.png +0 -0
- data/public/images/refinery/icons/flags/ec.png +0 -0
- data/public/images/refinery/icons/flags/ee.png +0 -0
- data/public/images/refinery/icons/flags/eg.png +0 -0
- data/public/images/refinery/icons/flags/eh.png +0 -0
- data/public/images/refinery/icons/flags/en.png +0 -0
- data/public/images/refinery/icons/flags/england.png +0 -0
- data/public/images/refinery/icons/flags/er.png +0 -0
- data/public/images/refinery/icons/flags/es.png +0 -0
- data/public/images/refinery/icons/flags/et.png +0 -0
- data/public/images/refinery/icons/flags/europeanunion.png +0 -0
- data/public/images/refinery/icons/flags/fam.png +0 -0
- data/public/images/refinery/icons/flags/fi.png +0 -0
- data/public/images/refinery/icons/flags/fj.png +0 -0
- data/public/images/refinery/icons/flags/fk.png +0 -0
- data/public/images/refinery/icons/flags/fm.png +0 -0
- data/public/images/refinery/icons/flags/fo.png +0 -0
- data/public/images/refinery/icons/flags/fr.png +0 -0
- data/public/images/refinery/icons/flags/ga.png +0 -0
- data/public/images/refinery/icons/flags/gb.png +0 -0
- data/public/images/refinery/icons/flags/gd.png +0 -0
- data/public/images/refinery/icons/flags/ge.png +0 -0
- data/public/images/refinery/icons/flags/gf.png +0 -0
- data/public/images/refinery/icons/flags/gh.png +0 -0
- data/public/images/refinery/icons/flags/gi.png +0 -0
- data/public/images/refinery/icons/flags/gl.png +0 -0
- data/public/images/refinery/icons/flags/gm.png +0 -0
- data/public/images/refinery/icons/flags/gn.png +0 -0
- data/public/images/refinery/icons/flags/gp.png +0 -0
- data/public/images/refinery/icons/flags/gq.png +0 -0
- data/public/images/refinery/icons/flags/gr.png +0 -0
- data/public/images/refinery/icons/flags/gs.png +0 -0
- data/public/images/refinery/icons/flags/gt.png +0 -0
- data/public/images/refinery/icons/flags/gu.png +0 -0
- data/public/images/refinery/icons/flags/gw.png +0 -0
- data/public/images/refinery/icons/flags/gy.png +0 -0
- data/public/images/refinery/icons/flags/hk.png +0 -0
- data/public/images/refinery/icons/flags/hm.png +0 -0
- data/public/images/refinery/icons/flags/hn.png +0 -0
- data/public/images/refinery/icons/flags/hr.png +0 -0
- data/public/images/refinery/icons/flags/ht.png +0 -0
- data/public/images/refinery/icons/flags/hu.png +0 -0
- data/public/images/refinery/icons/flags/id.png +0 -0
- data/public/images/refinery/icons/flags/ie.png +0 -0
- data/public/images/refinery/icons/flags/il.png +0 -0
- data/public/images/refinery/icons/flags/in.png +0 -0
- data/public/images/refinery/icons/flags/io.png +0 -0
- data/public/images/refinery/icons/flags/iq.png +0 -0
- data/public/images/refinery/icons/flags/ir.png +0 -0
- data/public/images/refinery/icons/flags/is.png +0 -0
- data/public/images/refinery/icons/flags/it.png +0 -0
- data/public/images/refinery/icons/flags/jm.png +0 -0
- data/public/images/refinery/icons/flags/jo.png +0 -0
- data/public/images/refinery/icons/flags/jp.png +0 -0
- data/public/images/refinery/icons/flags/ke.png +0 -0
- data/public/images/refinery/icons/flags/kg.png +0 -0
- data/public/images/refinery/icons/flags/kh.png +0 -0
- data/public/images/refinery/icons/flags/ki.png +0 -0
- data/public/images/refinery/icons/flags/km.png +0 -0
- data/public/images/refinery/icons/flags/kn.png +0 -0
- data/public/images/refinery/icons/flags/kp.png +0 -0
- data/public/images/refinery/icons/flags/kr.png +0 -0
- data/public/images/refinery/icons/flags/kw.png +0 -0
- data/public/images/refinery/icons/flags/ky.png +0 -0
- data/public/images/refinery/icons/flags/kz.png +0 -0
- data/public/images/refinery/icons/flags/la.png +0 -0
- data/public/images/refinery/icons/flags/lb.png +0 -0
- data/public/images/refinery/icons/flags/lc.png +0 -0
- data/public/images/refinery/icons/flags/li.png +0 -0
- data/public/images/refinery/icons/flags/lk.png +0 -0
- data/public/images/refinery/icons/flags/lr.png +0 -0
- data/public/images/refinery/icons/flags/ls.png +0 -0
- data/public/images/refinery/icons/flags/lt.png +0 -0
- data/public/images/refinery/icons/flags/lu.png +0 -0
- data/public/images/refinery/icons/flags/lv.png +0 -0
- data/public/images/refinery/icons/flags/ly.png +0 -0
- data/public/images/refinery/icons/flags/ma.png +0 -0
- data/public/images/refinery/icons/flags/mc.png +0 -0
- data/public/images/refinery/icons/flags/md.png +0 -0
- data/public/images/refinery/icons/flags/me.png +0 -0
- data/public/images/refinery/icons/flags/mg.png +0 -0
- data/public/images/refinery/icons/flags/mh.png +0 -0
- data/public/images/refinery/icons/flags/mk.png +0 -0
- data/public/images/refinery/icons/flags/ml.png +0 -0
- data/public/images/refinery/icons/flags/mm.png +0 -0
- data/public/images/refinery/icons/flags/mn.png +0 -0
- data/public/images/refinery/icons/flags/mo.png +0 -0
- data/public/images/refinery/icons/flags/mp.png +0 -0
- data/public/images/refinery/icons/flags/mq.png +0 -0
- data/public/images/refinery/icons/flags/mr.png +0 -0
- data/public/images/refinery/icons/flags/ms.png +0 -0
- data/public/images/refinery/icons/flags/mt.png +0 -0
- data/public/images/refinery/icons/flags/mu.png +0 -0
- data/public/images/refinery/icons/flags/mv.png +0 -0
- data/public/images/refinery/icons/flags/mw.png +0 -0
- data/public/images/refinery/icons/flags/mx.png +0 -0
- data/public/images/refinery/icons/flags/my.png +0 -0
- data/public/images/refinery/icons/flags/mz.png +0 -0
- data/public/images/refinery/icons/flags/na.png +0 -0
- data/public/images/refinery/icons/flags/nb.png +0 -0
- data/public/images/refinery/icons/flags/nc.png +0 -0
- data/public/images/refinery/icons/flags/ne.png +0 -0
- data/public/images/refinery/icons/flags/nf.png +0 -0
- data/public/images/refinery/icons/flags/ng.png +0 -0
- data/public/images/refinery/icons/flags/ni.png +0 -0
- data/public/images/refinery/icons/flags/nl.png +0 -0
- data/public/images/refinery/icons/flags/nn.png +0 -0
- data/public/images/refinery/icons/flags/np.png +0 -0
- data/public/images/refinery/icons/flags/nr.png +0 -0
- data/public/images/refinery/icons/flags/nu.png +0 -0
- data/public/images/refinery/icons/flags/nz.png +0 -0
- data/public/images/refinery/icons/flags/om.png +0 -0
- data/public/images/refinery/icons/flags/pa.png +0 -0
- data/public/images/refinery/icons/flags/pe.png +0 -0
- data/public/images/refinery/icons/flags/pf.png +0 -0
- data/public/images/refinery/icons/flags/pg.png +0 -0
- data/public/images/refinery/icons/flags/ph.png +0 -0
- data/public/images/refinery/icons/flags/pk.png +0 -0
- data/public/images/refinery/icons/flags/pl.png +0 -0
- data/public/images/refinery/icons/flags/pm.png +0 -0
- data/public/images/refinery/icons/flags/pn.png +0 -0
- data/public/images/refinery/icons/flags/pr.png +0 -0
- data/public/images/refinery/icons/flags/ps.png +0 -0
- data/public/images/refinery/icons/flags/pt-BR.png +0 -0
- data/public/images/refinery/icons/flags/pt.png +0 -0
- data/public/images/refinery/icons/flags/pw.png +0 -0
- data/public/images/refinery/icons/flags/py.png +0 -0
- data/public/images/refinery/icons/flags/qa.png +0 -0
- data/public/images/refinery/icons/flags/re.png +0 -0
- data/public/images/refinery/icons/flags/ro.png +0 -0
- data/public/images/refinery/icons/flags/rs.png +0 -0
- data/public/images/refinery/icons/flags/ru.png +0 -0
- data/public/images/refinery/icons/flags/rw.png +0 -0
- data/public/images/refinery/icons/flags/sa.png +0 -0
- data/public/images/refinery/icons/flags/sb.png +0 -0
- data/public/images/refinery/icons/flags/sc.png +0 -0
- data/public/images/refinery/icons/flags/scotland.png +0 -0
- data/public/images/refinery/icons/flags/sd.png +0 -0
- data/public/images/refinery/icons/flags/se.png +0 -0
- data/public/images/refinery/icons/flags/sg.png +0 -0
- data/public/images/refinery/icons/flags/sh.png +0 -0
- data/public/images/refinery/icons/flags/si.png +0 -0
- data/public/images/refinery/icons/flags/sj.png +0 -0
- data/public/images/refinery/icons/flags/sk.png +0 -0
- data/public/images/refinery/icons/flags/sl.png +0 -0
- data/public/images/refinery/icons/flags/sm.png +0 -0
- data/public/images/refinery/icons/flags/sn.png +0 -0
- data/public/images/refinery/icons/flags/so.png +0 -0
- data/public/images/refinery/icons/flags/sr.png +0 -0
- data/public/images/refinery/icons/flags/st.png +0 -0
- data/public/images/refinery/icons/flags/sv.png +0 -0
- data/public/images/refinery/icons/flags/sy.png +0 -0
- data/public/images/refinery/icons/flags/sz.png +0 -0
- data/public/images/refinery/icons/flags/tc.png +0 -0
- data/public/images/refinery/icons/flags/td.png +0 -0
- data/public/images/refinery/icons/flags/tf.png +0 -0
- data/public/images/refinery/icons/flags/tg.png +0 -0
- data/public/images/refinery/icons/flags/th.png +0 -0
- data/public/images/refinery/icons/flags/tj.png +0 -0
- data/public/images/refinery/icons/flags/tk.png +0 -0
- data/public/images/refinery/icons/flags/tl.png +0 -0
- data/public/images/refinery/icons/flags/tm.png +0 -0
- data/public/images/refinery/icons/flags/tn.png +0 -0
- data/public/images/refinery/icons/flags/to.png +0 -0
- data/public/images/refinery/icons/flags/tr.png +0 -0
- data/public/images/refinery/icons/flags/tt.png +0 -0
- data/public/images/refinery/icons/flags/tv.png +0 -0
- data/public/images/refinery/icons/flags/tw.png +0 -0
- data/public/images/refinery/icons/flags/tz.png +0 -0
- data/public/images/refinery/icons/flags/ua.png +0 -0
- data/public/images/refinery/icons/flags/ug.png +0 -0
- data/public/images/refinery/icons/flags/um.png +0 -0
- data/public/images/refinery/icons/flags/us.png +0 -0
- data/public/images/refinery/icons/flags/uy.png +0 -0
- data/public/images/refinery/icons/flags/uz.png +0 -0
- data/public/images/refinery/icons/flags/va.png +0 -0
- data/public/images/refinery/icons/flags/vc.png +0 -0
- data/public/images/refinery/icons/flags/ve.png +0 -0
- data/public/images/refinery/icons/flags/vg.png +0 -0
- data/public/images/refinery/icons/flags/vi.png +0 -0
- data/public/images/refinery/icons/flags/vn.png +0 -0
- data/public/images/refinery/icons/flags/vu.png +0 -0
- data/public/images/refinery/icons/flags/wales.png +0 -0
- data/public/images/refinery/icons/flags/wf.png +0 -0
- data/public/images/refinery/icons/flags/ws.png +0 -0
- data/public/images/refinery/icons/flags/ye.png +0 -0
- data/public/images/refinery/icons/flags/yt.png +0 -0
- data/public/images/refinery/icons/flags/za.png +0 -0
- data/public/images/refinery/icons/flags/zm.png +0 -0
- data/public/images/refinery/icons/flags/zw.png +0 -0
- data/public/images/refinery/icons/folder_page_white.png +0 -0
- data/public/images/refinery/icons/img.png +0 -0
- data/public/images/refinery/icons/music.png +0 -0
- data/public/images/refinery/icons/page_white_gear.png +0 -0
- data/public/images/refinery/icons/pdf.png +0 -0
- data/public/images/refinery/icons/ppt.png +0 -0
- data/public/images/refinery/icons/xls.png +0 -0
- data/public/images/refinery/icons/zip.png +0 -0
- data/public/images/refinery/logo-site-bar.png +0 -0
- data/public/images/refinery/nav_inactive_background.png +0 -0
- data/public/images/refinery/orange_button.png +0 -0
- data/public/images/refinery/text_field_background.png +0 -0
- data/public/images/refinery/tooltip-nib.png +0 -0
- data/public/images/wymeditor/skins/refinery/text_indent.png +0 -0
- data/public/images/wymeditor/skins/refinery/text_indent_remove.png +0 -0
- data/public/javascripts/admin.js +6 -8
- data/public/javascripts/i18n-messages.js +2 -0
- data/public/javascripts/jquery-min.js +154 -0
- data/public/javascripts/jquery-ui-custom-min.js +244 -0
- data/public/javascripts/jquery/jquery.corner.js +314 -216
- data/public/javascripts/jquery/jquery.html5-placeholder-shim.js +81 -0
- data/public/javascripts/jquery/jquery.nestedsortables.js +186 -0
- data/public/javascripts/jquery/jquery.textTruncate.js +174 -0
- data/public/javascripts/jquery/jquery.timers.js +138 -0
- data/public/javascripts/refinery/admin.js +352 -153
- data/public/javascripts/refinery/boot_wym.js +81 -46
- data/public/javascripts/refinery/i18n.js +340 -0
- data/public/javascripts/wymeditor/jquery.refinery.wymeditor.js +359 -363
- data/public/javascripts/wymeditor/lang/en.js +46 -46
- data/public/javascripts/wymeditor/lang/nl.js +5 -3
- data/public/javascripts/wymeditor/lang/pt-br.js +3 -2
- data/public/javascripts/wymeditor/lang/sl.js +47 -0
- data/public/javascripts/wymeditor/skins/refinery/skin.js +23 -23
- data/public/robots.txt +1 -0
- data/public/stylesheets/application.css +3 -3
- data/public/stylesheets/formatting.css +3 -3
- data/public/stylesheets/home.css +2 -2
- data/public/stylesheets/ie7.css +1 -0
- data/public/stylesheets/refinery/application.css +4 -2
- data/public/stylesheets/refinery/formatting.css +15 -15
- data/public/stylesheets/refinery/ie.css +20 -0
- data/public/stylesheets/refinery/refinery.css +680 -462
- data/public/stylesheets/refinery/site_bar.css +68 -25
- data/public/stylesheets/refinery/theme.css +14 -14
- data/public/stylesheets/refinery/tooltips.css +28 -32
- data/public/stylesheets/refinery/ui.css +25 -10
- data/public/stylesheets/wymeditor/skins/refinery/skin.css +148 -149
- data/public/stylesheets/wymeditor/skins/refinery/wymiframe.css +67 -63
- data/readme.md +48 -17
- data/script/about +1 -1
- data/script/autospec +6 -0
- data/script/console +1 -1
- data/script/cucumber +10 -0
- data/script/dbconsole +1 -1
- data/script/destroy +1 -1
- data/script/generate +1 -1
- data/script/performance/benchmarker +1 -1
- data/script/performance/profiler +1 -1
- data/script/performance/request +1 -1
- data/script/plugin +1 -1
- data/script/process/inspector +1 -1
- data/script/process/reaper +1 -1
- data/script/process/spawner +1 -1
- data/script/runner +1 -1
- data/script/server +1 -1
- data/script/spec +10 -0
- data/test/fixtures/images.yml +1 -2
- data/test/fixtures/pages.yml +4 -4
- data/test/fixtures/user_plugins.yml +20 -24
- data/test/functional/dashboard_controller_test.rb +2 -1
- data/test/functional/images_controller_test.rb +3 -10
- data/test/unit/image_test.rb +1 -1
- data/test/unit/inquiry_test.rb +6 -6
- data/test/unit/page_test.rb +31 -1
- data/test/unit/refinery_setting_test.rb +1 -1
- data/themes/demolicious/stylesheets/application.css +23 -12
- data/themes/demolicious/stylesheets/formatting.css +3 -3
- data/themes/demolicious/stylesheets/home.css +1 -4
- data/themes/demolicious/views/layouts/application.html.erb +5 -5
- data/themes/demolicious/views/pages/home.html.erb +1 -1
- data/themes/hemingway/stylesheets/application.css +1 -1
- data/themes/hemingway/views/layouts/application.html.erb +1 -0
- data/todo.md +19 -5
- data/vendor/plugins/authentication/app/controllers/admin/users_controller.rb +13 -18
- data/vendor/plugins/authentication/app/controllers/sessions_controller.rb +21 -6
- data/vendor/plugins/authentication/app/controllers/users_controller.rb +57 -49
- data/vendor/plugins/authentication/app/models/role.rb +16 -0
- data/vendor/plugins/authentication/app/models/user.rb +21 -8
- data/vendor/plugins/authentication/app/models/user_mailer.rb +3 -2
- data/vendor/plugins/authentication/app/models/user_session.rb +1 -1
- data/vendor/plugins/authentication/app/views/admin/users/_form.html.erb +29 -10
- data/vendor/plugins/authentication/app/views/admin/users/_user.html.erb +11 -10
- data/vendor/plugins/authentication/app/views/admin/users/index.html.erb +2 -3
- data/vendor/plugins/authentication/app/views/sessions/new.html.erb +15 -18
- data/vendor/plugins/authentication/app/views/users/forgot.html.erb +14 -9
- data/vendor/plugins/authentication/app/views/users/new.html.erb +11 -13
- data/vendor/plugins/authentication/app/views/users/reset.html.erb +14 -9
- data/vendor/plugins/authentication/config/locales/da.yml +71 -0
- data/vendor/plugins/authentication/config/locales/de.yml +75 -0
- data/vendor/plugins/authentication/config/locales/en.yml +75 -0
- data/vendor/plugins/authentication/config/locales/es.yml +79 -0
- data/vendor/plugins/authentication/config/locales/fr.yml +79 -0
- data/vendor/plugins/authentication/config/locales/it.yml +68 -0
- data/vendor/plugins/authentication/config/locales/nb.yml +68 -0
- data/vendor/plugins/authentication/config/locales/nl.yml +83 -0
- data/vendor/plugins/authentication/config/locales/pt-BR.yml +64 -0
- data/vendor/plugins/authentication/config/locales/sl.yml +78 -0
- data/vendor/plugins/authentication/config/routes.rb +4 -5
- data/vendor/plugins/authentication/lib/authenticated_system.rb +5 -1
- data/vendor/plugins/authentication/rails/init.rb +5 -1
- data/vendor/plugins/authentication/{authentication.md → readme.md} +0 -0
- data/vendor/plugins/authentication/test/unit/user_mailer_test.rb +1 -1
- data/vendor/plugins/dashboard/app/controllers/admin/dashboard_controller.rb +17 -7
- data/vendor/plugins/dashboard/app/helpers/admin/dashboard_helper.rb +5 -9
- data/vendor/plugins/dashboard/app/views/admin/dashboard/_recent_activity.html.erb +10 -12
- data/vendor/plugins/dashboard/app/views/admin/dashboard/_recent_inquiries.html.erb +12 -0
- data/vendor/plugins/dashboard/app/views/admin/dashboard/index.html.erb +34 -11
- data/vendor/plugins/dashboard/config/locales/da.yml +22 -0
- data/vendor/plugins/dashboard/config/locales/de.yml +22 -0
- data/vendor/plugins/dashboard/config/locales/en.yml +22 -0
- data/vendor/plugins/dashboard/config/locales/es.yml +22 -0
- data/vendor/plugins/dashboard/config/locales/fr.yml +22 -0
- data/vendor/plugins/dashboard/config/locales/it.yml +22 -0
- data/vendor/plugins/dashboard/config/locales/nb.yml +22 -0
- data/vendor/plugins/dashboard/config/locales/nl.yml +22 -0
- data/vendor/plugins/dashboard/config/locales/pt-BR.yml +22 -0
- data/vendor/plugins/dashboard/config/locales/sl.yml +22 -0
- data/vendor/plugins/dashboard/config/routes.rb +2 -1
- data/vendor/plugins/dashboard/rails/init.rb +6 -0
- data/vendor/plugins/dashboard/{dashboard.md → readme.md} +0 -0
- data/vendor/plugins/i18n-js/README.rdoc +249 -0
- data/vendor/plugins/i18n-js/Rakefile +23 -0
- data/vendor/plugins/i18n-js/init.rb +1 -0
- data/vendor/plugins/i18n-js/install.rb +7 -0
- data/vendor/plugins/i18n-js/lib/i18n-js.rb +132 -0
- data/vendor/plugins/i18n-js/lib/i18n-js.yml +4 -0
- data/vendor/plugins/i18n-js/lib/i18n.js +339 -0
- data/vendor/plugins/i18n-js/lib/tasks/i18n-js_tasks.rake +16 -0
- data/vendor/plugins/i18n-js/test/i18n-test.html +50 -0
- data/vendor/plugins/i18n-js/test/i18n-test.js +661 -0
- data/vendor/plugins/i18n-js/test/i18n_js_test.rb +168 -0
- data/vendor/plugins/i18n-js/test/jsunittest/jsunittest.js +1017 -0
- data/vendor/plugins/i18n-js/test/jsunittest/unittest.css +54 -0
- data/vendor/plugins/i18n-js/test/resources/custom_path.yml +4 -0
- data/vendor/plugins/i18n-js/test/resources/default.yml +4 -0
- data/vendor/plugins/i18n-js/test/resources/locales.yml +76 -0
- data/vendor/plugins/i18n-js/test/resources/multiple_files.yml +6 -0
- data/vendor/plugins/i18n-js/test/resources/no_scope.yml +3 -0
- data/vendor/plugins/i18n-js/test/resources/simple_scope.yml +4 -0
- data/vendor/plugins/i18n-js/test/test_helper.rb +24 -0
- data/vendor/plugins/i18n/config/locales/ar.yml +121 -0
- data/vendor/plugins/i18n/config/locales/bg.yml +198 -0
- data/vendor/plugins/i18n/config/locales/bn-IN.yml +180 -0
- data/vendor/plugins/i18n/config/locales/bs.yml +114 -0
- data/vendor/plugins/i18n/config/locales/ca-ES.yml +155 -0
- data/vendor/plugins/i18n/config/locales/cz.rb +166 -0
- data/vendor/plugins/i18n/config/locales/da.yml +167 -0
- data/vendor/plugins/i18n/config/locales/de-AT.yml +140 -0
- data/vendor/plugins/i18n/config/locales/de.yml +141 -0
- data/vendor/plugins/i18n/config/locales/dsb.yml +182 -0
- data/vendor/plugins/i18n/config/locales/el.yml +191 -0
- data/vendor/plugins/i18n/config/locales/es-AR.yml +168 -0
- data/vendor/plugins/i18n/config/locales/es-CO.yml +146 -0
- data/vendor/plugins/i18n/config/locales/es-MX.yml +118 -0
- data/vendor/plugins/i18n/config/locales/es.yml +186 -0
- data/vendor/plugins/i18n/config/locales/et.yml +109 -0
- data/vendor/plugins/i18n/config/locales/fa.yml +119 -0
- data/vendor/plugins/i18n/config/locales/fi.yml +154 -0
- data/vendor/plugins/i18n/config/locales/fr-CH.yml +123 -0
- data/vendor/plugins/i18n/config/locales/fr.yml +140 -0
- data/vendor/plugins/i18n/config/locales/fun/en-AU.rb +105 -0
- data/vendor/plugins/i18n/config/locales/fun/gibberish.rb +109 -0
- data/vendor/plugins/i18n/config/locales/fur.yml +141 -0
- data/vendor/plugins/i18n/config/locales/gl-ES.yml +193 -0
- data/vendor/plugins/i18n/config/locales/he.yml +103 -0
- data/vendor/plugins/i18n/config/locales/hr.yml +116 -0
- data/vendor/plugins/i18n/config/locales/hsb.yml +190 -0
- data/vendor/plugins/i18n/config/locales/hu.yml +144 -0
- data/vendor/plugins/i18n/config/locales/id.yml +122 -0
- data/vendor/plugins/i18n/config/locales/is.yml +142 -0
- data/vendor/plugins/i18n/config/locales/it.yml +146 -0
- data/vendor/plugins/i18n/config/locales/ja.yml +139 -0
- data/vendor/plugins/i18n/config/locales/ko.yml +153 -0
- data/vendor/plugins/i18n/config/locales/lo.yml +201 -0
- data/vendor/plugins/i18n/config/locales/lt.yml +141 -0
- data/vendor/plugins/i18n/config/locales/lv.yml +132 -0
- data/vendor/plugins/i18n/config/locales/mk.yml +115 -0
- data/vendor/plugins/i18n/config/locales/nb.yml +103 -0
- data/vendor/plugins/i18n/config/locales/nl.yml +173 -0
- data/vendor/plugins/i18n/config/locales/nn.yml +96 -0
- data/vendor/plugins/i18n/config/locales/pl.yml +127 -0
- data/vendor/plugins/i18n/config/locales/pt-BR.yml +148 -0
- data/vendor/plugins/i18n/config/locales/pt-PT.yml +220 -0
- data/vendor/plugins/i18n/config/locales/rm.yml +134 -0
- data/vendor/plugins/i18n/config/locales/ro.yml +152 -0
- data/vendor/plugins/i18n/config/locales/ru.yml +210 -0
- data/vendor/plugins/i18n/config/locales/sk.yml +139 -0
- data/vendor/plugins/i18n/config/locales/sl.yml +190 -0
- data/vendor/plugins/i18n/config/locales/sr-Latn.yml +116 -0
- data/vendor/plugins/i18n/config/locales/sr.yml +116 -0
- data/vendor/plugins/i18n/config/locales/sv-SE.yml +191 -0
- data/vendor/plugins/i18n/config/locales/sw.yml +123 -0
- data/vendor/plugins/i18n/config/locales/th.rb +222 -0
- data/vendor/plugins/i18n/config/locales/tr.yml +139 -0
- data/vendor/plugins/i18n/config/locales/uk.yml +237 -0
- data/vendor/plugins/i18n/config/locales/vi.yml +198 -0
- data/vendor/plugins/i18n/config/locales/zh-CN.yml +131 -0
- data/vendor/plugins/i18n/config/locales/zh-TW.yml +132 -0
- data/vendor/plugins/i18n/lib/i18n.rb +115 -0
- data/vendor/plugins/i18n/lib/i18n_filter.rb +48 -0
- data/vendor/plugins/i18n/lib/routing_filter/MIT-LICENSE +20 -0
- data/vendor/plugins/i18n/lib/routing_filter/README.markdown +123 -0
- data/vendor/plugins/i18n/lib/routing_filter/VERSION +1 -0
- data/vendor/plugins/i18n/lib/routing_filter/routing_filter.rb +96 -0
- data/vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb +31 -0
- data/vendor/plugins/i18n/lib/routing_filter/routing_filter/force_extension.rb +57 -0
- data/vendor/plugins/i18n/lib/routing_filter/routing_filter/pagination.rb +33 -0
- data/vendor/plugins/i18n/lib/routing_filter/routing_filter/uuid_token.rb +78 -0
- data/vendor/plugins/i18n/rails/init.rb +4 -0
- data/vendor/plugins/images/app/controllers/admin/images_controller.rb +6 -7
- data/vendor/plugins/images/app/models/image.rb +24 -6
- data/vendor/plugins/images/app/views/admin/images/_existing_image.erb +50 -0
- data/vendor/plugins/images/app/views/admin/images/_form.html.erb +15 -7
- data/vendor/plugins/images/app/views/admin/images/_grid_view.html.erb +5 -5
- data/vendor/plugins/images/app/views/admin/images/_list_view.html.erb +3 -1
- data/vendor/plugins/images/app/views/admin/images/_list_view_image.html.erb +10 -10
- data/vendor/plugins/images/app/views/admin/images/index.html.erb +5 -8
- data/vendor/plugins/images/app/views/admin/images/insert.html.erb +16 -38
- data/vendor/plugins/images/config/locales/da.yml +44 -0
- data/vendor/plugins/images/config/locales/de.yml +45 -0
- data/vendor/plugins/images/config/locales/en.yml +44 -0
- data/vendor/plugins/images/config/locales/es.yml +45 -0
- data/vendor/plugins/images/config/locales/fr.yml +44 -0
- data/vendor/plugins/images/config/locales/it.yml +42 -0
- data/vendor/plugins/images/config/locales/nb.yml +43 -0
- data/vendor/plugins/images/config/locales/nl.yml +44 -0
- data/vendor/plugins/images/config/locales/pt-BR.yml +46 -0
- data/vendor/plugins/images/config/locales/sl.yml +44 -0
- data/vendor/plugins/images/config/routes.rb +1 -1
- data/vendor/plugins/images/lib/tasks/images.rake +6 -6
- data/vendor/plugins/images/rails/init.rb +5 -1
- data/vendor/plugins/images/readme.md +58 -0
- data/vendor/plugins/inquiries/app/controllers/admin/inquiries_controller.rb +16 -7
- data/vendor/plugins/inquiries/app/controllers/admin/inquiry_settings_controller.rb +5 -9
- data/vendor/plugins/inquiries/app/controllers/inquiries_controller.rb +14 -12
- data/vendor/plugins/inquiries/app/models/inquiry.rb +133 -6
- data/vendor/plugins/inquiries/app/models/inquiry_mailer.rb +2 -2
- data/vendor/plugins/inquiries/app/models/inquiry_setting.rb +51 -2
- data/vendor/plugins/inquiries/app/views/admin/inquiries/_inquiry.html.erb +16 -8
- data/vendor/plugins/inquiries/app/views/admin/inquiries/_submenu.html.erb +27 -0
- data/vendor/plugins/inquiries/app/views/admin/inquiries/index.html.erb +3 -18
- data/vendor/plugins/inquiries/app/views/admin/inquiries/show.html.erb +23 -12
- data/vendor/plugins/inquiries/app/views/admin/inquiries/spam.html.erb +20 -0
- data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_confirmation_email_form.html.erb +21 -14
- data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_inquiry_setting.html.erb +11 -0
- data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_notification_recipients_form.html.erb +21 -14
- data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/_subject_form.html.erb +9 -0
- data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/edit.html.erb +2 -0
- data/vendor/plugins/inquiries/app/views/admin/inquiry_settings/index.html.erb +7 -17
- data/vendor/plugins/inquiries/app/views/inquiries/new.html.erb +4 -5
- data/vendor/plugins/inquiries/config/locales/da.yml +67 -0
- data/vendor/plugins/inquiries/config/locales/de.yml +71 -0
- data/vendor/plugins/inquiries/config/locales/en.yml +75 -0
- data/vendor/plugins/inquiries/config/locales/es.yml +68 -0
- data/vendor/plugins/inquiries/config/locales/fr.yml +65 -0
- data/vendor/plugins/inquiries/config/locales/it.yml +66 -0
- data/vendor/plugins/inquiries/config/locales/nb.yml +67 -0
- data/vendor/plugins/inquiries/config/locales/nl.yml +71 -0
- data/vendor/plugins/inquiries/config/locales/pt-BR.yml +75 -0
- data/vendor/plugins/inquiries/config/locales/sl.yml +68 -0
- data/vendor/plugins/inquiries/config/routes.rb +4 -3
- data/vendor/plugins/inquiries/rails/init.rb +6 -3
- data/vendor/plugins/inquiries/readme.md +31 -0
- data/vendor/plugins/model_translations/MIT-LICENSE +20 -0
- data/vendor/plugins/model_translations/README.rdoc +90 -0
- data/vendor/plugins/model_translations/Rakefile +23 -0
- data/vendor/plugins/model_translations/init.rb +1 -0
- data/vendor/plugins/model_translations/lib/active_record/model_translations.rb +55 -0
- data/vendor/plugins/model_translations/test/model_translations_test.rb +88 -0
- data/vendor/plugins/model_translations/test/test_helper.rb +3 -0
- data/vendor/plugins/pages/app/controllers/admin/page_dialogs_controller.rb +29 -0
- data/vendor/plugins/pages/app/controllers/admin/page_parts_controller.rb +2 -0
- data/vendor/plugins/pages/app/controllers/admin/pages_controller.rb +37 -10
- data/vendor/plugins/pages/app/controllers/pages_controller.rb +24 -2
- data/vendor/plugins/pages/app/models/page.rb +90 -15
- data/vendor/plugins/pages/app/models/page_part.rb +1 -1
- data/vendor/plugins/pages/app/views/admin/page_dialogs/_page_link.html.erb +1 -1
- data/vendor/plugins/pages/app/views/admin/page_dialogs/link_to.html.erb +59 -74
- data/vendor/plugins/pages/app/views/admin/pages/_form.html.erb +14 -39
- data/vendor/plugins/pages/app/views/admin/pages/_form_advanced_options.html.erb +56 -50
- data/vendor/plugins/pages/app/views/admin/pages/_form_advanced_options_seo.html.erb +23 -21
- data/vendor/plugins/pages/app/views/admin/pages/_form_page_parts.html.erb +37 -0
- data/vendor/plugins/pages/app/views/admin/pages/_page.html.erb +10 -11
- data/vendor/plugins/pages/app/views/admin/pages/_page_part_field.html.erb +3 -2
- data/vendor/plugins/pages/app/views/admin/pages/index.html.erb +7 -7
- data/vendor/plugins/pages/app/views/pages/home.html.erb +1 -1
- data/vendor/plugins/pages/config/locales/da.yml +53 -0
- data/vendor/plugins/pages/config/locales/de.yml +53 -0
- data/vendor/plugins/pages/config/locales/en.yml +95 -0
- data/vendor/plugins/pages/config/locales/es.yml +53 -0
- data/vendor/plugins/pages/config/locales/fr.yml +53 -0
- data/vendor/plugins/pages/config/locales/it.yml +53 -0
- data/vendor/plugins/pages/config/locales/nb.yml +53 -0
- data/vendor/plugins/pages/config/locales/nl.yml +54 -0
- data/vendor/plugins/pages/config/locales/pt-BR.yml +61 -0
- data/vendor/plugins/pages/config/locales/sl.yml +96 -0
- data/vendor/plugins/pages/config/routes.rb +2 -2
- data/vendor/plugins/pages/rails/init.rb +5 -1
- data/vendor/plugins/pages/readme.md +156 -0
- data/vendor/plugins/refinery/app/controllers/admin/refinery_core_controller.rb +4 -2
- data/vendor/plugins/refinery/app/controllers/refinery/fast_controller.rb +7 -0
- data/vendor/plugins/refinery/app/views/admin/_head.html.erb +42 -9
- data/vendor/plugins/refinery/app/views/admin/_menu.html.erb +14 -15
- data/vendor/plugins/refinery/app/views/admin/_menu_tab.html.erb +4 -0
- data/vendor/plugins/refinery/app/views/layouts/admin.html.erb +10 -5
- data/vendor/plugins/refinery/app/views/layouts/application.html.erb +3 -3
- data/vendor/plugins/refinery/app/views/shared/_content_page.html.erb +28 -29
- data/vendor/plugins/refinery/app/views/shared/_draft_page_message.html.erb +3 -0
- data/vendor/plugins/refinery/app/views/shared/_google_analytics.html.erb +2 -1
- data/vendor/plugins/refinery/app/views/shared/_head.html.erb +1 -0
- data/vendor/plugins/refinery/app/views/shared/_header.html.erb +1 -1
- data/vendor/plugins/refinery/app/views/shared/_ie6check.html.erb +44 -4
- data/vendor/plugins/refinery/app/views/shared/_language_switcher.html.erb +5 -0
- data/vendor/plugins/refinery/app/views/shared/_menu.html.erb +17 -8
- data/vendor/plugins/refinery/app/views/shared/_menu_branch.html.erb +19 -21
- data/vendor/plugins/refinery/app/views/shared/_message.html.erb +6 -1
- data/vendor/plugins/refinery/app/views/shared/_site_bar.html.erb +38 -15
- data/vendor/plugins/refinery/app/views/shared/admin/_continue_editing.html.erb +1 -2
- data/vendor/plugins/refinery/app/views/shared/admin/_form_actions.html.erb +58 -14
- data/vendor/plugins/refinery/app/views/shared/admin/_image_picker.html.erb +7 -6
- data/vendor/plugins/refinery/app/views/shared/admin/_make_sortable.html.erb +10 -9
- data/vendor/plugins/refinery/app/views/shared/admin/_resource_picker.html.erb +7 -4
- data/vendor/plugins/refinery/app/views/shared/admin/_search.html.erb +3 -4
- data/vendor/plugins/refinery/app/views/shared/admin/_sortable_list.html.erb +1 -1
- data/vendor/plugins/refinery/app/views/welcome.html.erb +5 -7
- data/vendor/plugins/refinery/app/views/wymiframe.html.erb +13 -5
- data/vendor/plugins/refinery/config/locales/da.yml +71 -0
- data/vendor/plugins/refinery/config/locales/de.yml +67 -0
- data/vendor/plugins/refinery/config/locales/en.yml +59 -0
- data/vendor/plugins/refinery/config/locales/es.yml +64 -0
- data/vendor/plugins/refinery/config/locales/fr.yml +67 -0
- data/vendor/plugins/refinery/config/locales/it.yml +68 -0
- data/vendor/plugins/refinery/config/locales/nb.yml +64 -0
- data/vendor/plugins/refinery/config/locales/nl.yml +63 -0
- data/vendor/plugins/refinery/config/locales/pt-BR.yml +60 -0
- data/vendor/plugins/refinery/config/locales/sl.yml +61 -0
- data/vendor/plugins/refinery/config/routes.rb +4 -4
- data/vendor/plugins/refinery/crud.md +2 -2
- data/vendor/plugins/refinery/lib/crud.rb +34 -25
- data/vendor/plugins/refinery/lib/generators/refinery/refinery_generator.rb +9 -2
- data/vendor/plugins/refinery/lib/generators/refinery/templates/config/locales/en.yml +16 -0
- data/vendor/plugins/refinery/lib/generators/refinery/templates/config/locales/nl.yml +16 -0
- data/vendor/plugins/refinery/lib/generators/refinery/templates/config/routes.rb +2 -2
- data/vendor/plugins/refinery/lib/generators/refinery/templates/migration.rb +1 -14
- data/vendor/plugins/refinery/lib/generators/refinery/templates/model.rb +1 -2
- data/vendor/plugins/refinery/lib/generators/refinery/templates/rails/init.rb +3 -0
- data/vendor/plugins/refinery/lib/generators/refinery/templates/seed.rb +15 -0
- data/vendor/plugins/refinery/lib/generators/refinery/templates/views/admin/_form.html.erb +2 -2
- data/vendor/plugins/refinery/lib/generators/refinery/templates/views/admin/_singular_name.html.erb +10 -11
- data/vendor/plugins/refinery/lib/generators/refinery/templates/views/admin/index.html.erb +5 -6
- data/vendor/plugins/refinery/lib/generators/refinery/templates/views/show.html.erb +1 -1
- data/vendor/plugins/refinery/lib/refinery.rb +22 -1
- data/vendor/plugins/refinery/lib/refinery/activity.rb +1 -1
- data/vendor/plugins/refinery/lib/refinery/admin_base_controller.rb +56 -10
- data/vendor/plugins/refinery/lib/refinery/application_controller.rb +39 -14
- data/vendor/plugins/refinery/lib/refinery/application_helper.rb +62 -12
- data/vendor/plugins/refinery/lib/refinery/base_presenter.rb +1 -1
- data/vendor/plugins/refinery/lib/refinery/form_helpers.rb +37 -2
- data/vendor/plugins/refinery/lib/refinery/html_truncation_helper.rb +10 -100
- data/vendor/plugins/refinery/lib/refinery/initializer.rb +15 -1
- data/vendor/plugins/refinery/lib/refinery/plugin.rb +26 -14
- data/vendor/plugins/refinery/lib/refinery/plugins.rb +21 -8
- data/vendor/plugins/refinery/lib/tasks/doc.rake +24 -24
- data/vendor/plugins/refinery/lib/tasks/refinery.rake +232 -9
- data/vendor/plugins/refinery/lib/tasks/yard.rake +22 -22
- data/vendor/plugins/refinery/plugins.md +6 -6
- data/vendor/plugins/refinery/rails/init.rb +8 -1
- data/vendor/plugins/refinery_dialogs/app/controllers/admin/dialogs_controller.rb +4 -0
- data/vendor/plugins/refinery_dialogs/app/views/admin/dialogs/show.html.erb +11 -12
- data/vendor/plugins/refinery_dialogs/app/views/layouts/admin_dialog.html.erb +4 -2
- data/vendor/plugins/refinery_dialogs/config/routes.rb +1 -1
- data/vendor/plugins/refinery_dialogs/rails/init.rb +4 -0
- data/vendor/plugins/refinery_settings/app/controllers/admin/refinery_settings_controller.rb +39 -0
- data/vendor/plugins/refinery_settings/app/models/refinery_setting.rb +67 -10
- data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/_form.html.erb +30 -6
- data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/_refinery_setting.html.erb +10 -11
- data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/edit.html.erb +0 -3
- data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/index.html.erb +13 -4
- data/vendor/plugins/refinery_settings/config/locales/da.yml +49 -0
- data/vendor/plugins/refinery_settings/config/locales/de.yml +23 -0
- data/vendor/plugins/refinery_settings/config/locales/en.yml +45 -0
- data/vendor/plugins/refinery_settings/config/locales/es.yml +23 -0
- data/vendor/plugins/refinery_settings/config/locales/fr.yml +23 -0
- data/vendor/plugins/refinery_settings/config/locales/it.yml +23 -0
- data/vendor/plugins/refinery_settings/config/locales/nb.yml +23 -0
- data/vendor/plugins/refinery_settings/config/locales/nl.yml +46 -0
- data/vendor/plugins/refinery_settings/config/locales/pt-BR.yml +23 -0
- data/vendor/plugins/refinery_settings/config/locales/sl.yml +24 -0
- data/vendor/plugins/refinery_settings/config/routes.rb +1 -1
- data/vendor/plugins/refinery_settings/rails/init.rb +5 -8
- data/vendor/plugins/refinery_settings/{settings.md → readme.md} +0 -0
- data/vendor/plugins/resources/app/controllers/admin/resources_controller.rb +2 -7
- data/vendor/plugins/resources/app/models/resource.rb +8 -3
- data/vendor/plugins/resources/app/views/admin/resources/_existing_resource.html.erb +34 -0
- data/vendor/plugins/resources/app/views/admin/resources/_form.html.erb +15 -7
- data/vendor/plugins/resources/app/views/admin/resources/_resource.html.erb +12 -12
- data/vendor/plugins/resources/app/views/admin/resources/index.html.erb +8 -6
- data/vendor/plugins/resources/app/views/admin/resources/insert.html.erb +4 -40
- data/vendor/plugins/resources/config/locales/da.yml +34 -0
- data/vendor/plugins/resources/config/locales/de.yml +32 -0
- data/vendor/plugins/resources/config/locales/en.yml +32 -0
- data/vendor/plugins/resources/config/locales/es.yml +34 -0
- data/vendor/plugins/resources/config/locales/fr.yml +34 -0
- data/vendor/plugins/resources/config/locales/it.yml +33 -0
- data/vendor/plugins/resources/config/locales/nb.yml +34 -0
- data/vendor/plugins/resources/config/locales/nl.yml +34 -0
- data/vendor/plugins/resources/config/locales/pt-BR.yml +34 -0
- data/vendor/plugins/resources/config/locales/sl.yml +34 -0
- data/vendor/plugins/resources/config/routes.rb +1 -3
- data/vendor/plugins/resources/rails/init.rb +5 -1
- data/vendor/plugins/resources/{resources.md → readme.md} +0 -0
- data/vendor/plugins/themes/lib/theme_server.rb +1 -1
- data/vendor/plugins/themes/rails/init.rb +4 -1
- data/vendor/plugins/themes/readme.md +113 -0
- data/vendor/plugins/{rails_indexes → translate}/MIT-LICENSE +0 -0
- data/vendor/plugins/translate/README +61 -0
- data/vendor/plugins/translate/REFINERY_README +8 -0
- data/vendor/plugins/translate/Rakefile +11 -0
- data/vendor/plugins/translate/init.rb +8 -0
- data/vendor/plugins/translate/lib/translate.rb +13 -0
- data/vendor/plugins/translate/lib/translate/file.rb +35 -0
- data/vendor/plugins/translate/lib/translate/keys.rb +123 -0
- data/vendor/plugins/translate/lib/translate/log.rb +39 -0
- data/vendor/plugins/translate/lib/translate/storage.rb +20 -0
- data/vendor/plugins/translate/tasks/translate.rake +182 -0
- metadata +574 -366
- data/.gems +0 -0
- data/VERSION +0 -1
- data/bin/refinery-override +0 -76
- data/public/images/thickbox/cross.png +0 -0
- data/public/images/thickbox/loadingAnimation.gif +0 -0
- data/public/images/thickbox/macFFBgHack.png +0 -0
- data/public/javascripts/jquery-ui-1.8.min.js +0 -374
- data/vendor/plugins/acts_as_indexed/CHANGELOG +0 -78
- data/vendor/plugins/acts_as_indexed/MIT-LICENSE +0 -20
- data/vendor/plugins/acts_as_indexed/README.rdoc +0 -114
- data/vendor/plugins/acts_as_indexed/Rakefile +0 -35
- data/vendor/plugins/acts_as_indexed/init.rb +0 -2
- data/vendor/plugins/acts_as_indexed/lib/acts_as_indexed.rb +0 -224
- data/vendor/plugins/acts_as_indexed/lib/search_atom.rb +0 -109
- data/vendor/plugins/acts_as_indexed/lib/search_index.rb +0 -329
- data/vendor/plugins/acts_as_indexed/lib/will_paginate_search.rb +0 -29
- data/vendor/plugins/acts_as_indexed/test/abstract_unit.rb +0 -47
- data/vendor/plugins/acts_as_indexed/test/acts_as_indexed_test.rb +0 -102
- data/vendor/plugins/acts_as_indexed/test/database.yml +0 -10
- data/vendor/plugins/acts_as_indexed/test/fixtures/post.rb +0 -5
- data/vendor/plugins/acts_as_indexed/test/fixtures/posts.yml +0 -31
- data/vendor/plugins/acts_as_indexed/test/schema.rb +0 -6
- data/vendor/plugins/authlogic/CHANGELOG.rdoc +0 -345
- data/vendor/plugins/authlogic/LICENSE +0 -20
- data/vendor/plugins/authlogic/README.rdoc +0 -246
- data/vendor/plugins/authlogic/Rakefile +0 -42
- data/vendor/plugins/authlogic/VERSION.yml +0 -5
- data/vendor/plugins/authlogic/authlogic.gemspec +0 -217
- data/vendor/plugins/authlogic/generators/session/session_generator.rb +0 -9
- data/vendor/plugins/authlogic/generators/session/templates/session.rb +0 -2
- data/vendor/plugins/authlogic/init.rb +0 -1
- data/vendor/plugins/authlogic/lib/authlogic.rb +0 -64
- data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/base.rb +0 -107
- data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/email.rb +0 -110
- data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/logged_in_status.rb +0 -60
- data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/login.rb +0 -141
- data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/magic_columns.rb +0 -24
- data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/password.rb +0 -355
- data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/perishable_token.rb +0 -105
- data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/persistence_token.rb +0 -68
- data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/restful_authentication.rb +0 -61
- data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/session_maintenance.rb +0 -139
- data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/single_access_token.rb +0 -65
- data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/validations_scope.rb +0 -32
- data/vendor/plugins/authlogic/lib/authlogic/authenticates_many/association.rb +0 -42
- data/vendor/plugins/authlogic/lib/authlogic/authenticates_many/base.rb +0 -55
- data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/abstract_adapter.rb +0 -67
- data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/merb_adapter.rb +0 -30
- data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/rails_adapter.rb +0 -48
- data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/sinatra_adapter.rb +0 -61
- data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/aes256.rb +0 -43
- data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/bcrypt.rb +0 -90
- data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/md5.rb +0 -34
- data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/sha1.rb +0 -35
- data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/sha256.rb +0 -50
- data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/sha512.rb +0 -50
- data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/wordpress.rb +0 -43
- data/vendor/plugins/authlogic/lib/authlogic/i18n.rb +0 -83
- data/vendor/plugins/authlogic/lib/authlogic/i18n/translator.rb +0 -15
- data/vendor/plugins/authlogic/lib/authlogic/random.rb +0 -33
- data/vendor/plugins/authlogic/lib/authlogic/regex.rb +0 -25
- data/vendor/plugins/authlogic/lib/authlogic/session/activation.rb +0 -58
- data/vendor/plugins/authlogic/lib/authlogic/session/active_record_trickery.rb +0 -64
- data/vendor/plugins/authlogic/lib/authlogic/session/base.rb +0 -37
- data/vendor/plugins/authlogic/lib/authlogic/session/brute_force_protection.rb +0 -96
- data/vendor/plugins/authlogic/lib/authlogic/session/callbacks.rb +0 -99
- data/vendor/plugins/authlogic/lib/authlogic/session/cookies.rb +0 -130
- data/vendor/plugins/authlogic/lib/authlogic/session/existence.rb +0 -93
- data/vendor/plugins/authlogic/lib/authlogic/session/foundation.rb +0 -63
- data/vendor/plugins/authlogic/lib/authlogic/session/http_auth.rb +0 -58
- data/vendor/plugins/authlogic/lib/authlogic/session/id.rb +0 -41
- data/vendor/plugins/authlogic/lib/authlogic/session/klass.rb +0 -78
- data/vendor/plugins/authlogic/lib/authlogic/session/magic_columns.rb +0 -95
- data/vendor/plugins/authlogic/lib/authlogic/session/magic_states.rb +0 -59
- data/vendor/plugins/authlogic/lib/authlogic/session/params.rb +0 -101
- data/vendor/plugins/authlogic/lib/authlogic/session/password.rb +0 -240
- data/vendor/plugins/authlogic/lib/authlogic/session/perishable_token.rb +0 -18
- data/vendor/plugins/authlogic/lib/authlogic/session/persistence.rb +0 -70
- data/vendor/plugins/authlogic/lib/authlogic/session/priority_record.rb +0 -34
- data/vendor/plugins/authlogic/lib/authlogic/session/scopes.rb +0 -101
- data/vendor/plugins/authlogic/lib/authlogic/session/session.rb +0 -62
- data/vendor/plugins/authlogic/lib/authlogic/session/timeout.rb +0 -82
- data/vendor/plugins/authlogic/lib/authlogic/session/unauthorized_record.rb +0 -50
- data/vendor/plugins/authlogic/lib/authlogic/session/validation.rb +0 -82
- data/vendor/plugins/authlogic/lib/authlogic/test_case.rb +0 -120
- data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_controller.rb +0 -45
- data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_cookie_jar.rb +0 -14
- data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_logger.rb +0 -10
- data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_request.rb +0 -19
- data/vendor/plugins/authlogic/lib/authlogic/test_case/rails_request_adapter.rb +0 -30
- data/vendor/plugins/authlogic/rails/init.rb +0 -1
- data/vendor/plugins/authlogic/shoulda_macros/authlogic.rb +0 -69
- data/vendor/plugins/authlogic/test/acts_as_authentic_test/base_test.rb +0 -18
- data/vendor/plugins/authlogic/test/acts_as_authentic_test/email_test.rb +0 -97
- data/vendor/plugins/authlogic/test/acts_as_authentic_test/logged_in_status_test.rb +0 -36
- data/vendor/plugins/authlogic/test/acts_as_authentic_test/login_test.rb +0 -109
- data/vendor/plugins/authlogic/test/acts_as_authentic_test/magic_columns_test.rb +0 -27
- data/vendor/plugins/authlogic/test/acts_as_authentic_test/password_test.rb +0 -236
- data/vendor/plugins/authlogic/test/acts_as_authentic_test/perishable_token_test.rb +0 -90
- data/vendor/plugins/authlogic/test/acts_as_authentic_test/persistence_token_test.rb +0 -55
- data/vendor/plugins/authlogic/test/acts_as_authentic_test/restful_authentication_test.rb +0 -40
- data/vendor/plugins/authlogic/test/acts_as_authentic_test/session_maintenance_test.rb +0 -84
- data/vendor/plugins/authlogic/test/acts_as_authentic_test/single_access_test.rb +0 -44
- data/vendor/plugins/authlogic/test/authenticates_many_test.rb +0 -16
- data/vendor/plugins/authlogic/test/crypto_provider_test/aes256_test.rb +0 -14
- data/vendor/plugins/authlogic/test/crypto_provider_test/bcrypt_test.rb +0 -14
- data/vendor/plugins/authlogic/test/crypto_provider_test/sha1_test.rb +0 -23
- data/vendor/plugins/authlogic/test/crypto_provider_test/sha256_test.rb +0 -14
- data/vendor/plugins/authlogic/test/crypto_provider_test/sha512_test.rb +0 -14
- data/vendor/plugins/authlogic/test/fixtures/companies.yml +0 -5
- data/vendor/plugins/authlogic/test/fixtures/employees.yml +0 -17
- data/vendor/plugins/authlogic/test/fixtures/projects.yml +0 -3
- data/vendor/plugins/authlogic/test/fixtures/users.yml +0 -24
- data/vendor/plugins/authlogic/test/i18n_test.rb +0 -33
- data/vendor/plugins/authlogic/test/libs/affiliate.rb +0 -7
- data/vendor/plugins/authlogic/test/libs/company.rb +0 -6
- data/vendor/plugins/authlogic/test/libs/employee.rb +0 -7
- data/vendor/plugins/authlogic/test/libs/employee_session.rb +0 -2
- data/vendor/plugins/authlogic/test/libs/ldaper.rb +0 -3
- data/vendor/plugins/authlogic/test/libs/ordered_hash.rb +0 -9
- data/vendor/plugins/authlogic/test/libs/project.rb +0 -3
- data/vendor/plugins/authlogic/test/libs/user.rb +0 -5
- data/vendor/plugins/authlogic/test/libs/user_session.rb +0 -6
- data/vendor/plugins/authlogic/test/random_test.rb +0 -49
- data/vendor/plugins/authlogic/test/session_test/activation_test.rb +0 -43
- data/vendor/plugins/authlogic/test/session_test/active_record_trickery_test.rb +0 -36
- data/vendor/plugins/authlogic/test/session_test/brute_force_protection_test.rb +0 -101
- data/vendor/plugins/authlogic/test/session_test/callbacks_test.rb +0 -6
- data/vendor/plugins/authlogic/test/session_test/cookies_test.rb +0 -112
- data/vendor/plugins/authlogic/test/session_test/credentials_test.rb +0 -0
- data/vendor/plugins/authlogic/test/session_test/existence_test.rb +0 -64
- data/vendor/plugins/authlogic/test/session_test/http_auth_test.rb +0 -28
- data/vendor/plugins/authlogic/test/session_test/id_test.rb +0 -17
- data/vendor/plugins/authlogic/test/session_test/klass_test.rb +0 -40
- data/vendor/plugins/authlogic/test/session_test/magic_columns_test.rb +0 -62
- data/vendor/plugins/authlogic/test/session_test/magic_states_test.rb +0 -60
- data/vendor/plugins/authlogic/test/session_test/params_test.rb +0 -53
- data/vendor/plugins/authlogic/test/session_test/password_test.rb +0 -106
- data/vendor/plugins/authlogic/test/session_test/perishability_test.rb +0 -15
- data/vendor/plugins/authlogic/test/session_test/persistence_test.rb +0 -21
- data/vendor/plugins/authlogic/test/session_test/scopes_test.rb +0 -60
- data/vendor/plugins/authlogic/test/session_test/session_test.rb +0 -59
- data/vendor/plugins/authlogic/test/session_test/timeout_test.rb +0 -52
- data/vendor/plugins/authlogic/test/session_test/unauthorized_record_test.rb +0 -13
- data/vendor/plugins/authlogic/test/session_test/validation_test.rb +0 -23
- data/vendor/plugins/authlogic/test/test_helper.rb +0 -182
- data/vendor/plugins/friendly_id/Changelog.md +0 -243
- data/vendor/plugins/friendly_id/Contributors.md +0 -30
- data/vendor/plugins/friendly_id/Gemfile +0 -2
- data/vendor/plugins/friendly_id/Guide.md +0 -509
- data/vendor/plugins/friendly_id/LICENSE +0 -19
- data/vendor/plugins/friendly_id/README.md +0 -76
- data/vendor/plugins/friendly_id/Rakefile +0 -68
- data/vendor/plugins/friendly_id/extras/README.txt +0 -3
- data/vendor/plugins/friendly_id/extras/bench.rb +0 -59
- data/vendor/plugins/friendly_id/extras/extras.rb +0 -31
- data/vendor/plugins/friendly_id/extras/prof.rb +0 -14
- data/vendor/plugins/friendly_id/extras/template-gem.rb +0 -26
- data/vendor/plugins/friendly_id/extras/template-plugin.rb +0 -28
- data/vendor/plugins/friendly_id/friendly_id.gemspec +0 -40
- data/vendor/plugins/friendly_id/generators/friendly_id/friendly_id_generator.rb +0 -28
- data/vendor/plugins/friendly_id/generators/friendly_id/templates/create_slugs.rb +0 -18
- data/vendor/plugins/friendly_id/lib/friendly_id.rb +0 -67
- data/vendor/plugins/friendly_id/lib/friendly_id/active_record2.rb +0 -47
- data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/configuration.rb +0 -66
- data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/finders.rb +0 -140
- data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/simple_model.rb +0 -162
- data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/slug.rb +0 -111
- data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/slugged_model.rb +0 -323
- data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/tasks.rb +0 -66
- data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/tasks/friendly_id.rake +0 -19
- data/vendor/plugins/friendly_id/lib/friendly_id/configuration.rb +0 -132
- data/vendor/plugins/friendly_id/lib/friendly_id/finders.rb +0 -106
- data/vendor/plugins/friendly_id/lib/friendly_id/slug_string.rb +0 -292
- data/vendor/plugins/friendly_id/lib/friendly_id/slugged.rb +0 -91
- data/vendor/plugins/friendly_id/lib/friendly_id/status.rb +0 -35
- data/vendor/plugins/friendly_id/lib/friendly_id/test.rb +0 -175
- data/vendor/plugins/friendly_id/lib/friendly_id/version.rb +0 -8
- data/vendor/plugins/friendly_id/rails/init.rb +0 -2
- data/vendor/plugins/friendly_id/test/active_record2/basic_slugged_model_test.rb +0 -14
- data/vendor/plugins/friendly_id/test/active_record2/cached_slug_test.rb +0 -61
- data/vendor/plugins/friendly_id/test/active_record2/core.rb +0 -93
- data/vendor/plugins/friendly_id/test/active_record2/custom_normalizer_test.rb +0 -20
- data/vendor/plugins/friendly_id/test/active_record2/custom_table_name_test.rb +0 -22
- data/vendor/plugins/friendly_id/test/active_record2/deprecated_test.rb +0 -23
- data/vendor/plugins/friendly_id/test/active_record2/scoped_model_test.rb +0 -111
- data/vendor/plugins/friendly_id/test/active_record2/simple_test.rb +0 -59
- data/vendor/plugins/friendly_id/test/active_record2/slug_test.rb +0 -34
- data/vendor/plugins/friendly_id/test/active_record2/slugged.rb +0 -30
- data/vendor/plugins/friendly_id/test/active_record2/slugged_status_test.rb +0 -61
- data/vendor/plugins/friendly_id/test/active_record2/sti_test.rb +0 -22
- data/vendor/plugins/friendly_id/test/active_record2/support/database.mysql.yml +0 -4
- data/vendor/plugins/friendly_id/test/active_record2/support/database.postgres.yml +0 -6
- data/vendor/plugins/friendly_id/test/active_record2/support/database.sqlite3.yml +0 -2
- data/vendor/plugins/friendly_id/test/active_record2/support/models.rb +0 -78
- data/vendor/plugins/friendly_id/test/active_record2/tasks_test.rb +0 -82
- data/vendor/plugins/friendly_id/test/active_record2/test_helper.rb +0 -114
- data/vendor/plugins/friendly_id/test/friendly_id_test.rb +0 -60
- data/vendor/plugins/friendly_id/test/slug_string_test.rb +0 -78
- data/vendor/plugins/friendly_id/test/test_helper.rb +0 -9
- data/vendor/plugins/hpricot/CHANGELOG +0 -88
- data/vendor/plugins/hpricot/COPYING +0 -18
- data/vendor/plugins/hpricot/README +0 -275
- data/vendor/plugins/hpricot/Rakefile +0 -272
- data/vendor/plugins/hpricot/ext/fast_xs/FastXsService.java +0 -1030
- data/vendor/plugins/hpricot/ext/fast_xs/extconf.rb +0 -4
- data/vendor/plugins/hpricot/ext/fast_xs/fast_xs.c +0 -201
- data/vendor/plugins/hpricot/ext/hpricot_scan/HpricotCss.java +0 -831
- data/vendor/plugins/hpricot/ext/hpricot_scan/HpricotScanService.java +0 -2086
- data/vendor/plugins/hpricot/ext/hpricot_scan/MANIFEST +0 -0
- data/vendor/plugins/hpricot/ext/hpricot_scan/extconf.rb +0 -6
- data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_common.rl +0 -76
- data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_css.c +0 -3503
- data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_css.java.rl +0 -155
- data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_css.rl +0 -115
- data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.c +0 -6927
- data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.h +0 -79
- data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.java.rl +0 -1152
- data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.rl +0 -788
- data/vendor/plugins/hpricot/extras/mingw-rbconfig.rb +0 -176
- data/vendor/plugins/hpricot/hpricot.gemspec +0 -17
- data/vendor/plugins/hpricot/lib/hpricot.rb +0 -26
- data/vendor/plugins/hpricot/lib/hpricot/blankslate.rb +0 -63
- data/vendor/plugins/hpricot/lib/hpricot/builder.rb +0 -216
- data/vendor/plugins/hpricot/lib/hpricot/elements.rb +0 -510
- data/vendor/plugins/hpricot/lib/hpricot/htmlinfo.rb +0 -691
- data/vendor/plugins/hpricot/lib/hpricot/inspect.rb +0 -103
- data/vendor/plugins/hpricot/lib/hpricot/modules.rb +0 -40
- data/vendor/plugins/hpricot/lib/hpricot/parse.rb +0 -38
- data/vendor/plugins/hpricot/lib/hpricot/tag.rb +0 -219
- data/vendor/plugins/hpricot/lib/hpricot/tags.rb +0 -164
- data/vendor/plugins/hpricot/lib/hpricot/traverse.rb +0 -839
- data/vendor/plugins/hpricot/lib/hpricot/xchar.rb +0 -94
- data/vendor/plugins/hpricot/setup.rb +0 -1585
- data/vendor/plugins/hpricot/test/files/basic.xhtml +0 -17
- data/vendor/plugins/hpricot/test/files/boingboing.html +0 -2266
- data/vendor/plugins/hpricot/test/files/cy0.html +0 -3653
- data/vendor/plugins/hpricot/test/files/immob.html +0 -400
- data/vendor/plugins/hpricot/test/files/pace_application.html +0 -1320
- data/vendor/plugins/hpricot/test/files/tenderlove.html +0 -16
- data/vendor/plugins/hpricot/test/files/uswebgen.html +0 -220
- data/vendor/plugins/hpricot/test/files/utf8.html +0 -1054
- data/vendor/plugins/hpricot/test/files/week9.html +0 -1723
- data/vendor/plugins/hpricot/test/files/why.xml +0 -19
- data/vendor/plugins/hpricot/test/load_files.rb +0 -7
- data/vendor/plugins/hpricot/test/nokogiri-bench.rb +0 -64
- data/vendor/plugins/hpricot/test/test_alter.rb +0 -96
- data/vendor/plugins/hpricot/test/test_builder.rb +0 -37
- data/vendor/plugins/hpricot/test/test_parser.rb +0 -428
- data/vendor/plugins/hpricot/test/test_paths.rb +0 -25
- data/vendor/plugins/hpricot/test/test_preserved.rb +0 -88
- data/vendor/plugins/hpricot/test/test_xml.rb +0 -28
- data/vendor/plugins/images/images.md +0 -53
- data/vendor/plugins/inquiries/inquiries.md +0 -31
- data/vendor/plugins/pages/pages.md +0 -146
- data/vendor/plugins/rails_indexes/README.textile +0 -46
- data/vendor/plugins/rails_indexes/Rakefile +0 -23
- data/vendor/plugins/rails_indexes/lib/indexer.rb +0 -303
- data/vendor/plugins/rails_indexes/tasks/indexer.rake +0 -18
- data/vendor/plugins/rails_indexes/test/fixtures/app/controllers/users_controller.rb +0 -8
- data/vendor/plugins/rails_indexes/test/fixtures/app/models/address.rb +0 -5
- data/vendor/plugins/rails_indexes/test/fixtures/app/models/company.rb +0 -11
- data/vendor/plugins/rails_indexes/test/fixtures/app/models/country.rb +0 -4
- data/vendor/plugins/rails_indexes/test/fixtures/app/models/freelancer.rb +0 -3
- data/vendor/plugins/rails_indexes/test/fixtures/app/models/gift.rb +0 -10
- data/vendor/plugins/rails_indexes/test/fixtures/app/models/god.rb +0 -3
- data/vendor/plugins/rails_indexes/test/fixtures/app/models/user.rb +0 -17
- data/vendor/plugins/rails_indexes/test/fixtures/app/sweepers/user_sweeper.rb +0 -9
- data/vendor/plugins/rails_indexes/test/fixtures/schema.rb +0 -46
- data/vendor/plugins/rails_indexes/test/rails_indexes_test.rb +0 -83
- data/vendor/plugins/rails_indexes/test/test_helper.rb +0 -30
- data/vendor/plugins/refinery/app/views/admin/_footer.html.erb +0 -7
- data/vendor/plugins/refinery/app/views/shared/_submenu.html.erb +0 -5
- data/vendor/plugins/refinery/app/views/shared/_submenu_branch.html.erb +0 -10
- data/vendor/plugins/themes/themes.md +0 -113
- data/vendor/plugins/will_paginate/.manifest +0 -43
- data/vendor/plugins/will_paginate/CHANGELOG.rdoc +0 -139
- data/vendor/plugins/will_paginate/LICENSE +0 -18
- data/vendor/plugins/will_paginate/README.rdoc +0 -107
- data/vendor/plugins/will_paginate/Rakefile +0 -53
- data/vendor/plugins/will_paginate/examples/apple-circle.gif +0 -0
- data/vendor/plugins/will_paginate/examples/index.haml +0 -69
- data/vendor/plugins/will_paginate/examples/index.html +0 -92
- data/vendor/plugins/will_paginate/examples/pagination.css +0 -90
- data/vendor/plugins/will_paginate/examples/pagination.sass +0 -91
- data/vendor/plugins/will_paginate/init.rb +0 -1
- data/vendor/plugins/will_paginate/lib/will_paginate.rb +0 -90
- data/vendor/plugins/will_paginate/lib/will_paginate/array.rb +0 -16
- data/vendor/plugins/will_paginate/lib/will_paginate/collection.rb +0 -146
- data/vendor/plugins/will_paginate/lib/will_paginate/core_ext.rb +0 -43
- data/vendor/plugins/will_paginate/lib/will_paginate/finder.rb +0 -264
- data/vendor/plugins/will_paginate/lib/will_paginate/named_scope.rb +0 -170
- data/vendor/plugins/will_paginate/lib/will_paginate/named_scope_patch.rb +0 -37
- data/vendor/plugins/will_paginate/lib/will_paginate/version.rb +0 -9
- data/vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb +0 -408
- data/vendor/plugins/will_paginate/test/boot.rb +0 -21
- data/vendor/plugins/will_paginate/test/collection_test.rb +0 -143
- data/vendor/plugins/will_paginate/test/console +0 -8
- data/vendor/plugins/will_paginate/test/database.yml +0 -22
- data/vendor/plugins/will_paginate/test/finder_test.rb +0 -473
- data/vendor/plugins/will_paginate/test/fixtures/admin.rb +0 -3
- data/vendor/plugins/will_paginate/test/fixtures/developer.rb +0 -14
- data/vendor/plugins/will_paginate/test/fixtures/developers_projects.yml +0 -13
- data/vendor/plugins/will_paginate/test/fixtures/project.rb +0 -15
- data/vendor/plugins/will_paginate/test/fixtures/projects.yml +0 -6
- data/vendor/plugins/will_paginate/test/fixtures/replies.yml +0 -29
- data/vendor/plugins/will_paginate/test/fixtures/reply.rb +0 -7
- data/vendor/plugins/will_paginate/test/fixtures/schema.rb +0 -38
- data/vendor/plugins/will_paginate/test/fixtures/topic.rb +0 -10
- data/vendor/plugins/will_paginate/test/fixtures/topics.yml +0 -30
- data/vendor/plugins/will_paginate/test/fixtures/user.rb +0 -2
- data/vendor/plugins/will_paginate/test/fixtures/users.yml +0 -35
- data/vendor/plugins/will_paginate/test/helper.rb +0 -37
- data/vendor/plugins/will_paginate/test/lib/activerecord_test_case.rb +0 -43
- data/vendor/plugins/will_paginate/test/lib/activerecord_test_connector.rb +0 -75
- data/vendor/plugins/will_paginate/test/lib/load_fixtures.rb +0 -11
- data/vendor/plugins/will_paginate/test/lib/view_test_process.rb +0 -179
- data/vendor/plugins/will_paginate/test/tasks.rake +0 -59
- data/vendor/plugins/will_paginate/test/view_test.rb +0 -373
- data/vendor/plugins/will_paginate/will_paginate.gemspec +0 -19
@@ -1 +0,0 @@
|
|
1
|
-
require 'will_paginate'
|
@@ -1,90 +0,0 @@
|
|
1
|
-
require 'active_support'
|
2
|
-
require 'will_paginate/core_ext'
|
3
|
-
|
4
|
-
# = You *will* paginate!
|
5
|
-
#
|
6
|
-
# First read about WillPaginate::Finder::ClassMethods, then see
|
7
|
-
# WillPaginate::ViewHelpers. The magical array you're handling in-between is
|
8
|
-
# WillPaginate::Collection.
|
9
|
-
#
|
10
|
-
# Happy paginating!
|
11
|
-
module WillPaginate
|
12
|
-
class << self
|
13
|
-
# shortcut for <tt>enable_actionpack</tt> and <tt>enable_activerecord</tt> combined
|
14
|
-
def enable
|
15
|
-
enable_actionpack
|
16
|
-
enable_activerecord
|
17
|
-
end
|
18
|
-
|
19
|
-
# hooks WillPaginate::ViewHelpers into ActionView::Base
|
20
|
-
def enable_actionpack
|
21
|
-
return if ActionView::Base.instance_methods.include_method? :will_paginate
|
22
|
-
require 'will_paginate/view_helpers'
|
23
|
-
ActionView::Base.send :include, ViewHelpers
|
24
|
-
|
25
|
-
if defined?(ActionController::Base) and ActionController::Base.respond_to? :rescue_responses
|
26
|
-
ActionController::Base.rescue_responses['WillPaginate::InvalidPage'] = :not_found
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
# hooks WillPaginate::Finder into ActiveRecord::Base and classes that deal
|
31
|
-
# with associations
|
32
|
-
def enable_activerecord
|
33
|
-
return if ActiveRecord::Base.respond_to? :paginate
|
34
|
-
require 'will_paginate/finder'
|
35
|
-
ActiveRecord::Base.send :include, Finder
|
36
|
-
|
37
|
-
# support pagination on associations
|
38
|
-
a = ActiveRecord::Associations
|
39
|
-
returning([ a::AssociationCollection ]) { |classes|
|
40
|
-
# detect http://dev.rubyonrails.org/changeset/9230
|
41
|
-
unless a::HasManyThroughAssociation.superclass == a::HasManyAssociation
|
42
|
-
classes << a::HasManyThroughAssociation
|
43
|
-
end
|
44
|
-
}.each do |klass|
|
45
|
-
klass.send :include, Finder::ClassMethods
|
46
|
-
klass.class_eval { alias_method_chain :method_missing, :paginate }
|
47
|
-
end
|
48
|
-
|
49
|
-
# monkeypatch Rails ticket #2189: "count breaks has_many :through"
|
50
|
-
ActiveRecord::Base.class_eval do
|
51
|
-
protected
|
52
|
-
def self.construct_count_options_from_args(*args)
|
53
|
-
result = super
|
54
|
-
result[0] = '*' if result[0].is_a?(String) and result[0] =~ /\.\*$/
|
55
|
-
result
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
# Enable named_scope, a feature of Rails 2.1, even if you have older Rails
|
61
|
-
# (tested on Rails 2.0.2 and 1.2.6).
|
62
|
-
#
|
63
|
-
# You can pass +false+ for +patch+ parameter to skip monkeypatching
|
64
|
-
# *associations*. Use this if you feel that <tt>named_scope</tt> broke
|
65
|
-
# has_many, has_many :through or has_and_belongs_to_many associations in
|
66
|
-
# your app. By passing +false+, you can still use <tt>named_scope</tt> in
|
67
|
-
# your models, but not through associations.
|
68
|
-
def enable_named_scope(patch = true)
|
69
|
-
return if defined? ActiveRecord::NamedScope
|
70
|
-
require 'will_paginate/named_scope'
|
71
|
-
require 'will_paginate/named_scope_patch' if patch
|
72
|
-
|
73
|
-
ActiveRecord::Base.send :include, WillPaginate::NamedScope
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
module Deprecation # :nodoc:
|
78
|
-
extend ActiveSupport::Deprecation
|
79
|
-
|
80
|
-
def self.warn(message, callstack = caller)
|
81
|
-
message = 'WillPaginate: ' + message.strip.gsub(/\s+/, ' ')
|
82
|
-
ActiveSupport::Deprecation.warn(message, callstack)
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
if defined? Rails
|
88
|
-
WillPaginate.enable_activerecord if defined? ActiveRecord
|
89
|
-
WillPaginate.enable_actionpack if defined? ActionController
|
90
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'will_paginate/collection'
|
2
|
-
|
3
|
-
# http://www.desimcadam.com/archives/8
|
4
|
-
Array.class_eval do
|
5
|
-
def paginate(options = {})
|
6
|
-
raise ArgumentError, "parameter hash expected (got #{options.inspect})" unless Hash === options
|
7
|
-
|
8
|
-
WillPaginate::Collection.create(
|
9
|
-
options[:page] || 1,
|
10
|
-
options[:per_page] || 30,
|
11
|
-
options[:total_entries] || self.length
|
12
|
-
) { |pager|
|
13
|
-
pager.replace self[pager.offset, pager.per_page].to_a
|
14
|
-
}
|
15
|
-
end
|
16
|
-
end
|
@@ -1,146 +0,0 @@
|
|
1
|
-
module WillPaginate
|
2
|
-
# = Invalid page number error
|
3
|
-
# This is an ArgumentError raised in case a page was requested that is either
|
4
|
-
# zero or negative number. You should decide how do deal with such errors in
|
5
|
-
# the controller.
|
6
|
-
#
|
7
|
-
# If you're using Rails 2, then this error will automatically get handled like
|
8
|
-
# 404 Not Found. The hook is in "will_paginate.rb":
|
9
|
-
#
|
10
|
-
# ActionController::Base.rescue_responses['WillPaginate::InvalidPage'] = :not_found
|
11
|
-
#
|
12
|
-
# If you don't like this, use your preffered method of rescuing exceptions in
|
13
|
-
# public from your controllers to handle this differently. The +rescue_from+
|
14
|
-
# method is a nice addition to Rails 2.
|
15
|
-
#
|
16
|
-
# This error is *not* raised when a page further than the last page is
|
17
|
-
# requested. Use <tt>WillPaginate::Collection#out_of_bounds?</tt> method to
|
18
|
-
# check for those cases and manually deal with them as you see fit.
|
19
|
-
class InvalidPage < ArgumentError
|
20
|
-
def initialize(page, page_num)
|
21
|
-
super "#{page.inspect} given as value, which translates to '#{page_num}' as page number"
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
# = The key to pagination
|
26
|
-
# Arrays returned from paginating finds are, in fact, instances of this little
|
27
|
-
# class. You may think of WillPaginate::Collection as an ordinary array with
|
28
|
-
# some extra properties. Those properties are used by view helpers to generate
|
29
|
-
# correct page links.
|
30
|
-
#
|
31
|
-
# WillPaginate::Collection also assists in rolling out your own pagination
|
32
|
-
# solutions: see +create+.
|
33
|
-
#
|
34
|
-
# If you are writing a library that provides a collection which you would like
|
35
|
-
# to conform to this API, you don't have to copy these methods over; simply
|
36
|
-
# make your plugin/gem dependant on the "mislav-will_paginate" gem:
|
37
|
-
#
|
38
|
-
# gem 'mislav-will_paginate'
|
39
|
-
# require 'will_paginate/collection'
|
40
|
-
#
|
41
|
-
# # WillPaginate::Collection is now available for use
|
42
|
-
class Collection < Array
|
43
|
-
attr_reader :current_page, :per_page, :total_entries, :total_pages
|
44
|
-
|
45
|
-
# Arguments to the constructor are the current page number, per-page limit
|
46
|
-
# and the total number of entries. The last argument is optional because it
|
47
|
-
# is best to do lazy counting; in other words, count *conditionally* after
|
48
|
-
# populating the collection using the +replace+ method.
|
49
|
-
def initialize(page, per_page, total = nil)
|
50
|
-
@current_page = page.to_i
|
51
|
-
raise InvalidPage.new(page, @current_page) if @current_page < 1
|
52
|
-
@per_page = per_page.to_i
|
53
|
-
raise ArgumentError, "`per_page` setting cannot be less than 1 (#{@per_page} given)" if @per_page < 1
|
54
|
-
|
55
|
-
self.total_entries = total if total
|
56
|
-
end
|
57
|
-
|
58
|
-
# Just like +new+, but yields the object after instantiation and returns it
|
59
|
-
# afterwards. This is very useful for manual pagination:
|
60
|
-
#
|
61
|
-
# @entries = WillPaginate::Collection.create(1, 10) do |pager|
|
62
|
-
# result = Post.find(:all, :limit => pager.per_page, :offset => pager.offset)
|
63
|
-
# # inject the result array into the paginated collection:
|
64
|
-
# pager.replace(result)
|
65
|
-
#
|
66
|
-
# unless pager.total_entries
|
67
|
-
# # the pager didn't manage to guess the total count, do it manually
|
68
|
-
# pager.total_entries = Post.count
|
69
|
-
# end
|
70
|
-
# end
|
71
|
-
#
|
72
|
-
# The possibilities with this are endless. For another example, here is how
|
73
|
-
# WillPaginate used to define pagination for Array instances:
|
74
|
-
#
|
75
|
-
# Array.class_eval do
|
76
|
-
# def paginate(page = 1, per_page = 15)
|
77
|
-
# WillPaginate::Collection.create(page, per_page, size) do |pager|
|
78
|
-
# pager.replace self[pager.offset, pager.per_page].to_a
|
79
|
-
# end
|
80
|
-
# end
|
81
|
-
# end
|
82
|
-
#
|
83
|
-
# The Array#paginate API has since then changed, but this still serves as a
|
84
|
-
# fine example of WillPaginate::Collection usage.
|
85
|
-
def self.create(page, per_page, total = nil)
|
86
|
-
pager = new(page, per_page, total)
|
87
|
-
yield pager
|
88
|
-
pager
|
89
|
-
end
|
90
|
-
|
91
|
-
# Helper method that is true when someone tries to fetch a page with a
|
92
|
-
# larger number than the last page. Can be used in combination with flashes
|
93
|
-
# and redirecting.
|
94
|
-
def out_of_bounds?
|
95
|
-
current_page > total_pages
|
96
|
-
end
|
97
|
-
|
98
|
-
# Current offset of the paginated collection. If we're on the first page,
|
99
|
-
# it is always 0. If we're on the 2nd page and there are 30 entries per page,
|
100
|
-
# the offset is 30. This property is useful if you want to render ordinals
|
101
|
-
# side by side with records in the view: simply start with offset + 1.
|
102
|
-
def offset
|
103
|
-
(current_page - 1) * per_page
|
104
|
-
end
|
105
|
-
|
106
|
-
# current_page - 1 or nil if there is no previous page
|
107
|
-
def previous_page
|
108
|
-
current_page > 1 ? (current_page - 1) : nil
|
109
|
-
end
|
110
|
-
|
111
|
-
# current_page + 1 or nil if there is no next page
|
112
|
-
def next_page
|
113
|
-
current_page < total_pages ? (current_page + 1) : nil
|
114
|
-
end
|
115
|
-
|
116
|
-
# sets the <tt>total_entries</tt> property and calculates <tt>total_pages</tt>
|
117
|
-
def total_entries=(number)
|
118
|
-
@total_entries = number.to_i
|
119
|
-
@total_pages = (@total_entries / per_page.to_f).ceil
|
120
|
-
end
|
121
|
-
|
122
|
-
# This is a magic wrapper for the original Array#replace method. It serves
|
123
|
-
# for populating the paginated collection after initialization.
|
124
|
-
#
|
125
|
-
# Why magic? Because it tries to guess the total number of entries judging
|
126
|
-
# by the size of given array. If it is shorter than +per_page+ limit, then we
|
127
|
-
# know we're on the last page. This trick is very useful for avoiding
|
128
|
-
# unnecessary hits to the database to do the counting after we fetched the
|
129
|
-
# data for the current page.
|
130
|
-
#
|
131
|
-
# However, after using +replace+ you should always test the value of
|
132
|
-
# +total_entries+ and set it to a proper value if it's +nil+. See the example
|
133
|
-
# in +create+.
|
134
|
-
def replace(array)
|
135
|
-
result = super
|
136
|
-
|
137
|
-
# The collection is shorter then page limit? Rejoice, because
|
138
|
-
# then we know that we are on the last page!
|
139
|
-
if total_entries.nil? and length < per_page and (current_page == 1 or length > 0)
|
140
|
-
self.total_entries = offset + length
|
141
|
-
end
|
142
|
-
|
143
|
-
result
|
144
|
-
end
|
145
|
-
end
|
146
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
require 'set'
|
2
|
-
require 'will_paginate/array'
|
3
|
-
|
4
|
-
# helper to check for method existance in ruby 1.8- and 1.9-compatible way
|
5
|
-
# because `methods`, `instance_methods` and others return strings in 1.8 and symbols in 1.9
|
6
|
-
#
|
7
|
-
# ['foo', 'bar'].include_method?(:foo) # => true
|
8
|
-
class Array
|
9
|
-
def include_method?(name)
|
10
|
-
name = name.to_sym
|
11
|
-
!!(find { |item| item.to_sym == name })
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
unless Hash.instance_methods.include_method? :except
|
16
|
-
Hash.class_eval do
|
17
|
-
# Returns a new hash without the given keys.
|
18
|
-
def except(*keys)
|
19
|
-
rejected = Set.new(respond_to?(:convert_key) ? keys.map { |key| convert_key(key) } : keys)
|
20
|
-
reject { |key,| rejected.include?(key) }
|
21
|
-
end
|
22
|
-
|
23
|
-
# Replaces the hash without only the given keys.
|
24
|
-
def except!(*keys)
|
25
|
-
replace(except(*keys))
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
unless Hash.instance_methods.include_method? :slice
|
31
|
-
Hash.class_eval do
|
32
|
-
# Returns a new hash with only the given keys.
|
33
|
-
def slice(*keys)
|
34
|
-
allowed = Set.new(respond_to?(:convert_key) ? keys.map { |key| convert_key(key) } : keys)
|
35
|
-
reject { |key,| !allowed.include?(key) }
|
36
|
-
end
|
37
|
-
|
38
|
-
# Replaces the hash with only the given keys.
|
39
|
-
def slice!(*keys)
|
40
|
-
replace(slice(*keys))
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
@@ -1,264 +0,0 @@
|
|
1
|
-
require 'will_paginate/core_ext'
|
2
|
-
|
3
|
-
module WillPaginate
|
4
|
-
# A mixin for ActiveRecord::Base. Provides +per_page+ class method
|
5
|
-
# and hooks things up to provide paginating finders.
|
6
|
-
#
|
7
|
-
# Find out more in WillPaginate::Finder::ClassMethods
|
8
|
-
#
|
9
|
-
module Finder
|
10
|
-
def self.included(base)
|
11
|
-
base.extend ClassMethods
|
12
|
-
class << base
|
13
|
-
alias_method_chain :method_missing, :paginate
|
14
|
-
# alias_method_chain :find_every, :paginate
|
15
|
-
define_method(:per_page) { 30 } unless respond_to?(:per_page)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
# = Paginating finders for ActiveRecord models
|
20
|
-
#
|
21
|
-
# WillPaginate adds +paginate+, +per_page+ and other methods to
|
22
|
-
# ActiveRecord::Base class methods and associations. It also hooks into
|
23
|
-
# +method_missing+ to intercept pagination calls to dynamic finders such as
|
24
|
-
# +paginate_by_user_id+ and translate them to ordinary finders
|
25
|
-
# (+find_all_by_user_id+ in this case).
|
26
|
-
#
|
27
|
-
# In short, paginating finders are equivalent to ActiveRecord finders; the
|
28
|
-
# only difference is that we start with "paginate" instead of "find" and
|
29
|
-
# that <tt>:page</tt> is required parameter:
|
30
|
-
#
|
31
|
-
# @posts = Post.paginate :all, :page => params[:page], :order => 'created_at DESC'
|
32
|
-
#
|
33
|
-
# In paginating finders, "all" is implicit. There is no sense in paginating
|
34
|
-
# a single record, right? So, you can drop the <tt>:all</tt> argument:
|
35
|
-
#
|
36
|
-
# Post.paginate(...) => Post.find :all
|
37
|
-
# Post.paginate_all_by_something => Post.find_all_by_something
|
38
|
-
# Post.paginate_by_something => Post.find_all_by_something
|
39
|
-
#
|
40
|
-
# == The importance of the <tt>:order</tt> parameter
|
41
|
-
#
|
42
|
-
# In ActiveRecord finders, <tt>:order</tt> parameter specifies columns for
|
43
|
-
# the <tt>ORDER BY</tt> clause in SQL. It is important to have it, since
|
44
|
-
# pagination only makes sense with ordered sets. Without the <tt>ORDER
|
45
|
-
# BY</tt> clause, databases aren't required to do consistent ordering when
|
46
|
-
# performing <tt>SELECT</tt> queries; this is especially true for
|
47
|
-
# PostgreSQL.
|
48
|
-
#
|
49
|
-
# Therefore, make sure you are doing ordering on a column that makes the
|
50
|
-
# most sense in the current context. Make that obvious to the user, also.
|
51
|
-
# For perfomance reasons you will also want to add an index to that column.
|
52
|
-
module ClassMethods
|
53
|
-
# This is the main paginating finder.
|
54
|
-
#
|
55
|
-
# == Special parameters for paginating finders
|
56
|
-
# * <tt>:page</tt> -- REQUIRED, but defaults to 1 if false or nil
|
57
|
-
# * <tt>:per_page</tt> -- defaults to <tt>CurrentModel.per_page</tt> (which is 30 if not overridden)
|
58
|
-
# * <tt>:total_entries</tt> -- use only if you manually count total entries
|
59
|
-
# * <tt>:count</tt> -- additional options that are passed on to +count+
|
60
|
-
# * <tt>:finder</tt> -- name of the ActiveRecord finder used (default: "find")
|
61
|
-
#
|
62
|
-
# All other options (+conditions+, +order+, ...) are forwarded to +find+
|
63
|
-
# and +count+ calls.
|
64
|
-
def paginate(*args)
|
65
|
-
options = args.pop
|
66
|
-
page, per_page, total_entries = wp_parse_options(options)
|
67
|
-
finder = (options[:finder] || 'find').to_s
|
68
|
-
|
69
|
-
if finder == 'find'
|
70
|
-
# an array of IDs may have been given:
|
71
|
-
total_entries ||= (Array === args.first and args.first.size)
|
72
|
-
# :all is implicit
|
73
|
-
args.unshift(:all) if args.empty?
|
74
|
-
end
|
75
|
-
|
76
|
-
WillPaginate::Collection.create(page, per_page, total_entries) do |pager|
|
77
|
-
count_options = options.except :page, :per_page, :total_entries, :finder
|
78
|
-
find_options = count_options.except(:count).update(:offset => pager.offset, :limit => pager.per_page)
|
79
|
-
|
80
|
-
args << find_options
|
81
|
-
# @options_from_last_find = nil
|
82
|
-
pager.replace(send(finder, *args) { |*a| yield(*a) if block_given? })
|
83
|
-
|
84
|
-
# magic counting for user convenience:
|
85
|
-
pager.total_entries = wp_count(count_options, args, finder) unless pager.total_entries
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
# Iterates through all records by loading one page at a time. This is useful
|
90
|
-
# for migrations or any other use case where you don't want to load all the
|
91
|
-
# records in memory at once.
|
92
|
-
#
|
93
|
-
# It uses +paginate+ internally; therefore it accepts all of its options.
|
94
|
-
# You can specify a starting page with <tt>:page</tt> (default is 1). Default
|
95
|
-
# <tt>:order</tt> is <tt>"id"</tt>, override if necessary.
|
96
|
-
#
|
97
|
-
# See {Faking Cursors in ActiveRecord}[http://weblog.jamisbuck.org/2007/4/6/faking-cursors-in-activerecord]
|
98
|
-
# where Jamis Buck describes this and a more efficient way for MySQL.
|
99
|
-
def paginated_each(options = {})
|
100
|
-
options = { :order => 'id', :page => 1 }.merge options
|
101
|
-
options[:page] = options[:page].to_i
|
102
|
-
options[:total_entries] = 0 # skip the individual count queries
|
103
|
-
total = 0
|
104
|
-
|
105
|
-
begin
|
106
|
-
collection = paginate(options)
|
107
|
-
with_exclusive_scope(:find => {}) do
|
108
|
-
# using exclusive scope so that the block is yielded in scope-free context
|
109
|
-
total += collection.each { |item| yield item }.size
|
110
|
-
end
|
111
|
-
options[:page] += 1
|
112
|
-
end until collection.size < collection.per_page
|
113
|
-
|
114
|
-
total
|
115
|
-
end
|
116
|
-
|
117
|
-
# Wraps +find_by_sql+ by simply adding LIMIT and OFFSET to your SQL string
|
118
|
-
# based on the params otherwise used by paginating finds: +page+ and
|
119
|
-
# +per_page+.
|
120
|
-
#
|
121
|
-
# Example:
|
122
|
-
#
|
123
|
-
# @developers = Developer.paginate_by_sql ['select * from developers where salary > ?', 80000],
|
124
|
-
# :page => params[:page], :per_page => 3
|
125
|
-
#
|
126
|
-
# A query for counting rows will automatically be generated if you don't
|
127
|
-
# supply <tt>:total_entries</tt>. If you experience problems with this
|
128
|
-
# generated SQL, you might want to perform the count manually in your
|
129
|
-
# application.
|
130
|
-
#
|
131
|
-
def paginate_by_sql(sql, options)
|
132
|
-
WillPaginate::Collection.create(*wp_parse_options(options)) do |pager|
|
133
|
-
query = sanitize_sql(sql.dup)
|
134
|
-
original_query = query.dup
|
135
|
-
# add limit, offset
|
136
|
-
add_limit! query, :offset => pager.offset, :limit => pager.per_page
|
137
|
-
# perfom the find
|
138
|
-
pager.replace find_by_sql(query)
|
139
|
-
|
140
|
-
unless pager.total_entries
|
141
|
-
count_query = original_query.sub /\bORDER\s+BY\s+[\w`,\s]+$/mi, ''
|
142
|
-
count_query = "SELECT COUNT(*) FROM (#{count_query})"
|
143
|
-
|
144
|
-
unless self.connection.adapter_name =~ /^(oracle|oci$)/i
|
145
|
-
count_query << ' AS count_table'
|
146
|
-
end
|
147
|
-
# perform the count query
|
148
|
-
pager.total_entries = count_by_sql(count_query)
|
149
|
-
end
|
150
|
-
end
|
151
|
-
end
|
152
|
-
|
153
|
-
def respond_to?(method, include_priv = false) #:nodoc:
|
154
|
-
case method.to_sym
|
155
|
-
when :paginate, :paginate_by_sql
|
156
|
-
true
|
157
|
-
else
|
158
|
-
super(method.to_s.sub(/^paginate/, 'find'), include_priv)
|
159
|
-
end
|
160
|
-
end
|
161
|
-
|
162
|
-
protected
|
163
|
-
|
164
|
-
def method_missing_with_paginate(method, *args) #:nodoc:
|
165
|
-
# did somebody tried to paginate? if not, let them be
|
166
|
-
unless method.to_s.index('paginate') == 0
|
167
|
-
if block_given?
|
168
|
-
return method_missing_without_paginate(method, *args) { |*a| yield(*a) }
|
169
|
-
else
|
170
|
-
return method_missing_without_paginate(method, *args)
|
171
|
-
end
|
172
|
-
end
|
173
|
-
|
174
|
-
# paginate finders are really just find_* with limit and offset
|
175
|
-
finder = method.to_s.sub('paginate', 'find')
|
176
|
-
finder.sub!('find', 'find_all') if finder.index('find_by_') == 0
|
177
|
-
|
178
|
-
options = args.pop
|
179
|
-
raise ArgumentError, 'parameter hash expected' unless options.respond_to? :symbolize_keys
|
180
|
-
options = options.dup
|
181
|
-
options[:finder] = finder
|
182
|
-
args << options
|
183
|
-
|
184
|
-
paginate(*args) { |*a| yield(*a) if block_given? }
|
185
|
-
end
|
186
|
-
|
187
|
-
# Does the not-so-trivial job of finding out the total number of entries
|
188
|
-
# in the database. It relies on the ActiveRecord +count+ method.
|
189
|
-
def wp_count(options, args, finder)
|
190
|
-
excludees = [:count, :order, :limit, :offset, :readonly]
|
191
|
-
excludees << :from unless ActiveRecord::Calculations::CALCULATIONS_OPTIONS.include?(:from)
|
192
|
-
|
193
|
-
# we may be in a model or an association proxy
|
194
|
-
klass = (@owner and @reflection) ? @reflection.klass : self
|
195
|
-
|
196
|
-
# Use :select from scope if it isn't already present.
|
197
|
-
options[:select] = scope(:find, :select) unless options[:select]
|
198
|
-
|
199
|
-
if options[:select] and options[:select] =~ /^\s*DISTINCT\b/i
|
200
|
-
# Remove quoting and check for table_name.*-like statement.
|
201
|
-
if options[:select].gsub('`', '') =~ /\w+\.\*/
|
202
|
-
options[:select] = "DISTINCT #{klass.table_name}.#{klass.primary_key}"
|
203
|
-
end
|
204
|
-
else
|
205
|
-
excludees << :select # only exclude the select param if it doesn't begin with DISTINCT
|
206
|
-
end
|
207
|
-
|
208
|
-
# count expects (almost) the same options as find
|
209
|
-
count_options = options.except *excludees
|
210
|
-
|
211
|
-
# merge the hash found in :count
|
212
|
-
# this allows you to specify :select, :order, or anything else just for the count query
|
213
|
-
count_options.update options[:count] if options[:count]
|
214
|
-
|
215
|
-
# forget about includes if they are irrelevant (Rails 2.1)
|
216
|
-
if count_options[:include] and
|
217
|
-
klass.private_methods.include_method?(:references_eager_loaded_tables?) and
|
218
|
-
!klass.send(:references_eager_loaded_tables?, count_options)
|
219
|
-
count_options.delete :include
|
220
|
-
end
|
221
|
-
|
222
|
-
# we may have to scope ...
|
223
|
-
counter = Proc.new { count(count_options) }
|
224
|
-
|
225
|
-
count = if finder.index('find_') == 0 and klass.respond_to?(scoper = finder.sub('find', 'with'))
|
226
|
-
# scope_out adds a 'with_finder' method which acts like with_scope, if it's present
|
227
|
-
# then execute the count with the scoping provided by the with_finder
|
228
|
-
send(scoper, &counter)
|
229
|
-
elsif finder =~ /^find_(all_by|by)_([_a-zA-Z]\w*)$/
|
230
|
-
# extract conditions from calls like "paginate_by_foo_and_bar"
|
231
|
-
attribute_names = $2.split('_and_')
|
232
|
-
conditions = construct_attributes_from_arguments(attribute_names, args)
|
233
|
-
with_scope(:find => { :conditions => conditions }, &counter)
|
234
|
-
else
|
235
|
-
counter.call
|
236
|
-
end
|
237
|
-
|
238
|
-
count.respond_to?(:length) ? count.length : count
|
239
|
-
end
|
240
|
-
|
241
|
-
def wp_parse_options(options) #:nodoc:
|
242
|
-
raise ArgumentError, 'parameter hash expected' unless options.respond_to? :symbolize_keys
|
243
|
-
options = options.symbolize_keys
|
244
|
-
raise ArgumentError, ':page parameter required' unless options.key? :page
|
245
|
-
|
246
|
-
if options[:count] and options[:total_entries]
|
247
|
-
raise ArgumentError, ':count and :total_entries are mutually exclusive'
|
248
|
-
end
|
249
|
-
|
250
|
-
page = options[:page] || 1
|
251
|
-
per_page = options[:per_page] || self.per_page
|
252
|
-
total = options[:total_entries]
|
253
|
-
[page, per_page, total]
|
254
|
-
end
|
255
|
-
|
256
|
-
private
|
257
|
-
|
258
|
-
# def find_every_with_paginate(options)
|
259
|
-
# @options_from_last_find = options
|
260
|
-
# find_every_without_paginate(options)
|
261
|
-
# end
|
262
|
-
end
|
263
|
-
end
|
264
|
-
end
|