noodall-ui 0.4.1 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +0 -1
- data/.rvmrc +31 -0
- data/.travis.yml +2 -0
- data/Gemfile +3 -6
- data/app/controllers/noodall/nodes_controller.rb +1 -1
- data/config/application.rb +3 -3
- data/features/manage_content_tree.feature +13 -13
- data/features/step_definitions/cms_node_steps.rb +7 -7
- data/features/step_definitions/pubish_content_steps.rb +1 -1
- data/features/support/mm_factory_steps.rb +11 -9
- data/features/support/suppress.rb +5 -0
- data/lib/noodall/ui/version.rb +1 -1
- data/noodall-ui.gemspec +2 -2
- data/public/404.html +69 -19
- data/public/422.html +76 -0
- data/public/500.html +77 -0
- data/public/images/404-search.png +0 -0
- data/public/images/admin/edit.png +0 -0
- data/public/javascripts/admin/tiny_mce_config.js +2 -2
- data/public/stylesheets/admin/skin.css +1 -1
- metadata +64 -101
data/.gitignore
CHANGED
data/.rvmrc
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
ruby_string="ruby-1.9.2"
|
4
|
+
gemset_name="noodall-ui"
|
5
|
+
|
6
|
+
if rvm list strings | grep -q "${ruby_string}" ; then
|
7
|
+
|
8
|
+
# Load or create the specified environment
|
9
|
+
if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
|
10
|
+
&& -s "${rvm_path:-$HOME/.rvm}/environments/${ruby_string}@${gemset_name}" ]] ; then
|
11
|
+
\. "${rvm_path:-$HOME/.rvm}/environments/${ruby_string}@${gemset_name}"
|
12
|
+
else
|
13
|
+
rvm --create "${ruby_string}@${gemset_name}"
|
14
|
+
fi
|
15
|
+
|
16
|
+
(
|
17
|
+
# Ensure that Bundler is installed, install it if it is not.
|
18
|
+
if ! command -v bundle ; then
|
19
|
+
gem install bundler
|
20
|
+
fi
|
21
|
+
|
22
|
+
# Bundle while redcing excess noise.
|
23
|
+
bundle | grep -v 'Using' | grep -v 'complete' | sed '/^$/d'
|
24
|
+
)&
|
25
|
+
|
26
|
+
else
|
27
|
+
|
28
|
+
# Notify the user to install the desired interpreter before proceeding.
|
29
|
+
echo "${ruby_string} was not found, please run 'rvm install ${ruby_string}' and then cd back into the project directory."
|
30
|
+
|
31
|
+
fi
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
@@ -3,9 +3,6 @@ source 'http://gems.github.com'
|
|
3
3
|
|
4
4
|
gemspec
|
5
5
|
|
6
|
-
#temp
|
7
|
-
gem 'noodall-core', '~> 0.7.3'
|
8
|
-
|
9
6
|
# Required for running as demo rails app
|
10
7
|
gem 'rails', '~> 3.0.1'
|
11
8
|
gem 'rmagick', :require => 'RMagick'
|
@@ -25,7 +22,7 @@ group :development, :test do
|
|
25
22
|
gem 'jeweler', '~> 1.4.0'
|
26
23
|
gem 'factory_girl_rails'
|
27
24
|
gem "faker", "~> 0.3.1"
|
28
|
-
gem "
|
29
|
-
gem "
|
30
|
-
gem "
|
25
|
+
gem "bson_ext"
|
26
|
+
gem "ruby-debug19"
|
27
|
+
#gem "SystemTimer", ">= 1.2.0" # Ruby-1.8.7 only
|
31
28
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Noodall
|
2
2
|
class NodesController < ApplicationController
|
3
3
|
include Canable::Enforcers
|
4
|
-
rescue_from MongoMapper::DocumentNotFound, ActionView::MissingTemplate, :with => :render_404
|
4
|
+
rescue_from MongoMapper::DocumentNotFound, ActionView::MissingTemplate, BSON::InvalidStringEncoding, :with => :render_404
|
5
5
|
rescue_from Canable::Transgression, :with => :permission_denied
|
6
6
|
|
7
7
|
def show
|
data/config/application.rb
CHANGED
@@ -11,9 +11,9 @@ require "active_resource/railtie"
|
|
11
11
|
Bundler.require(:default, Rails.env) if defined?(Bundler)
|
12
12
|
|
13
13
|
require 'noodall-core'
|
14
|
-
require '
|
15
|
-
require '
|
16
|
-
require '
|
14
|
+
require 'noodall/permalinks'
|
15
|
+
require 'noodall/ui'
|
16
|
+
require 'noodall/canable'
|
17
17
|
|
18
18
|
module Noodall
|
19
19
|
class Application < Rails::Application
|
@@ -1,42 +1,42 @@
|
|
1
1
|
Feature: Manage Content Tree
|
2
2
|
In order to provide up to date information in a structured manner on the website a website editor will be able to manage the content in a tree structure
|
3
|
-
|
3
|
+
|
4
4
|
Background:
|
5
5
|
Given the website has been populated with content based on the site map
|
6
|
-
|
6
|
+
|
7
7
|
Scenario: Browse Content Tree
|
8
8
|
Given I am on the content admin page
|
9
9
|
Then I should see a list of the roots
|
10
10
|
When I click on a root
|
11
|
-
Then I should see a list the of the root
|
11
|
+
Then I should see a list the of the root's children
|
12
12
|
When I click on a child
|
13
|
-
Then I should see a list of the child
|
14
|
-
|
13
|
+
Then I should see a list of the child's children
|
14
|
+
|
15
15
|
Scenario: Create Root Content
|
16
16
|
Given I am on the content admin page
|
17
17
|
Then I should be able to create a new root
|
18
18
|
And I should see the root listed within the roots
|
19
|
-
|
19
|
+
|
20
20
|
Scenario: Create Sub Content
|
21
21
|
Given I am on the content admin page
|
22
22
|
When I click on a root
|
23
23
|
Then I should be able to create a new child
|
24
|
-
And I should see the child listed within the root
|
25
|
-
|
24
|
+
And I should see the child listed within the root's children
|
25
|
+
|
26
26
|
Scenario: Delete Content
|
27
27
|
Given I am on the content admin page
|
28
28
|
Then I should be able to delete content
|
29
|
-
And the content and all of it
|
30
|
-
|
29
|
+
And the content and all of it's sub content will be removed from the website
|
30
|
+
|
31
31
|
Scenario: Reorder Children
|
32
32
|
Given I am on the content admin page
|
33
33
|
When I click on a root
|
34
|
-
Then I should be able change the order of the root
|
34
|
+
Then I should be able change the order of the root's children
|
35
35
|
|
36
36
|
@javascript
|
37
37
|
Scenario: Move Child to another Parent
|
38
38
|
Given I am on the content admin page
|
39
39
|
When I click on a root
|
40
40
|
Then I should be able to move a child content to another parent
|
41
|
-
And I should see the child listed within the other parent
|
42
|
-
|
41
|
+
And I should see the child listed within the other parent's children
|
42
|
+
|
@@ -8,7 +8,7 @@ When /^I click on a root$/ do
|
|
8
8
|
within("tbody tr:last") { click_link "Children" }
|
9
9
|
end
|
10
10
|
|
11
|
-
Then /^I should see a list the of the root
|
11
|
+
Then /^I should see a list the of the root's children$/ do
|
12
12
|
@_page.children.each do |child|
|
13
13
|
page.should have_content(child.title)
|
14
14
|
end
|
@@ -19,7 +19,7 @@ When /^I click on a child$/ do
|
|
19
19
|
within(:css, "tbody tr:first") { click_link "Children" }
|
20
20
|
end
|
21
21
|
|
22
|
-
Then /^I should see a list of the child
|
22
|
+
Then /^I should see a list of the child's children$/ do
|
23
23
|
@_child.children.each do |gchild|
|
24
24
|
page.should have_content(gchild.title)
|
25
25
|
end
|
@@ -50,7 +50,7 @@ Then /^I should be able to create a new child$/ do
|
|
50
50
|
page.should have_content(' was successfully created.')
|
51
51
|
end
|
52
52
|
|
53
|
-
Then /^I should see the child listed within the root
|
53
|
+
Then /^I should see the child listed within the root's children$/ do
|
54
54
|
visit noodall_admin_node_nodes_path(@_page)
|
55
55
|
page.should have_content('New Child')
|
56
56
|
end
|
@@ -63,10 +63,10 @@ Then /^I should be able to delete content$/ do
|
|
63
63
|
page.should have_content("deleted")
|
64
64
|
end
|
65
65
|
|
66
|
-
Then /^the content and all of it
|
66
|
+
Then /^the content and all of it's sub content will be removed from the website$/ do
|
67
67
|
|
68
68
|
visit node_path(@_deleted_node)
|
69
|
-
page.should have_content("The page you were looking for doesn't exist
|
69
|
+
page.should have_content("The page you were looking for doesn't exist")
|
70
70
|
|
71
71
|
@_deleted_node_children.each do |child|
|
72
72
|
lambda { visit node_path(child) }.should raise_error(MongoMapper::DocumentNotFound)
|
@@ -84,14 +84,14 @@ Then /^I should be able to move a child content to another parent$/ do
|
|
84
84
|
click_button 'Publish'
|
85
85
|
end
|
86
86
|
|
87
|
-
Then /^I should see the child listed within the other parent
|
87
|
+
Then /^I should see the child listed within the other parent's children$/ do
|
88
88
|
visit noodall_admin_node_nodes_path(@_new_parent)
|
89
89
|
within('tbody') do
|
90
90
|
page.should have_content(@_child.title)
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
-
Then /^I should be able change the order of the root
|
94
|
+
Then /^I should be able change the order of the root's children$/ do
|
95
95
|
table = table(tableish("table tr", 'td, th'))
|
96
96
|
title = table.hashes[2]['Title'] # 2 as zero index
|
97
97
|
within(:css, 'table tbody tr:nth(3)') { click_link "up" }
|
@@ -18,7 +18,7 @@ Then /^the content should (not |)be visible on the website$/ do |is_not|
|
|
18
18
|
page.should within('#content h1') { have_content(@_content.title) }
|
19
19
|
else
|
20
20
|
visit node_path(@_content)
|
21
|
-
page.should have_content("The page you were looking for doesn't exist
|
21
|
+
page.should have_content("The page you were looking for doesn't exist")
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -1,13 +1,15 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
factory.build_class.keys
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
FactoryGirl.factories.each do |factory|
|
2
|
+
factory.human_names.each do |human_name|
|
3
|
+
if factory.build_class.respond_to?(:keys)
|
4
|
+
factory.build_class.keys.each_key do |key|
|
5
|
+
human_column_name = key.downcase.gsub('_', ' ')
|
6
|
+
Given /^an? #{human_name} exists with an? #{human_column_name} of "([^"]*)"$/i do |value|
|
7
|
+
Factory(factory.name, key => value)
|
8
|
+
end
|
8
9
|
|
9
|
-
|
10
|
-
|
10
|
+
Given /^(\d+) #{human_name.pluralize} exist with an? #{human_column_name} of "([^"]*)"$/i do |count, value|
|
11
|
+
count.to_i.times { Factory(factory.name, key => value) }
|
12
|
+
end
|
11
13
|
end
|
12
14
|
end
|
13
15
|
end
|
@@ -0,0 +1,5 @@
|
|
1
|
+
# Stop endless errors like
|
2
|
+
# http://stackoverflow.com/questions/3622394/ruby-1-9-2-strange-warning-when-running-cucumber-specs/3692773#3692773
|
3
|
+
# ~/.rvm/gems/ruby-1.9.2-p0@global/gems/rack-1.2.1/lib/rack/utils.rb:16:
|
4
|
+
# warning: regexp match /.../n against to UTF-8 string
|
5
|
+
$VERBOSE = nil
|
data/lib/noodall/ui/version.rb
CHANGED
data/noodall-ui.gemspec
CHANGED
@@ -15,8 +15,8 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.required_rubygems_version = ">= 1.3.6"
|
16
16
|
|
17
17
|
s.add_dependency 'noodall-core', ">= 0.7.2"
|
18
|
-
s.add_dependency 'thoughtbot-sortable_table', "
|
19
|
-
s.add_dependency 'will_paginate', "~> 3.0
|
18
|
+
s.add_dependency 'thoughtbot-sortable_table', ">= 0.0.6"
|
19
|
+
s.add_dependency 'will_paginate', "~> 3.0"
|
20
20
|
s.add_dependency 'dynamic_form', ">= 0"
|
21
21
|
|
22
22
|
s.add_development_dependency "bundler", ">= 1.0.0"
|
data/public/404.html
CHANGED
@@ -1,27 +1,77 @@
|
|
1
|
-
<!
|
1
|
+
<!doctype html>
|
2
2
|
<html>
|
3
3
|
<head>
|
4
|
+
<meta charset="utf-8">
|
4
5
|
<title>The page you were looking for doesn't exist (404)</title>
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
6
|
+
<style>
|
7
|
+
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video,applet,a,acronym,big,font,strike,tt{border:0;outline:0;font-weight:inherit;font-style:inherit;vertical-align:baseline;font-family:Arial, "Helvetica Neue", Helvetica, sans-serif;font-size:12px;margin:0;padding:0}
|
8
|
+
|
9
|
+
/*STYLE*/
|
10
|
+
article{width:940px;position:relative;margin:0 auto}
|
11
|
+
p.logo{position:absolute;top:34px;left:0;font-size:48px}
|
12
|
+
#main-content{border-bottom:solid 1px;margin:0 0 20px;padding:298px 0 20px 104px}
|
13
|
+
h1{display:block;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;width:93px;height:45px;font-size:32px;text-align:center;float:left;border:solid 1px;margin:0 20px 0 0;padding:8px 0 0}
|
14
|
+
p.heading{font-size:32px;line-height:1;margin-bottom:9px}
|
15
|
+
p.desc{font-size:12px}
|
16
|
+
p.email-msg{margin-left:115px;margin-top:5px}
|
17
|
+
#supporting-content{padding:0 219px}
|
18
|
+
#supporting-content p,form{float:left;margin-right:20px}
|
19
|
+
#supporting-content p a{display:inline-block;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;line-height:1;text-decoration:none;margin:0 16px 0 0;padding:8px 13px}
|
20
|
+
form{display:inline-block;position:relative}
|
21
|
+
form input[type=text]{display:inline-block;height:28px;vertical-align:center;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;border:solid 1px;width:200px;padding:0 10px}
|
22
|
+
form input[type=submit]{border:0 none;display:block;font-size:0;height:26px;position:absolute;right:10px;top:2px;width:14px;background-image:url(/images/404-search.png);cursor:pointer;color:#fff!important}
|
23
|
+
|
24
|
+
/*LOGO*/
|
25
|
+
p.logo{
|
26
|
+
overflow: hidden;
|
27
|
+
text-align: left;
|
28
|
+
display: block;
|
29
|
+
line-height:0;
|
30
|
+
text-indent: -1000em;
|
31
|
+
height: 116px;
|
32
|
+
width: 260px;
|
33
|
+
background: url(/images/logo.gif) no-repeat 0 0;
|
14
34
|
}
|
15
|
-
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
-
</style>
|
17
|
-
</head>
|
18
35
|
|
36
|
+
/*COLOUR*/
|
37
|
+
|
38
|
+
/*Background*/
|
39
|
+
body{background: #ffffff}
|
40
|
+
|
41
|
+
/*Body*/
|
42
|
+
body, #main-content a:hover {color: #686869;}
|
43
|
+
form input[type='submit']:hover{background-color: #686869;}
|
44
|
+
|
45
|
+
/*Main*/
|
46
|
+
#main-content a{color: #00457C}
|
47
|
+
#supporting-content a{background-color: #00457C; color: #fff}
|
48
|
+
form input[type='submit']{background-color: #00457C;color: #fff;}
|
49
|
+
|
50
|
+
/*Secondary*/
|
51
|
+
form input[type='text'],#main-content,h1{border-color: #63CEEA;}
|
52
|
+
h1, #supporting-content a:hover{color:#63CEEA;}
|
53
|
+
form input[type='submit']:hover{background-color:#63CEEA;}
|
54
|
+
|
55
|
+
</style>
|
56
|
+
</head>
|
19
57
|
<body>
|
20
|
-
|
21
|
-
|
22
|
-
<
|
23
|
-
|
24
|
-
|
58
|
+
<article>
|
59
|
+
<p class="logo">SITE TITLE</p>
|
60
|
+
<div id="main-content">
|
61
|
+
<h1>404</h1>
|
62
|
+
<p class="heading">The page you were looking for doesn’t exist</p>
|
63
|
+
<p class="desc">You may have mistyped the address or the page may have moved.</p>
|
64
|
+
</div>
|
65
|
+
<div id="supporting-content">
|
66
|
+
<p>
|
67
|
+
<a href="/" title="Return to the home page">Return to the home page</a>
|
68
|
+
or
|
69
|
+
</p>
|
70
|
+
<form class="search" method="get" action="/search" accept-charset="UTF-8">
|
71
|
+
<input id="q" class="search" type="text" placeholder="Search Site" title="Search" name="q">
|
72
|
+
<input type="submit" value="Search" name="commit">
|
73
|
+
</form>
|
74
|
+
</div>
|
75
|
+
</article>
|
25
76
|
</body>
|
26
77
|
</html>
|
27
|
-
|
data/public/422.html
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>The change you wanted was rejected (422)</title>
|
6
|
+
<style> html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video,applet,a,acronym,big,font,strike,tt{border:0;outline:0;font-weight:inherit;font-style:inherit;vertical-align:baseline;font-family:Arial, "Helvetica Neue", Helvetica, sans-serif;font-size:12px;margin:0;padding:0}
|
7
|
+
|
8
|
+
/*STYLE*/
|
9
|
+
article{width:940px;position:relative;margin:0 auto}
|
10
|
+
p.logo{position:absolute;top:34px;left:0;font-size:48px}
|
11
|
+
#main-content{border-bottom:solid 1px;margin:0 0 20px;padding:298px 0 20px 104px}
|
12
|
+
h1{display:block;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;width:93px;height:45px;font-size:32px;text-align:center;float:left;border:solid 1px;margin:0 20px 0 0;padding:8px 0 0}
|
13
|
+
p.heading{font-size:32px;line-height:1;margin-bottom:9px}
|
14
|
+
p.desc{font-size:12px}
|
15
|
+
p.email-msg{margin-left:115px;margin-top:5px}
|
16
|
+
#supporting-content{padding:0 219px}
|
17
|
+
#supporting-content p,form{float:left;margin-right:20px}
|
18
|
+
#supporting-content p a{display:inline-block;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;line-height:1;text-decoration:none;margin:0 16px 0 0;padding:8px 13px}
|
19
|
+
form{display:inline-block;position:relative}
|
20
|
+
form input[type=text]{display:inline-block;height:28px;vertical-align:center;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;border:solid 1px;width:200px;padding:0 10px}
|
21
|
+
form input[type=submit]{border:0 none;display:block;font-size:0;height:26px;position:absolute;right:10px;top:2px;width:14px;background-image:url(images/404-search.png);cursor:pointer;color:#fff!important}
|
22
|
+
|
23
|
+
/*LOGO*/
|
24
|
+
p.logo{
|
25
|
+
overflow: hidden;
|
26
|
+
text-align: left;
|
27
|
+
display: block;
|
28
|
+
line-height:0;
|
29
|
+
text-indent: -1000em;
|
30
|
+
height: 116px;
|
31
|
+
width: 260px;
|
32
|
+
background: url(/images/logo.gif) no-repeat 0 0;
|
33
|
+
}
|
34
|
+
|
35
|
+
/*COLOUR*/
|
36
|
+
|
37
|
+
/*Background*/
|
38
|
+
body{background: #ffffff}
|
39
|
+
|
40
|
+
/*Body*/
|
41
|
+
body, #main-content a:hover {color: #686869;}
|
42
|
+
form input[type='submit']:hover{background-color: #686869;}
|
43
|
+
|
44
|
+
/*Main*/
|
45
|
+
#main-content a{color: #00457C}
|
46
|
+
#supporting-content a{background-color: #00457C; color: #fff}
|
47
|
+
form input[type='submit']{background-color: #00457C;color: #fff;}
|
48
|
+
|
49
|
+
/*Secondary*/
|
50
|
+
form input[type='text'],#main-content,h1{border-color: #63CEEA;}
|
51
|
+
h1, #supporting-content a:hover{color:#63CEEA;}
|
52
|
+
form input[type='submit']:hover{background-color:#63CEEA;}
|
53
|
+
|
54
|
+
</style>
|
55
|
+
</head>
|
56
|
+
<body>
|
57
|
+
<article>
|
58
|
+
<p class="logo">SITE TITLE</p>
|
59
|
+
<div id="main-content">
|
60
|
+
<h1>422</h1>
|
61
|
+
<p class="heading">The change you wanted was rejected.</p>
|
62
|
+
<p class="desc">Maybe you tried to change something you didn't have access to.</p>
|
63
|
+
</div>
|
64
|
+
<div id="supporting-content">
|
65
|
+
<p>
|
66
|
+
<a href="/" title="Return to the home page">Return to the home page</a>
|
67
|
+
or
|
68
|
+
</p>
|
69
|
+
<form class="search" method="get" action="/search" accept-charset="UTF-8">
|
70
|
+
<input id="q" class="search" type="text" placeholder="Search Site" title="Search" name="q">
|
71
|
+
<input type="submit" value="Search" name="commit">
|
72
|
+
</form>
|
73
|
+
</div>
|
74
|
+
</article>
|
75
|
+
</body>
|
76
|
+
</html>
|
data/public/500.html
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>We're sorry, but something went wrong (500)</title>
|
6
|
+
<style>
|
7
|
+
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video,applet,a,acronym,big,font,strike,tt{border:0;outline:0;font-weight:inherit;font-style:inherit;vertical-align:baseline;font-family:Arial, "Helvetica Neue", Helvetica, sans-serif;font-size:12px;margin:0;padding:0}
|
8
|
+
|
9
|
+
/*STYLE*/
|
10
|
+
article{width:940px;position:relative;margin:0 auto}
|
11
|
+
p.logo{position:absolute;top:34px;left:0;font-size:48px}
|
12
|
+
#main-content{border-bottom:solid 1px;margin:0 0 20px;padding:298px 0 20px 104px}
|
13
|
+
h1{display:block;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;width:93px;height:45px;font-size:32px;text-align:center;float:left;border:solid 1px;margin:0 20px 0 0;padding:8px 0 0}
|
14
|
+
p.heading{font-size:32px;line-height:1;margin-bottom:9px}
|
15
|
+
p.desc{font-size:12px}
|
16
|
+
p.email-msg{margin-left:115px;margin-top:5px}
|
17
|
+
#supporting-content{padding:0 219px}
|
18
|
+
#supporting-content p,form{float:left;margin-right:20px}
|
19
|
+
#supporting-content p a{display:inline-block;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;line-height:1;text-decoration:none;margin:0 16px 0 0;padding:8px 13px}
|
20
|
+
form{display:inline-block;position:relative}
|
21
|
+
form input[type=text]{display:inline-block;height:28px;vertical-align:center;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;border:solid 1px;width:200px;padding:0 10px}
|
22
|
+
form input[type=submit]{border:0 none;display:block;font-size:0;height:26px;position:absolute;right:10px;top:2px;width:14px;background-image:url(images/404-search.png);cursor:pointer;color:#fff!important}
|
23
|
+
|
24
|
+
/*LOGO*/
|
25
|
+
/* p.logo{
|
26
|
+
overflow: hidden;
|
27
|
+
text-align: left;
|
28
|
+
display: block;
|
29
|
+
line-height:0;
|
30
|
+
text-indent: -1000em;
|
31
|
+
height: 116px;
|
32
|
+
width: 260px;
|
33
|
+
background: url(/images/logo.gif) no-repeat 0 0;
|
34
|
+
}*/
|
35
|
+
|
36
|
+
/*COLOUR*/
|
37
|
+
|
38
|
+
/*Background*/
|
39
|
+
body{background: #ffffff}
|
40
|
+
|
41
|
+
/*Body*/
|
42
|
+
body, #main-content a:hover {color: #505050;}
|
43
|
+
form input[type='submit']:hover{background-color: #505050;}
|
44
|
+
|
45
|
+
/*Main*/
|
46
|
+
#main-content a{color: #FB9F00}
|
47
|
+
#supporting-content a{background-color: #FB9F00; color: #fff}
|
48
|
+
form input[type='submit']{background-color: #FB9F00;color: #fff;}
|
49
|
+
|
50
|
+
/*Secondary*/
|
51
|
+
form input[type='text'],#main-content,h1{border-color: #4F4F4F;}
|
52
|
+
h1, #supporting-content a:hover{color:#4F4F4F;}
|
53
|
+
form input[type='submit']:hover{background-color:#4F4F4F;}
|
54
|
+
|
55
|
+
</style>
|
56
|
+
</head>
|
57
|
+
<body>
|
58
|
+
<article>
|
59
|
+
<p class="logo">SITE TITLE</p>
|
60
|
+
<div id="main-content">
|
61
|
+
<h1>500</h1>
|
62
|
+
<p class="heading">We're sorry, but something went wrong.</p>
|
63
|
+
<p class="desc">We've been notified about this issue and we'll take a look at it shortly</p>
|
64
|
+
</div>
|
65
|
+
<div id="supporting-content">
|
66
|
+
<p>
|
67
|
+
<a href="/" title="Return to the home page">Return to the home page</a>
|
68
|
+
or
|
69
|
+
</p>
|
70
|
+
<form class="search" method="get" action="/search" accept-charset="UTF-8">
|
71
|
+
<input id="q" class="search" type="text" placeholder="Search Site" title="Search" name="q">
|
72
|
+
<input type="submit" value="Search" name="commit">
|
73
|
+
</form>
|
74
|
+
</div>
|
75
|
+
</article>
|
76
|
+
</body>
|
77
|
+
</html>
|
Binary file
|
Binary file
|
@@ -25,9 +25,9 @@ lite_tiny_mce_config = {
|
|
25
25
|
|
26
26
|
paste_auto_cleanup_on_paste : true,
|
27
27
|
paste_strip_class_attributes : "all",
|
28
|
-
|
28
|
+
extended_valid_elements : "iframe[src|width|height|name|align]",
|
29
|
+
paste_remove_spans : true,
|
29
30
|
paste_remove_styles : true
|
30
|
-
|
31
31
|
};
|
32
32
|
|
33
33
|
tiny_mce_config = {};
|
metadata
CHANGED
@@ -1,113 +1,82 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: noodall-ui
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 4
|
9
|
-
- 1
|
10
|
-
version: 0.4.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.4
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Steve England
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
12
|
+
date: 2011-09-05 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: noodall-core
|
16
|
+
requirement: &10157760 !ruby/object:Gem::Requirement
|
23
17
|
none: false
|
24
|
-
requirements:
|
25
|
-
- -
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
hash: 7
|
28
|
-
segments:
|
29
|
-
- 0
|
30
|
-
- 7
|
31
|
-
- 2
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
32
21
|
version: 0.7.2
|
33
22
|
type: :runtime
|
34
|
-
name: noodall-core
|
35
23
|
prerelease: false
|
36
|
-
version_requirements: *
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
|
24
|
+
version_requirements: *10157760
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: thoughtbot-sortable_table
|
27
|
+
requirement: &10150740 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
hash: 19
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
- 0
|
47
|
-
- 6
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
48
32
|
version: 0.0.6
|
49
33
|
type: :runtime
|
50
|
-
name: thoughtbot-sortable_table
|
51
34
|
prerelease: false
|
52
|
-
version_requirements: *
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
|
35
|
+
version_requirements: *10150740
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: will_paginate
|
38
|
+
requirement: &10149800 !ruby/object:Gem::Requirement
|
55
39
|
none: false
|
56
|
-
requirements:
|
40
|
+
requirements:
|
57
41
|
- - ~>
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
segments:
|
61
|
-
- 3
|
62
|
-
- 0
|
63
|
-
- pre2
|
64
|
-
version: 3.0.pre2
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '3.0'
|
65
44
|
type: :runtime
|
66
|
-
name: will_paginate
|
67
45
|
prerelease: false
|
68
|
-
version_requirements: *
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
|
46
|
+
version_requirements: *10149800
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: dynamic_form
|
49
|
+
requirement: &10148960 !ruby/object:Gem::Requirement
|
71
50
|
none: false
|
72
|
-
requirements:
|
73
|
-
- -
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
|
76
|
-
segments:
|
77
|
-
- 0
|
78
|
-
version: "0"
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
79
55
|
type: :runtime
|
80
|
-
name: dynamic_form
|
81
56
|
prerelease: false
|
82
|
-
version_requirements: *
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
|
57
|
+
version_requirements: *10148960
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: bundler
|
60
|
+
requirement: &10147600 !ruby/object:Gem::Requirement
|
85
61
|
none: false
|
86
|
-
requirements:
|
87
|
-
- -
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
hash: 23
|
90
|
-
segments:
|
91
|
-
- 1
|
92
|
-
- 0
|
93
|
-
- 0
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
94
65
|
version: 1.0.0
|
95
66
|
type: :development
|
96
|
-
name: bundler
|
97
67
|
prerelease: false
|
98
|
-
version_requirements: *
|
68
|
+
version_requirements: *10147600
|
99
69
|
description: Noodall Rails User Interface Engine. Requires Noodall Core
|
100
|
-
email:
|
70
|
+
email:
|
101
71
|
- steve@wearebeef.co.uk
|
102
72
|
executables: []
|
103
|
-
|
104
73
|
extensions: []
|
105
|
-
|
106
74
|
extra_rdoc_files: []
|
107
|
-
|
108
|
-
files:
|
75
|
+
files:
|
109
76
|
- .document
|
110
77
|
- .gitignore
|
78
|
+
- .rvmrc
|
79
|
+
- .travis.yml
|
111
80
|
- Gemfile
|
112
81
|
- LICENSE
|
113
82
|
- README.rdoc
|
@@ -233,6 +202,7 @@ files:
|
|
233
202
|
- features/support/mm_factory_steps.rb
|
234
203
|
- features/support/paths.rb
|
235
204
|
- features/support/sevenfeatures.rb
|
205
|
+
- features/support/suppress.rb
|
236
206
|
- features/support/user_reset.rb
|
237
207
|
- lib/generators/noodall/component/USAGE
|
238
208
|
- lib/generators/noodall/component/component_generator.rb
|
@@ -258,8 +228,11 @@ files:
|
|
258
228
|
- log/.gitignore
|
259
229
|
- noodall-ui.gemspec
|
260
230
|
- public/404.html
|
231
|
+
- public/422.html
|
232
|
+
- public/500.html
|
261
233
|
- public/favicon.ico
|
262
234
|
- public/features.html
|
235
|
+
- public/images/404-search.png
|
263
236
|
- public/images/admin/add-small.png
|
264
237
|
- public/images/admin/add.png
|
265
238
|
- public/images/admin/add_file.gif
|
@@ -670,41 +643,31 @@ files:
|
|
670
643
|
- spec/files/get_video.flv
|
671
644
|
- spec/files/test.pdf
|
672
645
|
- tmp/.gitignore
|
673
|
-
has_rdoc: true
|
674
646
|
homepage: http://github.com/beef/noodall-ui
|
675
647
|
licenses: []
|
676
|
-
|
677
648
|
post_install_message:
|
678
649
|
rdoc_options: []
|
679
|
-
|
680
|
-
require_paths:
|
650
|
+
require_paths:
|
681
651
|
- lib
|
682
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
652
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
683
653
|
none: false
|
684
|
-
requirements:
|
685
|
-
- -
|
686
|
-
- !ruby/object:Gem::Version
|
687
|
-
|
688
|
-
segments:
|
654
|
+
requirements:
|
655
|
+
- - ! '>='
|
656
|
+
- !ruby/object:Gem::Version
|
657
|
+
version: '0'
|
658
|
+
segments:
|
689
659
|
- 0
|
690
|
-
|
691
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
660
|
+
hash: -366944267144973308
|
661
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
692
662
|
none: false
|
693
|
-
requirements:
|
694
|
-
- -
|
695
|
-
- !ruby/object:Gem::Version
|
696
|
-
hash: 23
|
697
|
-
segments:
|
698
|
-
- 1
|
699
|
-
- 3
|
700
|
-
- 6
|
663
|
+
requirements:
|
664
|
+
- - ! '>='
|
665
|
+
- !ruby/object:Gem::Version
|
701
666
|
version: 1.3.6
|
702
667
|
requirements: []
|
703
|
-
|
704
668
|
rubyforge_project:
|
705
|
-
rubygems_version: 1.
|
669
|
+
rubygems_version: 1.8.6
|
706
670
|
signing_key:
|
707
671
|
specification_version: 3
|
708
672
|
summary: Noodall Rails User Interface
|
709
673
|
test_files: []
|
710
|
-
|