backlog 0.10.8 → 0.11.0

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.
Files changed (86) hide show
  1. data/History.txt +14 -0
  2. data/app/controllers/backlogs_controller.rb +2 -0
  3. data/app/controllers/work_accounts_controller.rb +51 -0
  4. data/app/controllers/works_controller.rb +72 -29
  5. data/app/helpers/application_helper.rb +1 -2
  6. data/app/helpers/work_accounts_helper.rb +2 -0
  7. data/app/models/backlog.rb +10 -3
  8. data/app/models/configuration.rb +2 -0
  9. data/app/models/customer.rb +2 -0
  10. data/app/models/task.rb +26 -5
  11. data/app/models/work.rb +18 -13
  12. data/app/models/work_account.rb +12 -0
  13. data/app/views/backlogs/_form.rhtml +5 -4
  14. data/app/views/layouts/_left_top.rhtml +1 -8
  15. data/app/views/layouts/_notice.rhtml +15 -0
  16. data/app/views/layouts/wide.rhtml +4 -10
  17. data/app/views/tasks/_fields_header.rhtml +1 -1
  18. data/app/views/work_accounts/_form.rhtml +10 -0
  19. data/app/views/work_accounts/_name_list.rhtml +5 -0
  20. data/app/views/work_accounts/edit.rhtml +9 -0
  21. data/app/views/work_accounts/list.rhtml +27 -0
  22. data/app/views/work_accounts/new.rhtml +8 -0
  23. data/app/views/work_accounts/show.rhtml +8 -0
  24. data/app/views/works/_description_list.rhtml +5 -0
  25. data/app/views/works/_form.rhtml +8 -2
  26. data/app/views/works/_row.rhtml +32 -0
  27. data/app/views/works/_row_field.rhtml +3 -0
  28. data/app/views/works/daily_work_sheet.rhtml +35 -59
  29. data/app/views/works/edit.rhtml +1 -1
  30. data/app/views/works/list.rhtml +1 -1
  31. data/app/views/works/timeliste.rhtml +3 -3
  32. data/app/views/works/update_row.rjs +6 -0
  33. data/app/views/works/weekly_work_sheet.rhtml +5 -5
  34. data/bin/backlog +4 -1
  35. data/bin/backlog_init.d +13 -0
  36. data/config/database.yml +0 -4
  37. data/config/environment.rb +1 -1
  38. data/db/backup/backlogs.yml +118 -0
  39. data/db/backup/estimates.yml +7371 -0
  40. data/db/backup/groups.yml +37 -0
  41. data/db/backup/parties.yml +2 -0
  42. data/db/backup/periods.yml +386 -0
  43. data/db/backup/task_files.yml +2 -0
  44. data/db/backup/tasks.yml +15770 -0
  45. data/db/backup/users.yml +209 -0
  46. data/db/backup/works.yml +6203 -0
  47. data/db/migrate/018_create_groups.rb +0 -1
  48. data/db/migrate/021_create_work_accounts.rb +113 -0
  49. data/db/schema.rb +35 -10
  50. data/lang/en.yaml +3 -0
  51. data/lang/no.yaml +3 -0
  52. data/lib/change_column_null_migration_fix.rb +13 -0
  53. data/nbproject/private/config.properties +0 -0
  54. data/nbproject/private/private.properties +1 -0
  55. data/nbproject/private/private.xml +4 -0
  56. data/nbproject/private/rake-t.txt +95 -0
  57. data/nbproject/project.properties +4 -0
  58. data/nbproject/project.xml +9 -0
  59. data/public/Frav/303/246rsskjema.xls +0 -0
  60. data/public/stylesheets/scaffold.css +74 -0
  61. data/test/fixtures/backlogs.yml +2 -0
  62. data/test/fixtures/configurations.yml +5 -0
  63. data/test/fixtures/customers.yml +7 -0
  64. data/test/fixtures/tasks.yml +1 -0
  65. data/test/fixtures/users.yml +3 -5
  66. data/test/fixtures/work_accounts.yml +7 -0
  67. data/test/fixtures/works.yml +11 -0
  68. data/test/functional/backlogs_controller_test.rb +1 -1
  69. data/test/functional/work_accounts_controller_test.rb +93 -0
  70. data/test/functional/works_controller_test.rb +6 -2
  71. data/test/integration/user_system_test.rb +1 -1
  72. data/test/performance/test.rb +4 -1
  73. data/test/unit/configuration_test.rb +10 -0
  74. data/test/unit/customer_test.rb +10 -0
  75. data/test/unit/estimate_test.rb +1 -1
  76. data/test/unit/group_test.rb +1 -1
  77. data/test/unit/period_test.rb +1 -1
  78. data/test/unit/task_file_test.rb +1 -1
  79. data/test/unit/task_test.rb +1 -1
  80. data/test/unit/work_account_test.rb +10 -0
  81. data/test/unit/work_test.rb +1 -1
  82. data/vendor/plugins/goldspike/lib/java_library.rb +5 -11
  83. data/vendor/plugins/goldspike/lib/run.rb +1 -2
  84. data/vendor/plugins/goldspike/lib/war_config.rb +7 -10
  85. metadata +50 -3
  86. data/app/views/tasks/_description_list.rhtml +0 -5
