marty 0.5.15 → 0.5.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +27 -0
- data/.rspec +3 -0
- data/.travis.yml +23 -0
- data/Gemfile +23 -0
- data/INDEPENDENCE_ISSUES.md +23 -0
- data/app/assets/images/marty/.gitkeep +0 -0
- data/app/components/marty/report_form.rb +9 -4
- data/gemini_deprecations.md +6 -0
- data/lib/marty/data_change.rb +99 -0
- data/lib/marty/data_conversion.rb +11 -3
- data/lib/marty/data_exporter.rb +9 -0
- data/lib/marty/version.rb +1 -1
- data/marty.gemspec +35 -0
- data/script/rails +8 -0
- data/spec/controllers/application_controller_spec.rb +52 -0
- data/spec/controllers/job_controller_spec.rb +226 -0
- data/spec/controllers/rpc_controller_spec.rb +379 -0
- data/spec/controllers/rpc_import_spec.rb +45 -0
- data/spec/dummy/README.rdoc +261 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +15 -0
- data/spec/dummy/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/controllers/components_controller.rb +7 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/mailers/.gitkeep +0 -0
- data/spec/dummy/app/models/.gitkeep +0 -0
- data/spec/dummy/app/models/gemini/amortization_type.rb +5 -0
- data/spec/dummy/app/models/gemini/bud_category.rb +7 -0
- data/spec/dummy/app/models/gemini/entity.rb +2 -0
- data/spec/dummy/app/models/gemini/extras/data_import.rb +5 -0
- data/spec/dummy/app/models/gemini/extras/settlement_import.rb +28 -0
- data/spec/dummy/app/models/gemini/fannie_bup.rb +29 -0
- data/spec/dummy/app/models/gemini/grouping.rb +8 -0
- data/spec/dummy/app/models/gemini/grouping_head_version.rb +14 -0
- data/spec/dummy/app/models/gemini/head.rb +7 -0
- data/spec/dummy/app/models/gemini/head_version.rb +14 -0
- data/spec/dummy/app/models/gemini/helper.rb +44 -0
- data/spec/dummy/app/models/gemini/loan_program.rb +11 -0
- data/spec/dummy/app/models/gemini/mortgage_type.rb +5 -0
- data/spec/dummy/app/models/gemini/simple.rb +6 -0
- data/spec/dummy/app/models/gemini/streamline_type.rb +16 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +82 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml.example +10 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +35 -0
- data/spec/dummy/config/environments/production.rb +69 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/delayed_job.rb +5 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +12 -0
- data/spec/dummy/db/migrate/20140801000000_create_groupings.rb +11 -0
- data/spec/dummy/db/migrate/20150406171536_create_categories.rb +27 -0
- data/spec/dummy/db/migrate/20150408200916_create_loan_programs.rb +26 -0
- data/spec/dummy/db/migrate/20150408201429_create_types.rb +21 -0
- data/spec/dummy/db/migrate/20150420000001_create_heads.rb +14 -0
- data/spec/dummy/db/migrate/20150420000002_create_head_versions.rb +15 -0
- data/spec/dummy/db/migrate/20150420000003_create_grouping_head_versions.rb +12 -0
- data/spec/dummy/db/migrate/20151023000001_create_simple.rb +12 -0
- data/spec/dummy/db/seeds.rb +8 -0
- data/spec/dummy/delorean/blame_report.dl +171 -0
- data/spec/dummy/delorean/data_report.dl +105 -0
- data/spec/dummy/delorean/fields.dl +52 -0
- data/spec/dummy/delorean/styles.dl +134 -0
- data/spec/dummy/lib/assets/.gitkeep +0 -0
- data/spec/dummy/lib/class_list.rb +3 -0
- data/spec/dummy/log/.gitkeep +0 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/public/icons/READ.txt +3 -0
- data/spec/dummy/public/icons/application_cascade.png +0 -0
- data/spec/dummy/public/icons/application_delete.png +0 -0
- data/spec/dummy/public/icons/application_put.png +0 -0
- data/spec/dummy/public/icons/application_view_detail.png +0 -0
- data/spec/dummy/public/icons/arrow_in.png +0 -0
- data/spec/dummy/public/icons/arrow_refresh.png +0 -0
- data/spec/dummy/public/icons/database_save.png +0 -0
- data/spec/dummy/public/icons/door_in.png +0 -0
- data/spec/dummy/public/icons/door_out.png +0 -0
- data/spec/dummy/public/icons/group.png +0 -0
- data/spec/dummy/public/icons/page_lightning.png +0 -0
- data/spec/dummy/public/icons/printer.png +0 -0
- data/spec/dummy/public/icons/report_disk.png +0 -0
- data/spec/dummy/public/icons/report_go.png +0 -0
- data/spec/dummy/public/icons/report_magnify.png +0 -0
- data/spec/dummy/public/icons/script.png +0 -0
- data/spec/dummy/public/icons/script_add.png +0 -0
- data/spec/dummy/public/icons/script_go.png +0 -0
- data/spec/dummy/public/icons/script_key.png +0 -0
- data/spec/dummy/public/icons/table_go.png +0 -0
- data/spec/dummy/public/icons/time.png +0 -0
- data/spec/dummy/public/icons/time_add.png +0 -0
- data/spec/dummy/public/icons/time_go.png +0 -0
- data/spec/dummy/public/icons/timeline_marker.png +0 -0
- data/spec/dummy/public/icons/user_add.png +0 -0
- data/spec/dummy/public/icons/user_delete.png +0 -0
- data/spec/dummy/public/icons/user_edit.png +0 -0
- data/spec/dummy/public/icons/wrench.png +0 -0
- data/spec/dummy/script/delayed_job +6 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/features/javascripts/job_dashboard_live_search.js.coffee +8 -0
- data/spec/features/javascripts/login.js.coffee +8 -0
- data/spec/features/jobs_dashboard_netzke_spec.rb +24 -0
- data/spec/features/jobs_dashboard_spec.rb +49 -0
- data/spec/fixtures/scripts/load_tests/script1.dl +2 -0
- data/spec/fixtures/scripts/load_tests/script2.dl +2 -0
- data/spec/job_helper.rb +102 -0
- data/spec/lib/data_exporter_spec.rb +71 -0
- data/spec/lib/data_importer_spec.rb +461 -0
- data/spec/lib/xl_spec.rb +198 -0
- data/spec/lib/xl_styles_spec.rb +115 -0
- data/spec/models/api_auth_spec.rb +187 -0
- data/spec/models/posting_spec.rb +107 -0
- data/spec/models/promise_spec.rb +65 -0
- data/spec/models/script_spec.rb +187 -0
- data/spec/models/user_spec.rb +68 -0
- data/spec/requests/routes_spec.rb +12 -0
- data/spec/spec_helper.rb +61 -0
- data/spec/support/clean_db_helpers.rb +18 -0
- data/spec/support/delayed_job_helpers.rb +12 -0
- data/spec/support/user_helpers.rb +12 -0
- metadata +139 -89
- data/app/components/marty/auth_app.rb~ +0 -51
- data/app/components/marty/auth_app/javascripts/auth_app.js~ +0 -91
- data/app/components/marty/cm_form_panel.rb~ +0 -5
- data/app/components/marty/cm_grid_panel.rb~ +0 -35
- data/app/components/marty/data_import_view.rb~ +0 -142
- data/app/components/marty/extras/layout.rb~ +0 -46
- data/app/components/marty/live_search_grid_panel.rb~ +0 -49
- data/app/components/marty/main_auth_app.rb~ +0 -238
- data/app/components/marty/mcfly_grid_panel.rb~ +0 -80
- data/app/components/marty/new_posting_form.rb~ +0 -46
- data/app/components/marty/new_posting_window.rb~ +0 -21
- data/app/components/marty/pivot_grid.rb +0 -52
- data/app/components/marty/pivot_grid/endpoints.rb +0 -45
- data/app/components/marty/pivot_grid/javascripts/extensions.js +0 -150
- data/app/components/marty/pivot_grid/javascripts/pivot_grid.js +0 -86
- data/app/components/marty/pivot_grid/services.rb +0 -44
- data/app/components/marty/posting_grid.rb~ +0 -140
- data/app/components/marty/promise_view.rb~ +0 -157
- data/app/components/marty/promise_view/stylesheets/promise_view.css~ +0 -15
- data/app/components/marty/report_form.rb~ +0 -217
- data/app/components/marty/report_select.rb~ +0 -133
- data/app/components/marty/reporting.rb~ +0 -39
- data/app/components/marty/script_detail.rb~ +0 -430
- data/app/components/marty/script_form.rb~ +0 -233
- data/app/components/marty/script_form/javascripts/Ext.ux.form.field.CodeMirror.js~ +0 -909
- data/app/components/marty/script_grid.rb~ +0 -99
- data/app/components/marty/script_tester.rb~ +0 -213
- data/app/components/marty/scripting.rb~ +0 -124
- data/app/components/marty/select_report.rb~ +0 -143
- data/app/components/marty/simple_app.rb~ +0 -101
- data/app/components/marty/tag_grid.rb~ +0 -89
- data/app/components/marty/tree_panel.rb~ +0 -256
- data/app/components/marty/tree_panel/javascripts/tree_panel.js~ +0 -317
- data/app/components/marty/user_pivot.rb +0 -128
- data/app/components/marty/user_view.rb~ +0 -188
- data/app/controllers/marty/application_controller.rb~ +0 -133
- data/app/controllers/marty/components_controller.rb~ +0 -37
- data/app/controllers/marty/job_controller.rb~ +0 -28
- data/app/controllers/marty/rpc_controller.rb~ +0 -61
- data/app/helpers/marty/script_set.rb~ +0 -59
- data/app/models/marty/api_auth.rb~ +0 -48
- data/app/models/marty/data_change.rb~ +0 -141
- data/app/models/marty/enum.rb~ +0 -16
- data/app/models/marty/import_type.rb~ +0 -48
- data/app/models/marty/poop.rb~ +0 -169
- data/app/models/marty/posting.rb~ +0 -86
- data/app/models/marty/posting_type.rb~ +0 -21
- data/app/models/marty/promise.rb~ +0 -196
- data/app/models/marty/role.rb~ +0 -10
- data/app/models/marty/script.rb~ +0 -62
- data/app/models/marty/tag.rb~ +0 -91
- data/app/models/marty/user.rb~ +0 -148
- data/app/models/marty/user_role.rb~ +0 -13
- data/app/views/layouts/marty/application.html.erb~ +0 -11
- data/config/routes.rb~ +0 -10
- data/db/migrate/019_create_marty_postings.rb~ +0 -19
- data/db/migrate/095_create_marty_tags.rb~ +0 -19
- data/lib/marty.rb~ +0 -13
- data/lib/marty/content_handler.rb~ +0 -93
- data/lib/marty/data_exporter.rb~ +0 -137
- data/lib/marty/data_importer.rb~ +0 -114
- data/lib/marty/data_row_processor.rb~ +0 -206
- data/lib/marty/drop_folder_hook.rb~ +0 -17
- data/lib/marty/folder_hook.rb~ +0 -9
- data/lib/marty/lazy_column_loader.rb~ +0 -47
- data/lib/marty/mcfly_query.rb~ +0 -188
- data/lib/marty/migrations.rb~ +0 -65
- data/lib/marty/monkey.rb~ +0 -160
- data/lib/marty/permissions.rb~ +0 -69
- data/lib/marty/promise.rb~ +0 -41
- data/lib/marty/promise_job.rb~ +0 -121
- data/lib/marty/promise_proxy.rb~ +0 -69
- data/lib/marty/util.rb~ +0 -80
- data/lib/marty/version.rb~ +0 -3
- data/lib/marty/xl.rb~ +0 -526
- data/lib/pyxll/README.txt~ +0 -16
- data/lib/pyxll/gemini.py~ +0 -110
- data/lib/pyxll/pyxll.cfg~ +0 -12
@@ -0,0 +1,105 @@
|
|
1
|
+
import Fields
|
2
|
+
|
3
|
+
######################################################################
|
4
|
+
|
5
|
+
TableReport:
|
6
|
+
pt_name =? nil
|
7
|
+
posting = Marty::Posting.lookup(pt_name)
|
8
|
+
pt = posting.created_dt
|
9
|
+
module_name =? nil
|
10
|
+
class_name =? nil
|
11
|
+
title =? (class_name || "Table Report") + (
|
12
|
+
if pt_name then "_" + pt_name else "")
|
13
|
+
sort_field =? nil
|
14
|
+
|
15
|
+
result_raw = Marty::DataChange.do_export(
|
16
|
+
pt,
|
17
|
+
if module_name then module_name + '::' + class_name else class_name,
|
18
|
+
sort_field,
|
19
|
+
)
|
20
|
+
row_count = result_raw.length
|
21
|
+
result = Gemini::Helper.to_csv(result_raw)
|
22
|
+
form = [
|
23
|
+
Fields::PostingField,
|
24
|
+
Fields::ClassField,
|
25
|
+
]
|
26
|
+
format = "csv"
|
27
|
+
|
28
|
+
#####################################################################
|
29
|
+
|
30
|
+
EnumReport:
|
31
|
+
title = "Gemini Enumerations"
|
32
|
+
format = "csv"
|
33
|
+
form = []
|
34
|
+
classes = [
|
35
|
+
"AmortizationType",
|
36
|
+
"ArmIndexType",
|
37
|
+
"AutomatedUnderwritingSystemType",
|
38
|
+
"ExtraFeatureType",
|
39
|
+
"LoanPurposeType",
|
40
|
+
"LockType",
|
41
|
+
"MortgageType",
|
42
|
+
"PrepaymentPenaltyOptionType",
|
43
|
+
"ProjectLegalStructureType",
|
44
|
+
"PropertyUsageType",
|
45
|
+
"RefinanceCashOutDeterminationType",
|
46
|
+
"RuleType",
|
47
|
+
"StreamlineType",
|
48
|
+
]
|
49
|
+
|
50
|
+
res = [
|
51
|
+
[c] +
|
52
|
+
Marty::DataChange.do_export('infinity', "Gemini::%s" % c)[1,100] +
|
53
|
+
[""]
|
54
|
+
for c in classes
|
55
|
+
].flatten(1)
|
56
|
+
|
57
|
+
result = res
|
58
|
+
|
59
|
+
#####################################################################
|
60
|
+
|
61
|
+
DataImportParam: Fields::CsvField
|
62
|
+
field_label = "Import Text"
|
63
|
+
name = "data_import_field"
|
64
|
+
height = 600
|
65
|
+
|
66
|
+
ImportTypeField:
|
67
|
+
field_label = "Import Type"
|
68
|
+
name = "import_type"
|
69
|
+
xtype = ":combo"
|
70
|
+
store = [imp.name for imp in Marty::ImportType.get_all].sort
|
71
|
+
value = store[0]
|
72
|
+
|
73
|
+
CommaSepField:
|
74
|
+
xtype = ":checkboxfield"
|
75
|
+
name = "comma_sep"
|
76
|
+
field_label = "Comma Separated"
|
77
|
+
checked = false
|
78
|
+
|
79
|
+
DataImportReport:
|
80
|
+
roles = ["price_manager", "rule_manager"]
|
81
|
+
import_type =? nil
|
82
|
+
comma_sep =? nil
|
83
|
+
|
84
|
+
title = if import_type
|
85
|
+
then "Data Import - " + import_type
|
86
|
+
else "Data Import Job"
|
87
|
+
|
88
|
+
data_import_field =?
|
89
|
+
|
90
|
+
import_type_rec = Marty::ImportType.lookup(import_type) ||
|
91
|
+
ERR("NULL ImportType", import_type)
|
92
|
+
|
93
|
+
result = Gemini::Helper.import_data(
|
94
|
+
import_type_rec,
|
95
|
+
data_import_field,
|
96
|
+
if comma_sep then "," else nil
|
97
|
+
)
|
98
|
+
|
99
|
+
form = [
|
100
|
+
ImportTypeField,
|
101
|
+
DataImportParam,
|
102
|
+
CommaSepField,
|
103
|
+
]
|
104
|
+
|
105
|
+
format = "csv"
|
@@ -0,0 +1,52 @@
|
|
1
|
+
PostingField:
|
2
|
+
field_label = "Posting"
|
3
|
+
xtype = ":combo"
|
4
|
+
name = "pt_name"
|
5
|
+
store = [lp.name for lp in Marty::Posting.get_latest(10)]
|
6
|
+
value = store[0]
|
7
|
+
|
8
|
+
######################################################################
|
9
|
+
|
10
|
+
PostingField1: PostingField
|
11
|
+
field_label = "Posting 1"
|
12
|
+
name = "pt_name1"
|
13
|
+
|
14
|
+
PostingField2: PostingField
|
15
|
+
field_label = "Posting 2"
|
16
|
+
name = "pt_name2"
|
17
|
+
|
18
|
+
######################################################################
|
19
|
+
|
20
|
+
ClassListField:
|
21
|
+
field_label = "Tables"
|
22
|
+
xtype = ":multiselectcombo"
|
23
|
+
name = "class_list"
|
24
|
+
store = Marty::DataChange.class_list
|
25
|
+
|
26
|
+
ClassField: ClassListField
|
27
|
+
xtype = ":combo"
|
28
|
+
name = "class_name"
|
29
|
+
store = Marty::DataChange.class_list
|
30
|
+
|
31
|
+
######################################################################
|
32
|
+
|
33
|
+
JsonField:
|
34
|
+
xtype = ":textareafield"
|
35
|
+
name = "json_field"
|
36
|
+
field_label = "JSON"
|
37
|
+
auto_scroll = true
|
38
|
+
spellcheck = false
|
39
|
+
field_style = {
|
40
|
+
"font_family": 'courier new',
|
41
|
+
"font_size": '12px'
|
42
|
+
}
|
43
|
+
height = 400
|
44
|
+
|
45
|
+
CsvField: JsonField
|
46
|
+
field_label = "CSV"
|
47
|
+
name = "csv_field"
|
48
|
+
|
49
|
+
TextField:
|
50
|
+
xtype = ":textfield"
|
51
|
+
field_label = "Text"
|
52
|
+
name = "text_field"
|
@@ -0,0 +1,134 @@
|
|
1
|
+
Style:
|
2
|
+
digit_0 = {"format_code" : "0"}
|
3
|
+
digit_1 = {"format_code" : "0.0"}
|
4
|
+
digit_2 = {"format_code" : "0.00"}
|
5
|
+
digit_3 = {"format_code" : "0.000"}
|
6
|
+
digit_4 = {"format_code" : "0.0000"}
|
7
|
+
date = {"format_code" : "mm/dd/yy"}
|
8
|
+
timestamp = {"format_code" : "m/d/yy h:mm AM/PM"}
|
9
|
+
datetime = {"format_code" : "yyyy-mm-dd h:mm:ss"}
|
10
|
+
dollars = {"format_code" : "$#,###"}
|
11
|
+
dollars_cent = {"format_code" : "$#,###.##"}
|
12
|
+
|
13
|
+
bg_gray = {"bg_color": "C5D9F1"}
|
14
|
+
bg_lightgreen = {"bg_color": "99CC00"}
|
15
|
+
bg_tan = {"bg_color": "FFCC66"}
|
16
|
+
bg_redish = {"bg_color": "EF5959"}
|
17
|
+
bg_lightgray = {"bg_color": "F1F5F5"}
|
18
|
+
|
19
|
+
quoted = {"quote_prefix": true}
|
20
|
+
|
21
|
+
gray_digit_3 = bg_gray + digit_3
|
22
|
+
|
23
|
+
bg_penny = {
|
24
|
+
"bg_color": "0D056F",
|
25
|
+
"fg_color": "FFFFFF",
|
26
|
+
}
|
27
|
+
|
28
|
+
bg_highlight = {
|
29
|
+
"bg_color": "FFFF00",
|
30
|
+
"fg_color": "0D056F",
|
31
|
+
}
|
32
|
+
|
33
|
+
bold = {"b": true}
|
34
|
+
|
35
|
+
penny_bold = bold + bg_penny
|
36
|
+
|
37
|
+
align_center = {
|
38
|
+
"alignment": {
|
39
|
+
"horizontal": ":center",
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
align_left = {
|
44
|
+
"alignment": {
|
45
|
+
"horizontal": ":left",
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
align_right = {
|
50
|
+
"alignment": {
|
51
|
+
"horizontal": ":right",
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
calibri = {"font_name": "Calibri"}
|
56
|
+
sz_14 = {"sz": 14}
|
57
|
+
sz_12 = {"sz": 12}
|
58
|
+
sz_10 = {"sz": 10}
|
59
|
+
|
60
|
+
h_hdr = bold + bg_highlight + align_center + calibri + sz_14
|
61
|
+
m_hdr = penny_bold + align_center + calibri + sz_14
|
62
|
+
s_hdr = penny_bold + align_left + calibri + sz_12
|
63
|
+
s_hdr_dt = s_hdr + datetime
|
64
|
+
s_hdr_date = s_hdr + date
|
65
|
+
g_bold = bg_gray + bold
|
66
|
+
|
67
|
+
border_thin = {
|
68
|
+
"style" : ":thin",
|
69
|
+
"color" : "000000",
|
70
|
+
}
|
71
|
+
|
72
|
+
#####################################################################
|
73
|
+
|
74
|
+
m_hdr_style0 = {"style": m_hdr}
|
75
|
+
m_hdr_style1 = {"style": [m_hdr]}
|
76
|
+
|
77
|
+
s_hdr_style2 = {"style": [s_hdr]*2}
|
78
|
+
s_hdr_style3 = {"style": [s_hdr]*3}
|
79
|
+
|
80
|
+
HeatMapFmt:
|
81
|
+
color_scale = [
|
82
|
+
{"type":":min", "val":0, "color":"FF63BE7B"},
|
83
|
+
{"type":":percent", "val":"50", "color":"FFFFEB84"},
|
84
|
+
{"type":":max", "val":0, "color":"FFF8696B"}
|
85
|
+
]
|
86
|
+
|
87
|
+
cfmt = {
|
88
|
+
"type": ":colorScale",
|
89
|
+
"priority": 1,
|
90
|
+
"color_scale": color_scale,
|
91
|
+
}
|
92
|
+
|
93
|
+
ThresholdFmt:
|
94
|
+
winner =? 0
|
95
|
+
thresh_cell =? '$B$1'
|
96
|
+
|
97
|
+
cfmt = {
|
98
|
+
"type": ":expression",
|
99
|
+
"priority": 1,
|
100
|
+
"dxfId" : {
|
101
|
+
"fg_color": "FFF8696B",
|
102
|
+
"type": ":dxf",
|
103
|
+
"b": true,
|
104
|
+
},
|
105
|
+
"formula": 'ABS(INDIRECT("RC", FALSE))>'+thresh_cell,
|
106
|
+
}
|
107
|
+
|
108
|
+
cfmtnot0 = {
|
109
|
+
"type" : ":cellIs",
|
110
|
+
"operator" : ":notEqual",
|
111
|
+
"formula" : "0",
|
112
|
+
"dxfId" : {
|
113
|
+
"fg_color": "FFF8696B",
|
114
|
+
"type": ":dxf",
|
115
|
+
"b": true,
|
116
|
+
},
|
117
|
+
"priority" : 1,
|
118
|
+
}
|
119
|
+
|
120
|
+
cfmtequal = {
|
121
|
+
"type" : ":cellIs",
|
122
|
+
"operator" : ":equal",
|
123
|
+
"formula" : winner.to_s,
|
124
|
+
"dxfId" :
|
125
|
+
{
|
126
|
+
"fg_color": "FFF8696B",
|
127
|
+
"type": ":dxf",
|
128
|
+
"b": true,
|
129
|
+
},
|
130
|
+
"priority" : 1,
|
131
|
+
}
|
132
|
+
|
133
|
+
Row:
|
134
|
+
blank = ["row", []]
|
File without changes
|
File without changes
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The page you were looking for doesn't exist (404)</title>
|
5
|
+
<style type="text/css">
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
7
|
+
div.dialog {
|
8
|
+
width: 25em;
|
9
|
+
padding: 0 4em;
|
10
|
+
margin: 4em auto 0 auto;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-right-color: #999;
|
13
|
+
border-bottom-color: #999;
|
14
|
+
}
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<!-- This file lives in public/404.html -->
|
21
|
+
<div class="dialog">
|
22
|
+
<h1>The page you were looking for doesn't exist.</h1>
|
23
|
+
<p>You may have mistyped the address or the page may have moved.</p>
|
24
|
+
</div>
|
25
|
+
</body>
|
26
|
+
</html>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The change you wanted was rejected (422)</title>
|
5
|
+
<style type="text/css">
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
7
|
+
div.dialog {
|
8
|
+
width: 25em;
|
9
|
+
padding: 0 4em;
|
10
|
+
margin: 4em auto 0 auto;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-right-color: #999;
|
13
|
+
border-bottom-color: #999;
|
14
|
+
}
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<!-- This file lives in public/422.html -->
|
21
|
+
<div class="dialog">
|
22
|
+
<h1>The change you wanted was rejected.</h1>
|
23
|
+
<p>Maybe you tried to change something you didn't have access to.</p>
|
24
|
+
</div>
|
25
|
+
</body>
|
26
|
+
</html>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>We're sorry, but something went wrong (500)</title>
|
5
|
+
<style type="text/css">
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
7
|
+
div.dialog {
|
8
|
+
width: 25em;
|
9
|
+
padding: 0 4em;
|
10
|
+
margin: 4em auto 0 auto;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-right-color: #999;
|
13
|
+
border-bottom-color: #999;
|
14
|
+
}
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<!-- This file lives in public/500.html -->
|
21
|
+
<div class="dialog">
|
22
|
+
<h1>We're sorry, but something went wrong.</h1>
|
23
|
+
</div>
|
24
|
+
</body>
|
25
|
+
</html>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|