spiderfw 0.6.22 → 0.6.23
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +9 -0
- data/VERSION +1 -1
- data/apps/app_server/controllers/app_server_controller.rb +7 -2
- data/apps/app_server/lib/git_app.rb +5 -3
- data/apps/cas_server/controllers/mixins/cas_login_mixin.rb +2 -1
- data/apps/core/admin/controllers/admin_controller.rb +4 -4
- data/apps/core/admin/controllers/app_admin_controller.rb +3 -2
- data/apps/core/admin/public/css/sass/admin.css +56 -31
- data/apps/core/admin/public/sass/admin.scss +38 -4
- data/apps/core/admin/views/_breadcrumb.shtml +8 -0
- data/apps/core/admin/views/admin.layout.shtml +8 -5
- data/apps/core/auth/controllers/login_controller.rb +3 -8
- data/apps/core/components/assets.rb +37 -1
- data/apps/core/components/public/bootstrap/LICENSE +13 -0
- data/apps/core/components/public/bootstrap/README.md +28 -0
- data/apps/core/components/public/bootstrap/img/glyphicons-halflings-white.png +0 -0
- data/apps/core/components/public/bootstrap/img/glyphicons-halflings.png +0 -0
- data/apps/core/components/public/bootstrap/js/README.md +106 -0
- data/apps/core/components/public/bootstrap/js/bootstrap-alert.js +91 -0
- data/apps/core/components/public/bootstrap/js/bootstrap-button.js +98 -0
- data/apps/core/components/public/bootstrap/js/bootstrap-carousel.js +154 -0
- data/apps/core/components/public/bootstrap/js/bootstrap-collapse.js +136 -0
- data/apps/core/components/public/bootstrap/js/bootstrap-dropdown.js +92 -0
- data/apps/core/components/public/bootstrap/js/bootstrap-modal.js +209 -0
- data/apps/core/components/public/bootstrap/js/bootstrap-popover.js +95 -0
- data/apps/core/components/public/bootstrap/js/bootstrap-scrollspy.js +125 -0
- data/apps/core/components/public/bootstrap/js/bootstrap-tab.js +130 -0
- data/apps/core/components/public/bootstrap/js/bootstrap-tooltip.js +270 -0
- data/apps/core/components/public/bootstrap/js/bootstrap-transition.js +51 -0
- data/apps/core/components/public/bootstrap/js/bootstrap-typeahead.js +271 -0
- data/apps/core/components/public/bootstrap/js/tests/index.html +49 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-alert.js +41 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-button.js +54 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-collapse.js +25 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-dropdown.js +53 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-modal.js +85 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-popover.js +93 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-scrollspy.js +31 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-tab.js +45 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-tooltip.js +62 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-transition.js +13 -0
- data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-typeahead.js +128 -0
- data/apps/core/components/public/bootstrap/js/tests/vendor/jquery.js +9252 -0
- data/apps/core/components/public/bootstrap/js/tests/vendor/qunit.css +232 -0
- data/apps/core/components/public/bootstrap/js/tests/vendor/qunit.js +1510 -0
- data/apps/core/components/public/bootstrap/scss/_accordion.scss +28 -0
- data/apps/core/components/public/bootstrap/scss/_alerts.scss +70 -0
- data/apps/core/components/public/bootstrap/scss/_breadcrumbs.scss +22 -0
- data/apps/core/components/public/bootstrap/scss/_button-groups.scss +146 -0
- data/apps/core/components/public/bootstrap/scss/_buttons.scss +165 -0
- data/apps/core/components/public/bootstrap/scss/_carousel.scss +121 -0
- data/apps/core/components/public/bootstrap/scss/_close.scss +18 -0
- data/apps/core/components/public/bootstrap/scss/_code.scss +44 -0
- data/apps/core/components/public/bootstrap/scss/_component-animations.scss +18 -0
- data/apps/core/components/public/bootstrap/scss/_custom.css +0 -0
- data/apps/core/components/public/bootstrap/scss/_dropdowns.scss +131 -0
- data/apps/core/components/public/bootstrap/scss/_forms.scss +516 -0
- data/apps/core/components/public/bootstrap/scss/_grid.scss +8 -0
- data/apps/core/components/public/bootstrap/scss/_hero-unit.scss +20 -0
- data/apps/core/components/public/bootstrap/scss/_labels.scss +16 -0
- data/apps/core/components/public/bootstrap/scss/_layouts.scss +17 -0
- data/apps/core/components/public/bootstrap/scss/_mixins.scss +538 -0
- data/apps/core/components/public/bootstrap/scss/_modals.scss +72 -0
- data/apps/core/components/public/bootstrap/scss/_navbar.scss +292 -0
- data/apps/core/components/public/bootstrap/scss/_navs.scss +343 -0
- data/apps/core/components/public/bootstrap/scss/_pager.scss +30 -0
- data/apps/core/components/public/bootstrap/scss/_pagination.scss +64 -0
- data/apps/core/components/public/bootstrap/scss/_patterns.scss +13 -0
- data/apps/core/components/public/bootstrap/scss/_popovers.scss +49 -0
- data/apps/core/components/public/bootstrap/scss/_print.scss +18 -0
- data/apps/core/components/public/bootstrap/scss/_progress-bars.scss +95 -0
- data/apps/core/{admin/public/sass/bootstrap/reset.scss → components/public/bootstrap/scss/_reset.scss} +36 -51
- data/apps/core/components/public/bootstrap/scss/_scaffolding.scss +29 -0
- data/apps/core/components/public/bootstrap/scss/_sprites.scss +156 -0
- data/apps/core/components/public/bootstrap/scss/_tables.scss +139 -0
- data/apps/core/components/public/bootstrap/scss/_thumbnails.scss +35 -0
- data/apps/core/components/public/bootstrap/scss/_tooltip.scss +35 -0
- data/apps/core/components/public/bootstrap/scss/_type.scss +217 -0
- data/apps/core/components/public/bootstrap/scss/_utilities.scss +23 -0
- data/apps/core/components/public/bootstrap/scss/_variables.scss +99 -0
- data/apps/core/components/public/bootstrap/scss/_wells.scss +17 -0
- data/apps/core/components/public/bootstrap/scss/bootstrap-responsive.css +707 -0
- data/apps/core/components/public/bootstrap/scss/bootstrap-responsive.scss +323 -0
- data/apps/core/components/public/bootstrap/scss/bootstrap.css +4604 -0
- data/apps/core/components/public/bootstrap/scss/bootstrap.scss +62 -0
- data/apps/core/components/public/bootstrap/scss/config.rb +36 -0
- data/apps/core/components/public/css/admin.css +2 -1
- data/apps/core/components/public/css/sass/bootstrap/bootstrap.css +3107 -0
- data/apps/core/components/public/css/table_base.css +9 -0
- data/apps/core/components/public/widgets/month_calendar.js +9 -0
- data/apps/core/components/widgets/crud/crud.rb +9 -1
- data/apps/core/components/widgets/crud/crud.shtml +2 -2
- data/apps/core/components/widgets/month_calendar/month_calendar.shtml +1 -0
- data/apps/core/components/widgets/table/table.rb +84 -55
- data/apps/core/components/widgets/table/table.shtml +2 -1
- data/apps/core/forms/public/ckeditor/CHANGES.html +139 -1
- data/apps/core/forms/public/ckeditor/LICENSE.html +1 -8
- data/apps/core/forms/public/ckeditor/ckeditor.js +141 -137
- data/apps/core/forms/public/ckeditor/ckeditor_basic.js +3 -3
- data/apps/core/forms/public/ckeditor/ckeditor_basic_source.js +1 -1
- data/apps/core/forms/public/ckeditor/ckeditor_source.js +13 -3
- data/apps/core/forms/public/ckeditor/contents.css +4 -2
- data/apps/core/forms/public/ckeditor/lang/_translationstatus.txt +59 -59
- data/apps/core/forms/public/ckeditor/lang/af.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/ar.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/bg.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/bn.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/bs.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/ca.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/cs.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/cy.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/da.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/de.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/el.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/en-au.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/en-ca.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/en-gb.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/en.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/eo.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/es.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/et.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/eu.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/fa.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/fi.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/fo.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/fr-ca.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/fr.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/gl.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/gu.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/he.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/hi.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/hr.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/hu.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/is.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/it.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/ja.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/ka.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/km.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/ko.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/lt.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/lv.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/mn.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/ms.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/nb.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/nl.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/no.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/pl.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/pt-br.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/pt.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/ro.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/ru.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/sk.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/sl.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/sr-latn.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/sr.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/sv.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/th.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/tr.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/uk.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/vi.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/zh-cn.js +1 -1
- data/apps/core/forms/public/ckeditor/lang/zh.js +1 -1
- data/apps/core/forms/public/ckeditor/plugins/autogrow/plugin.js +1 -1
- data/apps/core/forms/public/ckeditor/plugins/bbcode/plugin.js +4 -4
- data/apps/core/forms/public/ckeditor/plugins/docprops/dialogs/docprops.js +2 -2
- data/apps/core/forms/public/ckeditor/plugins/find/dialogs/find.js +5 -4
- data/apps/core/forms/public/ckeditor/plugins/flash/dialogs/flash.js +4 -4
- data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/select.js +2 -2
- data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/textarea.js +1 -1
- data/apps/core/forms/public/ckeditor/plugins/iframe/dialogs/iframe.js +2 -2
- data/apps/core/forms/public/ckeditor/plugins/image/dialogs/image.js +6 -6
- data/apps/core/forms/public/ckeditor/plugins/link/dialogs/link.js +6 -5
- data/apps/core/forms/public/ckeditor/plugins/liststyle/dialogs/liststyle.js +2 -1
- data/apps/core/forms/public/ckeditor/plugins/pastefromword/filter/default.js +5 -5
- data/apps/core/forms/public/ckeditor/plugins/specialchar/dialogs/specialchar.js +1 -1
- data/apps/core/forms/public/ckeditor/plugins/specialchar/lang/en.js +1 -1
- data/apps/core/forms/public/ckeditor/plugins/table/dialogs/table.js +4 -4
- data/apps/core/forms/public/ckeditor/plugins/tableresize/plugin.js +2 -2
- data/apps/core/forms/public/ckeditor/plugins/wsc/dialogs/wsc.js +1 -1
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/README.md +26 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/dialog.css +616 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/editor.css +1088 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/icons.png +0 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/dialog_sides.gif +0 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/dialog_sides.png +0 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/dialog_sides_rtl.png +0 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/mini.png +0 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/noimage.png +0 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/sprites.png +0 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/sprites_ie6.png +0 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/toolbar_start.gif +0 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/skin.js +7 -0
- data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/templates.css +54 -0
- data/apps/core/forms/public/ckeditor/skins/kama/dialog.css +4 -3
- data/apps/core/forms/public/ckeditor/skins/kama/editor.css +3 -3
- data/apps/core/forms/public/ckeditor/themes/default/theme.js +2 -2
- data/apps/core/forms/public/css/form.css +5 -5
- data/apps/core/forms/public/html_area.js +5 -5
- data/apps/core/forms/tags/element_label.erb +1 -1
- data/apps/core/forms/tags/row.erb +1 -1
- data/apps/core/forms/widgets/form/form.rb +2 -1
- data/apps/core/forms/widgets/form/form.shtml +3 -3
- data/apps/core/forms/widgets/inputs/checkbox/checkbox.shtml +1 -1
- data/apps/core/forms/widgets/inputs/date_time/date_time.shtml +1 -1
- data/apps/core/forms/widgets/inputs/file_input/file_input.shtml +1 -1
- data/apps/core/forms/widgets/inputs/html_area/html_area.shtml +1 -1
- data/apps/core/forms/widgets/inputs/input/input.shtml +1 -1
- data/apps/core/forms/widgets/inputs/input/readonly.shtml +1 -1
- data/apps/core/forms/widgets/inputs/password/password.shtml +1 -1
- data/apps/core/forms/widgets/inputs/search_select/search_select.shtml +1 -1
- data/apps/core/forms/widgets/inputs/select/select.shtml +1 -1
- data/apps/core/forms/widgets/inputs/text/text.shtml +1 -1
- data/apps/core/forms/widgets/inputs/text_area/text_area.shtml +1 -1
- data/apps/core/forms/widgets/inputs/time_span/time_span.shtml +1 -1
- data/apps/messenger/controllers/messenger_admin_controller.rb +19 -4
- data/apps/messenger/views/admin/_admin.layout.shtml +1 -1
- data/apps/messenger/views/admin/queue.shtml +6 -6
- data/apps/messenger/views/admin/view_email.shtml +7 -0
- data/apps/messenger/views/admin/view_sms.shtml +4 -0
- data/blueprints/app/.dirs +2 -1
- data/blueprints/app/test/features/support/env.rb +4 -0
- data/data/locale/it/LC_MESSAGES/spider.mo +0 -0
- data/lib/spiderfw/cmd/commands/config.rb +6 -3
- data/lib/spiderfw/config/configuration.rb +11 -2
- data/lib/spiderfw/config/options/spider.rb +1 -1
- data/lib/spiderfw/controller/controller.rb +27 -15
- data/lib/spiderfw/controller/dispatcher.rb +8 -4
- data/lib/spiderfw/controller/http_controller.rb +9 -5
- data/lib/spiderfw/controller/mixins/static_content.rb +1 -0
- data/lib/spiderfw/controller/mixins/visual.rb +48 -31
- data/lib/spiderfw/home.rb +8 -0
- data/lib/spiderfw/i18n/cldr.rb +1 -0
- data/lib/spiderfw/model/base_model.rb +2 -2
- data/lib/spiderfw/model/mappers/db_mapper.rb +1 -0
- data/lib/spiderfw/model/unit_of_work.rb +2 -2
- data/lib/spiderfw/requires.rb +1 -0
- data/lib/spiderfw/setup/app_manager.rb +16 -8
- data/lib/spiderfw/spider.rb +2 -2
- data/lib/spiderfw/templates/layout.rb +16 -9
- data/lib/spiderfw/templates/template.rb +28 -8
- data/lib/spiderfw/utils/logger.rb +9 -9
- data/views/errors/error.layout.shtml +9 -4
- metadata +98 -13
- data/apps/core/admin/public/sass/bootstrap/bootstrap.scss +0 -29
- data/apps/core/admin/public/sass/bootstrap/forms.scss +0 -478
- data/apps/core/admin/public/sass/bootstrap/mixins.scss +0 -220
- data/apps/core/admin/public/sass/bootstrap/patterns.scss +0 -1062
- data/apps/core/admin/public/sass/bootstrap/scaffolding.scss +0 -136
- data/apps/core/admin/public/sass/bootstrap/tables.scss +0 -224
- data/apps/core/admin/public/sass/bootstrap/type.scss +0 -187
- data/apps/core/admin/public/sass/bootstrap/variables.scss +0 -60
data/CHANGELOG
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
= 0.6.23
|
2
|
+
== 6 February, 2011
|
3
|
+
* Config options can now have a Proc for :choices; new :fallback param to reuse other config
|
4
|
+
* Added new-link, edit-link attributes to Crud
|
5
|
+
* Added Twitter Bootstrap 2 to core components
|
6
|
+
* Updated CKEditor
|
7
|
+
* Added test folder to app blueprint
|
8
|
+
* Minor fixes
|
9
|
+
|
1
10
|
= 0.6.22
|
2
11
|
== 14 December, 2011
|
3
12
|
* New core admin app
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.6.
|
1
|
+
0.6.23
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'tempfile'
|
2
|
+
require 'json'
|
2
3
|
|
3
4
|
module Spider; module AppServer
|
4
5
|
|
@@ -9,6 +10,7 @@ module Spider; module AppServer
|
|
9
10
|
__.html :template => 'app_list'
|
10
11
|
__.json :call => :list_json
|
11
12
|
def list(name=nil)
|
13
|
+
# FIXME: names, branches
|
12
14
|
@scene.apps = AppServer.apps
|
13
15
|
end
|
14
16
|
|
@@ -44,8 +46,11 @@ module Spider; module AppServer
|
|
44
46
|
new_apps = names
|
45
47
|
specs = {}
|
46
48
|
while !new_apps.empty? && curr = new_apps.pop
|
49
|
+
curr, branch = curr.split('@')
|
47
50
|
raise NotFound.new("App #{curr}") unless AppServer.apps_by_id[curr]
|
48
|
-
|
51
|
+
a = AppServer.apps_by_id[curr]
|
52
|
+
spec = a.spec
|
53
|
+
spec = a.read_spec(branch) if branch
|
49
54
|
specs[curr] = spec
|
50
55
|
new_apps += spec.depends.reject{ |app| specs[app] }
|
51
56
|
new_apps += spec.depends_optional.reject{ |app| specs[app] } unless @request.params['no_optional']
|
@@ -56,4 +61,4 @@ module Spider; module AppServer
|
|
56
61
|
end
|
57
62
|
|
58
63
|
|
59
|
-
end; end
|
64
|
+
end; end
|
@@ -12,8 +12,8 @@ module Spider; module AppServer
|
|
12
12
|
spec = nil
|
13
13
|
repo_branches = repo.heads.map{ |h| h.name }
|
14
14
|
@branches = repo_branches
|
15
|
-
read_spec
|
16
15
|
@repo = repo
|
16
|
+
read_spec
|
17
17
|
end
|
18
18
|
|
19
19
|
def read_spec(branch='master')
|
@@ -21,7 +21,7 @@ module Spider; module AppServer
|
|
21
21
|
next unless blob.basename =~ /\.appspec$/
|
22
22
|
spec = blob.data
|
23
23
|
@spec = Spider::App::AppSpec.eval(spec)
|
24
|
-
|
24
|
+
#@spec.branch = branch
|
25
25
|
if repo_base = Spider.conf.get('app_server.git_repo_base')
|
26
26
|
unless @spec.git_repo
|
27
27
|
@spec.git_repo(repo_base+'/'+@spec.id)
|
@@ -33,8 +33,10 @@ module Spider; module AppServer
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
@last_modified = repo.commits.first.authored_date # FIXME
|
36
|
+
@spec.app_server ||= AppServer::AppServerController.http_url
|
36
37
|
break
|
37
38
|
end
|
39
|
+
@repo = repo
|
38
40
|
@spec
|
39
41
|
end
|
40
42
|
|
@@ -44,4 +46,4 @@ module Spider; module AppServer
|
|
44
46
|
|
45
47
|
end
|
46
48
|
|
47
|
-
end; end
|
49
|
+
end; end
|
@@ -19,7 +19,7 @@ module Spider; module Admin
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def self.logout_redirect
|
22
|
-
AdminController.
|
22
|
+
AdminController.http_url('login')
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
@@ -58,10 +58,10 @@ module Spider; module Admin
|
|
58
58
|
}
|
59
59
|
end
|
60
60
|
@scene.admin_breadcrumb = []
|
61
|
-
@scene.admin_breadcrumb << {:url => self.class.
|
61
|
+
@scene.admin_breadcrumb << {:url => self.class.http_url, :label => _('Home')} if @scene.apps.length > 1
|
62
62
|
|
63
63
|
# FIXME
|
64
|
-
@scene.apps.sort!{ |a,b|
|
64
|
+
@scene.apps.sort!{ |a,b| b[:priority] <=> a[:priority] }
|
65
65
|
end
|
66
66
|
|
67
67
|
__.html :template => 'index'
|
@@ -71,4 +71,4 @@ module Spider; module Admin
|
|
71
71
|
end
|
72
72
|
|
73
73
|
|
74
|
-
end; end
|
74
|
+
end; end
|
@@ -3,8 +3,9 @@ module Spider; module Admin
|
|
3
3
|
class AppAdminController < Spider::PageController
|
4
4
|
|
5
5
|
def before(action='', *params)
|
6
|
+
@scene.admin_breadcrumb ||= []
|
6
7
|
unless @_did_breadcrumb
|
7
|
-
@scene.admin_breadcrumb << {:url => self.class.
|
8
|
+
@scene.admin_breadcrumb << {:url => self.class.http_url, :label => self.class.app.full_name}
|
8
9
|
end
|
9
10
|
@_did_breadcrumb = true
|
10
11
|
super
|
@@ -12,4 +13,4 @@ module Spider; module Admin
|
|
12
13
|
|
13
14
|
end
|
14
15
|
|
15
|
-
end; end
|
16
|
+
end; end
|
@@ -23,7 +23,27 @@ body:after {
|
|
23
23
|
background-position: 0 0;
|
24
24
|
}
|
25
25
|
|
26
|
-
/* line
|
26
|
+
/* line 17, ../../sass/admin.scss */
|
27
|
+
#admin form.form-horizontal input,
|
28
|
+
#admin form.form-horizontal textarea,
|
29
|
+
#admin form.form-horizontal select,
|
30
|
+
#admin form.form-horizontal .uneditable-input {
|
31
|
+
width: 300px;
|
32
|
+
}
|
33
|
+
/* line 21, ../../sass/admin.scss */
|
34
|
+
#admin form.form-horizontal select {
|
35
|
+
width: 310px;
|
36
|
+
}
|
37
|
+
/* line 25, ../../sass/admin.scss */
|
38
|
+
#admin form.form-horizontal input.btn {
|
39
|
+
width: auto;
|
40
|
+
}
|
41
|
+
/* line 29, ../../sass/admin.scss */
|
42
|
+
#admin form.form-horizontal .form-actions {
|
43
|
+
padding-left: 250px;
|
44
|
+
}
|
45
|
+
|
46
|
+
/* line 39, ../../sass/admin.scss */
|
27
47
|
#header {
|
28
48
|
padding-bottom: 10px;
|
29
49
|
background: url('../../img/css/header_bg.png?1321971233') repeat-x scroll center top;
|
@@ -31,27 +51,27 @@ body:after {
|
|
31
51
|
position: relative;
|
32
52
|
border-bottom: 2px solid #555555;
|
33
53
|
}
|
34
|
-
/* line
|
54
|
+
/* line 46, ../../sass/admin.scss */
|
35
55
|
#header #header_top {
|
36
56
|
overflow: hidden;
|
37
57
|
*zoom: 1;
|
38
58
|
}
|
39
|
-
/* line
|
59
|
+
/* line 50, ../../sass/admin.scss */
|
40
60
|
#header h1 {
|
41
61
|
font-size: 27px;
|
42
62
|
color: #444444;
|
43
63
|
}
|
44
|
-
/* line
|
64
|
+
/* line 55, ../../sass/admin.scss */
|
45
65
|
#header #main_title {
|
46
66
|
float: left;
|
47
67
|
margin-top: 8px;
|
48
68
|
margin-left: 40px;
|
49
69
|
}
|
50
|
-
/* line
|
70
|
+
/* line 60, ../../sass/admin.scss */
|
51
71
|
#header #main_title h1 {
|
52
72
|
margin-bottom: 8px;
|
53
73
|
}
|
54
|
-
/* line
|
74
|
+
/* line 64, ../../sass/admin.scss */
|
55
75
|
#header #admin_controls {
|
56
76
|
font-size: .95em;
|
57
77
|
float: right;
|
@@ -59,26 +79,25 @@ body:after {
|
|
59
79
|
margin-right: 30px;
|
60
80
|
color: white;
|
61
81
|
}
|
62
|
-
/* line
|
82
|
+
/* line 71, ../../sass/admin.scss */
|
63
83
|
#header #admin_controls a {
|
64
84
|
color: white;
|
65
85
|
}
|
66
|
-
/* line
|
86
|
+
/* line 75, ../../sass/admin.scss */
|
67
87
|
#header #admin_controls .welcome {
|
68
88
|
margin-right: 6px;
|
69
89
|
}
|
70
|
-
/* line
|
90
|
+
/* line 79, ../../sass/admin.scss */
|
71
91
|
#header #admin_controls .logout_link {
|
72
92
|
background-position: right;
|
73
93
|
padding-right: 25px;
|
74
94
|
margin-left: 6px;
|
75
95
|
}
|
76
|
-
/* line
|
96
|
+
/* line 88, ../../sass/admin.scss */
|
77
97
|
#header #app_buttons {
|
78
98
|
height: 68px;
|
79
99
|
min-width: 200px;
|
80
100
|
margin-left: 60px;
|
81
|
-
background: url('../../img/css/noise.png?1321971233') repeat-x scroll center top;
|
82
101
|
background-color: #f4f5f6;
|
83
102
|
-moz-box-shadow: 0px 0px 5px #333333;
|
84
103
|
-webkit-box-shadow: 0px 0px 5px #333333;
|
@@ -102,11 +121,11 @@ body:after {
|
|
102
121
|
#header #app_buttons {
|
103
122
|
*display: inline;
|
104
123
|
}
|
105
|
-
/* line
|
124
|
+
/* line 99, ../../sass/admin.scss */
|
106
125
|
#header #app_buttons a {
|
107
126
|
color: #222222;
|
108
127
|
}
|
109
|
-
/* line
|
128
|
+
/* line 103, ../../sass/admin.scss */
|
110
129
|
#header #app_buttons div {
|
111
130
|
width: 55px;
|
112
131
|
height: 55px;
|
@@ -116,7 +135,7 @@ body:after {
|
|
116
135
|
float: left;
|
117
136
|
background-color: #EEEEEE;
|
118
137
|
}
|
119
|
-
/* line
|
138
|
+
/* line 112, ../../sass/admin.scss */
|
120
139
|
#header #app_buttons div img {
|
121
140
|
margin-left: auto;
|
122
141
|
margin-right: auto;
|
@@ -124,35 +143,41 @@ body:after {
|
|
124
143
|
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
125
144
|
opacity: 0.8;
|
126
145
|
}
|
127
|
-
/* line
|
146
|
+
/* line 119, ../../sass/admin.scss */
|
128
147
|
#header #app_buttons div span.name {
|
129
148
|
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
|
130
149
|
opacity: 0.9;
|
131
150
|
display: block;
|
132
151
|
font-size: 0.8em;
|
133
152
|
}
|
134
|
-
/* line
|
153
|
+
/* line 126, ../../sass/admin.scss */
|
135
154
|
#header #app_buttons a.active div {
|
136
155
|
border: 1px solid #DDDD00;
|
137
156
|
}
|
138
|
-
/* line
|
157
|
+
/* line 128, ../../sass/admin.scss */
|
139
158
|
#header #app_buttons a.active div img {
|
140
159
|
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
|
141
160
|
opacity: 0.7;
|
142
161
|
}
|
143
|
-
/* line
|
162
|
+
/* line 131, ../../sass/admin.scss */
|
144
163
|
#header #app_buttons a.active div span.name {
|
145
164
|
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
146
165
|
opacity: 0.8;
|
147
166
|
}
|
148
167
|
|
149
|
-
/* line
|
168
|
+
/* line 139, ../../sass/admin.scss */
|
169
|
+
#admin-switcher-menu .section_title {
|
170
|
+
font-size: 14px;
|
171
|
+
line-height: 36px;
|
172
|
+
}
|
173
|
+
|
174
|
+
/* line 149, ../../sass/admin.scss */
|
150
175
|
#spider-admin .container-fluid .content {
|
151
176
|
background-color: white;
|
152
177
|
}
|
153
178
|
|
154
|
-
/* line
|
155
|
-
.spider-admin-container {
|
179
|
+
/* line 156, ../../sass/admin.scss */
|
180
|
+
#container, .spider-admin-container {
|
156
181
|
background: url('../../img/css/side_bg.png?1321971233') repeat-y;
|
157
182
|
position: relative;
|
158
183
|
min-width: 940px;
|
@@ -163,35 +188,35 @@ body:after {
|
|
163
188
|
overflow: hidden;
|
164
189
|
*zoom: 1;
|
165
190
|
}
|
166
|
-
/* line
|
167
|
-
.spider-admin-container > .spider-admin-sidebar {
|
191
|
+
/* line 166, ../../sass/admin.scss */
|
192
|
+
#container #sidebar, #container > .spider-admin-sidebar, .spider-admin-container #sidebar, .spider-admin-container > .spider-admin-sidebar {
|
168
193
|
position: absolute;
|
169
194
|
top: 0;
|
170
195
|
left: 20px;
|
171
196
|
width: 220px;
|
172
197
|
padding: 20px 10px;
|
173
198
|
}
|
174
|
-
/* line
|
175
|
-
.spider-admin-container > .spider-admin-sidebar li.active a {
|
199
|
+
/* line 173, ../../sass/admin.scss */
|
200
|
+
#container #sidebar li.active a, #container > .spider-admin-sidebar li.active a, .spider-admin-container #sidebar li.active a, .spider-admin-container > .spider-admin-sidebar li.active a {
|
176
201
|
text-decoration: underline;
|
177
202
|
}
|
178
|
-
/* line
|
179
|
-
.spider-admin-container > .spider-admin-sidebar li {
|
203
|
+
/* line 177, ../../sass/admin.scss */
|
204
|
+
#container #sidebar li, #container > .spider-admin-sidebar li, .spider-admin-container #sidebar li, .spider-admin-container > .spider-admin-sidebar li {
|
180
205
|
margin-bottom: 1px;
|
181
206
|
}
|
182
|
-
/* line
|
183
|
-
.spider-admin-container > .spider-admin-content {
|
207
|
+
/* line 182, ../../sass/admin.scss */
|
208
|
+
#container #content, #container > .spider-admin-content, .spider-admin-container #content, .spider-admin-container > .spider-admin-content {
|
184
209
|
margin-left: 240px;
|
185
210
|
}
|
186
211
|
|
187
|
-
/* line
|
212
|
+
/* line 187, ../../sass/admin.scss */
|
188
213
|
.crud .table {
|
189
214
|
width: auto;
|
190
215
|
min-width: 400px;
|
191
216
|
}
|
192
217
|
|
193
218
|
@media screen and (max-width: 500px) {
|
194
|
-
/* line
|
219
|
+
/* line 196, ../../sass/admin.scss */
|
195
220
|
#header #main_title {
|
196
221
|
font-size: 10px;
|
197
222
|
}
|
@@ -8,6 +8,34 @@
|
|
8
8
|
$base_color: #417690;
|
9
9
|
$sidebar_color: #DFDFDF;
|
10
10
|
|
11
|
+
#admin {
|
12
|
+
form.form-horizontal {
|
13
|
+
|
14
|
+
input,
|
15
|
+
textarea,
|
16
|
+
select,
|
17
|
+
.uneditable-input {
|
18
|
+
width: 300px;
|
19
|
+
}
|
20
|
+
|
21
|
+
select {
|
22
|
+
width: 310px;
|
23
|
+
}
|
24
|
+
|
25
|
+
input.btn {
|
26
|
+
width: auto;
|
27
|
+
}
|
28
|
+
|
29
|
+
.form-actions {
|
30
|
+
padding-left: 250px;
|
31
|
+
}
|
32
|
+
|
33
|
+
}
|
34
|
+
|
35
|
+
}
|
36
|
+
|
37
|
+
|
38
|
+
|
11
39
|
#header{
|
12
40
|
padding-bottom: 10px;
|
13
41
|
background: image-url("css/header_bg.png") repeat-x scroll center top;
|
@@ -61,7 +89,6 @@ $sidebar_color: #DFDFDF;
|
|
61
89
|
height: 68px;
|
62
90
|
min-width: 200px;
|
63
91
|
margin-left: 60px;
|
64
|
-
background: image-url("css/noise.png") repeat-x scroll center top;
|
65
92
|
background-color: lighten(desaturate($base_color, 30%), 55%);
|
66
93
|
|
67
94
|
@include box-shadow();
|
@@ -108,6 +135,13 @@ $sidebar_color: #DFDFDF;
|
|
108
135
|
}
|
109
136
|
}
|
110
137
|
|
138
|
+
#admin-switcher-menu {
|
139
|
+
.section_title {
|
140
|
+
font-size: 14px;
|
141
|
+
line-height: 36px;
|
142
|
+
}
|
143
|
+
}
|
144
|
+
|
111
145
|
#spider-admin{
|
112
146
|
|
113
147
|
.container-fluid{
|
@@ -119,7 +153,7 @@ $sidebar_color: #DFDFDF;
|
|
119
153
|
|
120
154
|
}
|
121
155
|
|
122
|
-
.spider-admin-container{
|
156
|
+
#container, .spider-admin-container{
|
123
157
|
background: image-url("css/side_bg.png") repeat-y;
|
124
158
|
position: relative;
|
125
159
|
min-width: 940px;
|
@@ -129,7 +163,7 @@ $sidebar_color: #DFDFDF;
|
|
129
163
|
min-height: 500px;
|
130
164
|
@include clearfix();
|
131
165
|
|
132
|
-
> .spider-admin-sidebar {
|
166
|
+
#sidebar, > .spider-admin-sidebar {
|
133
167
|
position: absolute;
|
134
168
|
top: 0;
|
135
169
|
left: 20px;
|
@@ -145,7 +179,7 @@ $sidebar_color: #DFDFDF;
|
|
145
179
|
}
|
146
180
|
}
|
147
181
|
|
148
|
-
> .spider-admin-content {
|
182
|
+
#content, > .spider-admin-content {
|
149
183
|
margin-left: 240px;
|
150
184
|
}
|
151
185
|
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<ul class="breadcrumb" sp:if="@admin_breadcrumb">
|
2
|
+
<li sp:each="@admin_breadcrumb[0..@admin_breadcrumb.length-2] |bc|">
|
3
|
+
<a href="{ bc[:url] }">{ bc[:label] }</a> <span class="divider">/</span>
|
4
|
+
</li>
|
5
|
+
<li class="active" sp:if="@admin_breadcrumb.last">
|
6
|
+
{ @admin_breadcrumb.last[:label] }
|
7
|
+
</li>
|
8
|
+
</ul>
|
@@ -1,9 +1,11 @@
|
|
1
1
|
<!DOCTYPE HTML>
|
2
2
|
<html>
|
3
|
-
<tpl:asset
|
3
|
+
<tpl:asset name="bootstrap-sass" />
|
4
4
|
<tpl:asset type="css" src="sass/admin.scss" />
|
5
5
|
<head>
|
6
|
-
<title>_(Administration)
|
6
|
+
<title>_(Administration)
|
7
|
+
<tpl:pass sp:if="@current_app && @current_app[:module]"> - { @current_app[:module].name }</tpl:pass>
|
8
|
+
</title>
|
7
9
|
<tpl:output-assets type="css" />
|
8
10
|
<tpl:output-assets type="js" />
|
9
11
|
</head>
|
@@ -12,12 +14,13 @@
|
|
12
14
|
<div id="header_top">
|
13
15
|
<div id="main_title">
|
14
16
|
<h1>
|
15
|
-
_(Administration)
|
17
|
+
_(Administration)
|
18
|
+
<tpl:pass sp:if="@current_app && @current_app[:module]"> - { @current_app[:module].name }</tpl:pass>
|
16
19
|
</h1>
|
17
20
|
</div>
|
18
21
|
<div id="admin_controls">
|
19
22
|
<span class="welcome">_(Welcome, %s.) % @username</span> -
|
20
|
-
<a class="logout_link" href="{ Spider::Admin::AdminController.
|
23
|
+
<a class="logout_link" href="{ Spider::Admin::AdminController.http_url('login/logout') }" sp:if="!@guest">Logout</a>
|
21
24
|
</div>
|
22
25
|
</div>
|
23
26
|
<div id="app_buttons" sp:if="@apps.length > 1">
|
@@ -32,4 +35,4 @@
|
|
32
35
|
</div>
|
33
36
|
<sp:yield />
|
34
37
|
</body>
|
35
|
-
</html>
|
38
|
+
</html>
|
@@ -25,12 +25,7 @@ module Spider; module Auth
|
|
25
25
|
def default_redirect
|
26
26
|
self.class.default_redirect
|
27
27
|
end
|
28
|
-
|
29
|
-
def before(action='')
|
30
|
-
super
|
31
|
-
@response.headers['Content-Type'] = 'text/html;charset=UTF-8'
|
32
|
-
end
|
33
|
-
|
28
|
+
|
34
29
|
__.html
|
35
30
|
def index
|
36
31
|
exception = @request.session.flash[:unauthorized_exception]
|
@@ -40,7 +35,7 @@ module Spider; module Auth
|
|
40
35
|
render('login')
|
41
36
|
end
|
42
37
|
|
43
|
-
def authenticate
|
38
|
+
def authenticate(params={})
|
44
39
|
get_user
|
45
40
|
end
|
46
41
|
|
@@ -55,7 +50,7 @@ module Spider; module Auth
|
|
55
50
|
__.html
|
56
51
|
def do_login
|
57
52
|
user = authenticate
|
58
|
-
if
|
53
|
+
if user
|
59
54
|
user.save_to_session(@request.session)
|
60
55
|
on_success(user)
|
61
56
|
unless success_redirect
|
@@ -144,4 +144,40 @@ Spider::Template.define_named_asset 'jquery-tools-tooltip', [
|
|
144
144
|
|
145
145
|
Spider::Template.define_named_asset 'less', [
|
146
146
|
[:js, 'js/less-1.1.3.min.js', Spider::Components, {:compressed => true}]
|
147
|
-
]
|
147
|
+
]
|
148
|
+
|
149
|
+
Spider::Template.define_named_asset 'bootstrap-sass', [
|
150
|
+
[:css, 'bootstrap/scss/bootstrap.scss', Spider::Components]
|
151
|
+
]
|
152
|
+
|
153
|
+
Spider::Template.define_named_asset 'bootstrap-alerts', [
|
154
|
+
[:js, 'bootstrap/js/bootstrap-alerts.js']
|
155
|
+
]
|
156
|
+
|
157
|
+
Spider::Template.define_named_asset 'bootstrap-buttons', [
|
158
|
+
[:js, 'bootstrap/js/bootstrap-buttons.js']
|
159
|
+
]
|
160
|
+
|
161
|
+
Spider::Template.define_named_asset 'bootstrap-dropdown', [
|
162
|
+
[:js, 'bootstrap/js/bootstrap-dropdown.js']
|
163
|
+
]
|
164
|
+
|
165
|
+
Spider::Template.define_named_asset 'bootstrap-modal', [
|
166
|
+
[:js, 'bootstrap/js/bootstrap-modal.js']
|
167
|
+
]
|
168
|
+
|
169
|
+
Spider::Template.define_named_asset 'bootstrap-popover', [
|
170
|
+
[:js, 'bootstrap/js//bootstrap-popover.js']
|
171
|
+
]
|
172
|
+
|
173
|
+
Spider::Template.define_named_asset 'bootstrap-scrollspy', [
|
174
|
+
[:js, 'bootstrap/js//bootstrap-scrollspy.js']
|
175
|
+
]
|
176
|
+
|
177
|
+
Spider::Template.define_named_asset 'bootstrap-tabs', [
|
178
|
+
[:js, 'bootstrap/js//bootstrap-tabs.js']
|
179
|
+
]
|
180
|
+
|
181
|
+
Spider::Template.define_named_asset 'bootstrap-twipsy', [
|
182
|
+
[:js, 'bootstrap/js//bootstrap-twipsy.js']
|
183
|
+
]
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Copyright 2012 Twitter, Inc.
|
2
|
+
|
3
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
you may not use this file except in compliance with the License.
|
5
|
+
You may obtain a copy of the License at
|
6
|
+
|
7
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
|
9
|
+
Unless required by applicable law or agreed to in writing, software
|
10
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
See the License for the specific language governing permissions and
|
13
|
+
limitations under the License.
|
@@ -0,0 +1,28 @@
|
|
1
|
+
TWITTER BOOTSTRAP (SASS, SCSS)
|
2
|
+
======================================
|
3
|
+
|
4
|
+
A `scss` and `sass` version of Twitter Bootstrap (v2.0).
|
5
|
+
The `scss` version is actively maintained while the `sass` is a converted from the `scss` version using `sass-convert`.
|
6
|
+
|
7
|
+
> [Bootstrap](http://twitter.github.com/bootstrap/ "Twitter Bootstrap") is Twitter's toolkit for kickstarting CSS for websites, apps, and more.
|
8
|
+
> It includes base CSS styles for typography, forms, buttons, tables, grids, navigation, alerts, and more.
|
9
|
+
|
10
|
+
Developers
|
11
|
+
----------
|
12
|
+
|
13
|
+
<a href="http://compass-style.org/">Compass</a> - author and compile `sass` and `scss` files.
|
14
|
+
|
15
|
+
Authors
|
16
|
+
-------
|
17
|
+
|
18
|
+
**Brajeshwar Oinam**
|
19
|
+
|
20
|
+
+ [@Brajeshwar](http://twitter.com/Brajeshwar "Title") on Twitter.
|
21
|
+
+ http://brajeshwar.com
|
22
|
+
|
23
|
+
_Looking for co-authors who can help with development of the Compass version._
|
24
|
+
|
25
|
+
Copyright, license _et al_
|
26
|
+
-------------------------
|
27
|
+
|
28
|
+
Please refer to the original <a href="https://github.com/twitter/bootstrap#readme">Readme for Twitter Bootstrap</a> for Copyright, license and everything else.
|
Binary file
|