@@ -86,7 +86,6 @@ class CreateGroups < ActiveRecord::Migration
86
86
  class Group < Party
87
87
  class_table_inheritance
88
88
  has_and_belongs_to_many :users, :class_name => 'CreateGroups::User'
89
- # has_many :users, :through => :groups_users, :class_name => 'CreateGroups::User'
90
89
  end
91
90
 
92
91
  class Backlog < ActiveRecord::Base
@@ -0,0 +1,113 @@
1
+ require 'change_column_null_migration_fix'
2
+
3
+ class CreateWorkAccounts < ActiveRecord::Migration
4
+ def self.up
5
+ create_table :work_accounts do |t|
6
+ t.column :name, :string, :limit => 64, :null => false
7
+ t.column :track_times, :boolean
8
+ t.column :invoice_code, :string, :size => 16
9
+ end
10
+
11
+ create_table :customers do |t|
12
+ t.column :name, :string, :limit => 64, :null => false
13
+ end
14
+
15
+ add_column :backlogs, :work_account_id, :integer
16
+ add_column :tasks, :work_account_id, :integer
17
+ add_column :works, :work_account_id, :integer
18
+ add_column :backlogs, :customer_id, :integer
19
+ add_column :tasks, :customer_id, :integer
20
+ add_column :works, :customer_id, :integer
21
+ add_column :works, :description, :string
22
+ change_column_null :works, :task_id, :integer, true
23
+
24
+ load_classes
25
+
26
+ Backlog.find(:all, :conditions => 'invoice_code IS NOT NULL').each do |backlog|
27
+ work_account = WorkAccount.find_by_invoice_code(backlog.invoice_code)
28
+ if work_account.nil?
29
+ puts "Creating new work account: #{backlog.name}"
30
+ work_account = WorkAccount.create!(:name => backlog.name, :invoice_code => backlog.invoice_code, :track_times => backlog.track_times)
31
+ end
32
+ if backlog.work_account.nil?
33
+ backlog.work_account = work_account
34
+ puts "Updating backlog with work account: #{work_account.name}"
35
+ backlog.save!
36
+ end
37
+ backlog.tasks.each do |task|
38
+ task.works.each do |work|
39
+ if work.work_account.nil?
40
+ puts "Updating work with work account: #{work_account.name}"
41
+ work.work_account = work_account
42
+ work.save!
43
+ end
44
+ end
45
+ end
46
+ end
47
+
48
+ change_column :works, :work_account_id, :integer, :null => false
49
+
50
+ Task.find(:all, :conditions => 'customer IS NOT NULL AND LENGTH(customer) > 0').each do |task|
51
+ customer = Customer.find_by_name(task.attributes['customer'])
52
+ if customer.nil?
53
+ puts "Creating new customer: #{task.attributes['customer']}"
54
+ customer = Customer.create!(:name => task.attributes['customer'])
55
+ end
56
+ if task.customer.nil?
57
+ task.customer = customer
58
+ puts "Updating task with customer: #{customer.name}"
59
+ task.save!
60
+ end
61
+ task.works.each do |work|
62
+ if work.customer.nil?
63
+ puts "Updating work with customer: #{customer.name}"
64
+ work.customer = customer
65
+ work.save!
66
+ end
67
+ end
68
+ end
69
+
70
+ remove_column :backlogs, :invoice_code
71
+ remove_column :backlogs, :track_times
72
+ remove_column :tasks, :customer
73
+
74
+ create_table :configurations do |t|
75
+ t.column :time_keeper, :boolean
76
+ end
77
+
78
+ end
79
+
80
+ def self.down
81
+ raise "Not implemented, yet"
82
+ drop_table :configurations
83
+ drop_table :customers
84
+ drop_table :work_accounts
85
+ end
86
+
87
+ def self.load_classes
88
+ class_eval <<EOF
89
+ class WorkAccount < ActiveRecord::Base
90
+ end
91
+
92
+ class Customer < ActiveRecord::Base
93
+ end
94
+
95
+ class Backlog < ActiveRecord::Base
96
+ belongs_to :work_account
97
+ has_many :tasks
98
+ end
99
+
100
+ class Work < ActiveRecord::Base
101
+ belongs_to :work_account
102
+ end
103
+
104
+ class Task < ActiveRecord::Base
105
+ belongs_to :customer
106
+ has_many :works
107
+ end
108
+
109
+ EOF
110
+
111
+ end
112
+
113
+ end
data/db/schema.rb CHANGED
@@ -2,17 +2,25 @@
2
2
  # migrations feature of ActiveRecord to incrementally modify your database, and
3
3
  # then regenerate this schema definition.
4
4
 
5
- ActiveRecord::Schema.define(:version => 20) do
5
+ ActiveRecord::Schema.define(:version => 21) do
6
6
 
7
7
  create_table "backlogs", :force => true do |t|
8
8
  t.column "name", :string, :limit => 64, :null => false
9
9
  t.column "track_todo", :boolean
10
10
  t.column "track_done", :boolean
11
- t.column "track_times", :boolean
12
11
  t.column "enable_subtasks", :boolean, :default => false, :null => false
13
12
  t.column "enable_customer", :boolean
14
13
  t.column "enable_users", :boolean
15
- t.column "invoice_code", :string
14
+ t.column "work_account_id", :integer
15
+ t.column "customer_id", :integer
16
+ end
17
+
18
+ create_table "configurations", :force => true do |t|
19
+ t.column "time_keeper", :boolean
20
+ end
21
+
22
+ create_table "customers", :force => true do |t|
23
+ t.column "name", :string, :limit => 64, :null => false
16
24
  end
17
25
 
18
26
  create_table "estimates", :force => true do |t|
@@ -61,9 +69,10 @@ ActiveRecord::Schema.define(:version => 20) do
61
69
  t.column "parent_id", :integer
62
70
  t.column "resolution", :string, :limit => 16
63
71
  t.column "previous_task_id", :integer
64
- t.column "customer", :string, :limit => 64
65
72
  t.column "backlog_id", :integer
66
73
  t.column "notes", :text
74
+ t.column "work_account_id", :integer
75
+ t.column "customer_id", :integer
67
76
  end
68
77
 
69
78
  create_table "users", :primary_key => "party_id", :force => true do |t|
@@ -80,15 +89,27 @@ ActiveRecord::Schema.define(:version => 20) do
80
89
  t.column "deleted", :boolean, :default => false
81
90
  end
82
91
 
92
+ create_table "work_accounts", :force => true do |t|
93
+ t.column "name", :string, :limit => 64, :null => false
94
+ t.column "track_times", :boolean
95
+ t.column "invoice_code", :string
96
+ end
97
+
83
98
  create_table "works", :force => true do |t|
84
- t.column "task_id", :integer, :null => false
85
- t.column "hours", :decimal, :precision => 6, :scale => 2, :default => 0.0, :null => false
86
- t.column "completed_at", :datetime
87
- t.column "started_at", :datetime
88
- t.column "user_id", :integer
89
- t.column "invoice", :boolean
99
+ t.column "task_id", :integer
100
+ t.column "hours", :decimal, :precision => 6, :scale => 2, :default => 0.0, :null => false
101
+ t.column "completed_at", :datetime
102
+ t.column "started_at", :datetime
103
+ t.column "user_id", :integer
104
+ t.column "invoice", :boolean
105
+ t.column "work_account_id", :integer
106
+ t.column "customer_id", :integer
107
+ t.column "description", :string
90
108
  end
91
109
 
110
+ add_foreign_key "backlogs", ["work_account_id"], "work_accounts", ["id"], :name => "backlogs_work_account_id_fkey"
111
+ add_foreign_key "backlogs", ["customer_id"], "customers", ["id"], :name => "backlogs_customer_id_fkey"
112
+
92
113
  add_foreign_key "estimates", ["task_id"], "tasks", ["id"], :name => "estimates_task_id_fkey"
93
114
  add_foreign_key "estimates", ["user_id"], "users", ["party_id"], :name => "estimates_user_id_fkey"
94
115
 
@@ -105,10 +126,14 @@ ActiveRecord::Schema.define(:version => 20) do
105
126
  add_foreign_key "tasks", ["parent_id"], "tasks", ["id"], :name => "tasks_parent_id_fkey"
106
127
  add_foreign_key "tasks", ["previous_task_id"], "tasks", ["id"], :name => "tasks_previous_task_id_fkey"
107
128
  add_foreign_key "tasks", ["backlog_id"], "backlogs", ["id"], :name => "tasks_backlog_id_fkey"
129
+ add_foreign_key "tasks", ["work_account_id"], "work_accounts", ["id"], :name => "tasks_work_account_id_fkey"
130
+ add_foreign_key "tasks", ["customer_id"], "customers", ["id"], :name => "tasks_customer_id_fkey"
108
131
 
109
132
  add_foreign_key "users", ["party_id"], "parties", ["id"], :name => "users_party_id_fkey"
110
133
 
111
134
  add_foreign_key "works", ["task_id"], "tasks", ["id"], :name => "works_task_id_fkey"
112
135
  add_foreign_key "works", ["user_id"], "users", ["party_id"], :name => "works_user_id_fkey"
136
+ add_foreign_key "works", ["customer_id"], "customers", ["id"], :name => "works_customer_id_fkey"
137
+ add_foreign_key "works", ["work_account_id"], "work_accounts", ["id"], :name => "works_work_account_id_fkey"
113
138
 
114
139
  end
data/lang/en.yaml CHANGED
@@ -2,6 +2,7 @@ file_charset: utf-8
2
2
 
3
3
  abort: Abort
4
4
  aborted: Aborted
5
+ account: Account
5
6
  active: Active
6
7
  administration: Administration
7
8
  assigned_to: Assigned to
@@ -19,6 +20,7 @@ confirmation: Are you sure?
19
20
  customer: Customer
20
21
  daily_work_sheet: Daily work sheet
21
22
  delete: Delete
23
+ description: Description
22
24
  done: Done
23
25
  down: Down
24
26
  edit: Edit
@@ -104,3 +106,4 @@ wednesday: Wednesday
104
106
  week: Week
105
107
  weekly_work_sheet: Weekly work sheet
106
108
  work: Work
109
+ work_account: Work Account
data/lang/no.yaml CHANGED
@@ -2,6 +2,7 @@ file_charset: utf-8
2
2
 
3
3
  abort: Avbryt
4
4
  aborted: Avbrutt
5
+ account: Konto
5
6
  active: Aktiv
6
7
  administration: Administrasjon
7
8
  assigned_to: Tilordnet
@@ -19,6 +20,7 @@ confirmation: Er du sikker?
19
20
  customer: Kunde
20
21
  daily_work_sheet: Timeføringsskjema
21
22
  delete: Slett
23
+ description: Beskrivelse
22
24
  done: Utført
23
25
  down: Ned
24
26
  edit: Rediger
@@ -103,3 +105,4 @@ wednesday: Onsdag
103
105
  week: Uke
104
106
  weekly_work_sheet: Timeoversikt for uke
105
107
  work: Arbeid
108
+ work_account: Timeføringskonto
@@ -0,0 +1,13 @@
1
+ class ActiveRecord::Migration
2
+ def self.change_column_null(table_name, column_name, column_type, null, default = nil) #:nodoc:
3
+ unless null || default.nil?
4
+ execute("UPDATE #{table_name} SET #{column_name}=#{quote(default)} WHERE #{column_name} IS NULL")
5
+ end
6
+ if ActiveRecord::Base.connection.adapter_name.downcase == "postgresql"
7
+ execute("ALTER TABLE #{table_name} ALTER #{column_name} #{null ? 'DROP' : 'SET'} NOT NULL")
8
+ elsif ActiveRecord::Base.connection.adapter_name.downcase == "mysql"
9
+ execute("ALTER TABLE #{table_name} MODIFY COLUMN #{column_name} #{column_type} #{null ? 'NULL' : 'NOT NULL'}")
10
+ end
11
+ end
12
+
13
+ end
File without changes
@@ -0,0 +1 @@
1
+ rails.port=3000
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project-private xmlns="http://www.netbeans.org/ns/project-private/1">
3
+ <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
4
+ </project-private>
@@ -0,0 +1,95 @@
1
+ (in /home/uwe/workspace/intern/backlog)
2
+ rake announce # Generate email announcement file and post to rubyforge.
3
+ rake audit # Run ZenTest against the package
4
+ rake check_manifest # Verify the manifest
5
+ rake clean # Clean up all the extras
6
+ rake clobber_docs # Remove rdoc products
7
+ rake clobber_package # Remove package products
8
+ rake config_hoe # Create a fresh ~/.hoerc file
9
+ rake db:backup:set_sequences # Set postgresql sequence currval to highest id for each table
10
+ rake db:backup:write # Dump entire db.
11
+ rake db:fixtures:load # Load fixtures into the current environment's database. Load specific fixtures using FIXTURES=x,y
12
+ rake db:migrate # Migrate the database through scripts in db/migrate. Target specific version with VERSION=x
13
+ rake db:schema:dump # Create a db/schema.rb file that can be portably used against any DB supported by AR
14
+ rake db:schema:load # Load a schema.rb file into the database
15
+ rake db:sessions:clear # Clear the sessions table
16
+ rake db:sessions:create # Creates a sessions table for use with CGI::Session::ActiveRecordStore
17
+ rake db:structure:dump # Dump the database structure to a SQL file
18
+ rake db:test:clone # Recreate the test database from the current environment's database schema
19
+ rake db:test:clone_structure # Recreate the test databases from the development structure
20
+ rake db:test:prepare # Prepare the test database and load the schema
21
+ rake db:test:purge # Empty the test database
22
+ rake debug_gem # Show information about the gem.
23
+ rake default # Run the default tasks
24
+ rake deploy # Push the latest revision into production (delegates to remote:deploy)
25
+ rake doc:app # Build the app HTML Files
26
+ rake doc:clobber_app # Remove rdoc products
27
+ rake doc:clobber_plugins # Remove plugin documentation
28
+ rake doc:clobber_rails # Remove rdoc products
29
+ rake doc:plugins # Generate documation for all installed plugins
30
+ rake doc:rails # Build the rails HTML Files
31
+ rake doc:reapp # Force a rebuild of the RDOC files
32
+ rake doc:rerails # Force a rebuild of the RDOC files
33
+ rake docs # Build the docs HTML Files
34
+ rake email # Generate email announcement file.
35
+ rake gem # Build the gem file backlog-0.10.9.gem
36
+ rake generate_key # Generate a key for signing your gems.
37
+ rake install # Install the package. Uses PREFIX and RUBYLIB
38
+ rake install_gem # Install the package as a gem
39
+ rake log:clear # Truncates all *.log files in log/ to zero bytes
40
+ rake multi # Run the test suite using multiruby
41
+ rake package # Build all the packages
42
+ rake post_blog # Post announcement to blog.
43
+ rake post_news # Post announcement to rubyforge.
44
+ rake publish_docs # Publish RDoc to RubyForge
45
+ rake rails:freeze:edge # Lock to latest Edge Rails or a specific revision with REVISION=X (ex: REVISION=4021) or a tag with TAG=Y (ex: TAG=rel_1-1-0)
46
+ rake rails:freeze:gems # Lock this application to the current gems (by unpacking them into vendor/rails)
47
+ rake rails:unfreeze # Unlock this application from freeze of gems or edge and return to a fluid use of system gems
48
+ rake rails:update # Update both configs, scripts and public/javascripts from Rails
49
+ rake rails:update:configs # Update config/boot.rb from your current rails install
50
+ rake rails:update:javascripts # Update your javascripts from your current rails install
51
+ rake rails:update:scripts # Add new scripts to the application script/ directory
52
+ rake redocs # Force a rebuild of the RDOC files
53
+ rake release # Package and upload the release to rubyforge.
54
+ rake remote:cleanup # Removes unused releases from the releases directory.
55
+ rake remote:cold_deploy # Used only for deploying when the spinner isn't running.
56
+ rake remote:deploy # A macro-task that updates the code, fixes the symlink, and restarts the application servers.
57
+ rake remote:deploy_with_migrations # Similar to deploy, but it runs the migrate task on the new release before updating the symlink.
58
+ rake remote:diff_from_last_deploy # Displays the diff between HEAD and what was last deployed.
59
+ rake remote:disable_web # Disable the web server by writing a "maintenance.html" file to the web servers.
60
+ rake remote:enable_web # Re-enable the web server by deleting any "maintenance.html" file.
61
+ rake remote:exec # Execute a specific action using capistrano
62
+ rake remote:invoke # A simple task for performing one-off commands that may not require a full task to be written for them.
63
+ rake remote:migrate # Run the migrate rake task.
64
+ rake remote:restart # Restart the FCGI processes on the app server.
65
+ rake remote:rollback # A macro-task that rolls back the code and restarts the application servers.
66
+ rake remote:rollback_code # Rollback the latest checked-out version to the previous one by fixing the symlinks and deleting the current release from all servers.
67
+ rake remote:setup # Set up the expected application directory structure on all boxes
68
+ rake remote:show_tasks # Enumerate and describe every available task.
69
+ rake remote:spinner # Start the spinner daemon for the application (requires script/spin).
70
+ rake remote:symlink # Update the 'current' symlink to point to the latest version of the application's code.
71
+ rake remote:update_code # Update all servers with the latest release of the source code.
72
+ rake remote:update_current # Update the currently released version of the software directly via an SCM update operation
73
+ rake repackage # Force a rebuild of the package files
74
+ rake ridocs # Generate ri locally for testing
75
+ rake rollback # Rollback to the release before the current release in production (delegates to remote:rollback)
76
+ rake stats # Report code statistics (KLOCs, etc) from the application
77
+ rake test # Test all units and functionals / Run the test suite. Use FILTER to add to the command line.
78
+ rake test:functionals # Run the functional tests in test/functional
79
+ rake test:integration # Run the integration tests in test/integration
80
+ rake test:plugins # Run the plugin tests in vendor/plugins/**/test (or specify with PLUGIN=name)
81
+ rake test:recent # Test recent changes
82
+ rake test:uncommitted # Test changes since last checkin (only Subversion)
83
+ rake test:units # Run the unit tests in test/unit
84
+ rake test_deps # Show which test files fail when run alone.
85
+ rake tmp:cache:clear # Clears all files and directories in tmp/cache
86
+ rake tmp:clear # Clear session, cache, and socket files from tmp/
87
+ rake tmp:create # Creates tmp directories for sessions, cache, and sockets
88
+ rake tmp:pids:clear # Clears all files in tmp/pids
89
+ rake tmp:sessions:clear # Clears all files in tmp/sessions
90
+ rake tmp:sockets:clear # Clears all files in tmp/sockets
91
+ rake tmp:war:clear # Clears all files used in the creation of a war
92
+ rake uninstall # Uninstall the package.
93
+ rake war:shared:create # Create a war for use on a Java server where JRuby is available
94
+ rake war:standalone:create # Create a self-contained Java war
95
+ rake war:standalone:run # Run the webapp in Jetty
@@ -0,0 +1,4 @@
1
+ javac.classpath=
2
+ rails.port=3000
3
+ ruby.includejava=false
4
+ source.encoding=UTF-8
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns="http://www.netbeans.org/ns/project/1">
3
+ <type>org.netbeans.modules.ruby.railsprojects</type>
4
+ <configuration>
5
+ <data xmlns="http://www.netbeans.org/ns/rails-project/1">
6
+ <name>backlog</name>
7
+ </data>
8
+ </configuration>
9
+ </project>
Binary file
@@ -0,0 +1,74 @@
1
+ body { background-color: #fff; color: #333; }
2
+
3
+ body, p, ol, ul, td {
4
+ font-family: verdana, arial, helvetica, sans-serif;
5
+ font-size: 13px;
6
+ line-height: 18px;
7
+ }
8
+
9
+ pre {
10
+ background-color: #eee;
11
+ padding: 10px;
12
+ font-size: 11px;
13
+ }
14
+
15
+ a { color: #000; }
16
+ a:visited { color: #666; }
17
+ a:hover { color: #fff; background-color:#000; }
18
+
19
+ .fieldWithErrors {
20
+ padding: 2px;
21
+ background-color: red;
22
+ display: table;
23
+ }
24
+
25
+ #errorExplanation {
26
+ width: 400px;
27
+ border: 2px solid red;
28
+ padding: 7px;
29
+ padding-bottom: 12px;
30
+ margin-bottom: 20px;
31
+ background-color: #f0f0f0;
32
+ }
33
+
34
+ #errorExplanation h2 {
35
+ text-align: left;
36
+ font-weight: bold;
37
+ padding: 5px 5px 5px 15px;
38
+ font-size: 12px;
39
+ margin: -7px;
40
+ background-color: #c00;
41
+ color: #fff;
42
+ }
43
+
44
+ #errorExplanation p {
45
+ color: #333;
46
+ margin-bottom: 0;
47
+ padding: 5px;
48
+ }
49
+
50
+ #errorExplanation ul li {
51
+ font-size: 12px;
52
+ list-style: square;
53
+ }
54
+
55
+ div.uploadStatus {
56
+ margin: 5px;
57
+ }
58
+
59
+ div.progressBar {
60
+ margin: 5px;
61
+ }
62
+
63
+ div.progressBar div.border {
64
+ background-color: #fff;
65
+ border: 1px solid grey;
66
+ width: 100%;
67
+ }
68
+
69
+ div.progressBar div.background {
70
+ background-color: #333;
71
+ height: 18px;
72
+ width: 0%;
73
+ }
74
+