Compare commits

...

2046 Commits

Author SHA1 Message Date
Shiny
53eb171dfc Merge pull request #1317 from Growstuff/dev
release 22
2017-04-17 05:00:59 +00:00
deppbot
b0b6931678 Bundle Update on 2017-04-17 2017-04-17 03:45:39 +00:00
Daniel O'Connor
d515dba7f2 Merge pull request #1316 from Br3nda/garden-thumbnail
Garden thumbnail display cleanup
2017-04-16 15:50:52 +09:30
Shiny
4958330c9e Merge branch 'master' into dev 2017-04-16 02:42:38 +00:00
Brenda Wallace
17236a4a8a Garden thumbnail display cleanup 2017-04-16 13:48:22 +12:00
Daniel O'Connor
3ccab3f857 Merge pull request #1309 from Br3nda/fix_1305
Fix 1305
2017-04-15 17:11:02 +09:30
Daniel O'Connor
0201e873eb Merge branch 'dev' into fix_1305 2017-04-15 17:03:15 +09:30
Daniel O'Connor
20289e6566 Merge pull request #1310 from Br3nda/counter-caches
Adding counter caches
2017-04-15 17:01:20 +09:30
Shiny
85ded414ec Merge branch 'dev' into fix_1305 2017-04-15 06:50:16 +00:00
Shiny
299c95c5f5 Merge branch 'dev' into counter-caches 2017-04-14 07:40:19 +00:00
Taylor Griffin
8f51090098 make mentionbot settings file 2017-04-14 07:40:01 +00:00
deppbot
5551eeba24 Bundle Update on 2017-04-14 2017-04-14 07:10:10 +00:00
Shiny
7a5a68f511 Merge branch 'dev' into counter-caches 2017-04-14 01:44:44 +00:00
Shiny
6d4ec9ad34 Merge branch 'dev' into fix_1305 2017-04-14 01:44:35 +00:00
Brenda Wallace
fffef75813 Ignore ConsecutiveComments and IdNames in haml for now 2017-04-14 01:43:42 +00:00
Brenda Wallace
0e2d7b4393 Allow instance variables in partials for now 2017-04-14 01:43:42 +00:00
Brenda Wallace
f08068c289 Upgrade haml_lint 2017-04-14 01:43:42 +00:00
deppbot
ff653934ad Bundle Update on 2017-04-08 2017-04-14 01:43:42 +00:00
Brenda Wallace
c4bed2cf4d Merge branch 'haml-lint-fix' into counter-caches 2017-04-14 11:42:02 +12:00
Brenda Wallace
47c0f74f81 Ignore ConsecutiveComments and IdNames in haml for now 2017-04-14 11:40:52 +12:00
Brenda Wallace
171e34914b Allow instance variables in partials for now 2017-04-14 11:40:46 +12:00
Brenda Wallace
8010a8b56c Upgrade haml_lint 2017-04-14 11:40:40 +12:00
Brenda Wallace
ac165ce0cd Adding counter caches 2017-04-14 11:32:31 +12:00
Brenda Wallace
4925fde28f Ignore ConsecutiveComments and IdNames in haml for now 2017-04-14 09:43:16 +12:00
Brenda Wallace
6580cf38b0 Allow instance variables in partials for now 2017-04-13 23:02:16 +12:00
Brenda Wallace
fdf10202ba Upgrade haml_lint 2017-04-13 22:56:07 +12:00
Brenda Wallace
85a368999b we love rubocop 2017-04-13 14:30:51 +12:00
Daniel O'Connor
6ba4b4560e Fix #1305 by adding aggregation
Expand test coverage
member_id is owner_id on plantings
Argue with ActionView::Template::Error about what we can group on

Rename variable
2017-04-13 14:30:41 +12:00
Cesy
71aedb136a Merge pull request #1300 from Growstuff/bundle-update-2017-04-02-131809
Bundle Update on 2017-04-02
2017-04-08 15:06:16 +01:00
Shiny
65c988790b Merge branch 'dev' into bundle-update-2017-04-02-131809 2017-04-06 08:04:46 +12:00
Brenda Wallace
0372d3b9b0 Removing pre-commit.sh script 2017-04-06 08:04:09 +12:00
Shiny
3272ea1ca5 Merge branch 'dev' into bundle-update-2017-04-02-131809 2017-04-06 07:51:19 +12:00
Shiny
39b461c348 Merge pull request #1243 from Growstuff/dev
Release 21
2017-04-06 07:49:08 +12:00
pozorvlak
a8f7031447 Merge pull request #1303 from Br3nda/disable-eslint
Disable eslint

Fixes #1302, at least temporarily.
2017-04-05 11:15:10 +01:00
Shiny
17967b7c72 Merge branch 'dev' into disable-eslint 2017-04-04 09:07:02 +12:00
Brenda Wallace
e422c8b072 Disable eslint 2017-04-03 21:05:35 +00:00
Cesy
5392d7d900 Merge branch 'dev' into bundle-update-2017-04-02-131809 2017-04-03 08:47:32 +01:00
Cesy
d42bbe7fa3 Merge pull request #1299 from Br3nda/gemfile-ruby-bump
Gemfile.lock bumping ruby version to match other files
2017-04-03 08:46:19 +01:00
deppbot
45f2abeab5 Bundle Update on 2017-04-02 2017-04-02 13:18:11 +08:00
Brenda Wallace
7e754b8293 Gemfile.lock bumping ruby version to match other files 2017-04-01 15:19:18 +13:00
pozorvlak
1dcd84009a Merge pull request #1298 from CloCkWeRX/ruby_234
Ruby 2.3.4
2017-03-31 14:07:36 +01:00
Daniel O'Connor
8615df264e Ruby 2.3.4 2017-03-31 16:29:21 +10:00
Daniel O'Connor
4e400cc899 Merge pull request #1295 from Growstuff/bundle-update-2017-03-30-121732
Bundle Update on 2017-03-30
2017-03-31 16:27:43 +10:00
Daniel O'Connor
3cead5fb6b Pin to earlier rubocop 2017-03-31 16:15:55 +10:00
Shiny
1decf6ea11 Merge branch 'dev' into bundle-update-2017-03-30-121732 2017-03-30 21:37:57 +13:00
Harry Brodsky
23c0f901c6 Add name to CONTRIBUTORS.md 2017-03-30 19:15:48 +13:00
Harry Brodsky
78f4b3dbf3 Update irregular crop pluralizations 2017-03-30 19:15:48 +13:00
deppbot
9340b8d7e5 Bundle Update on 2017-03-30 2017-03-30 12:17:33 +08:00
pozorvlak
0094473bbe Merge pull request #1287 from Br3nda/bw/readme-new-contributors
Readme update for new contributors - force-merging because it only touches README.md.
2017-03-28 23:56:37 +01:00
pozorvlak
743f482818 Merge pull request #1292 from Br3nda/query-optimising
Query optimising
2017-03-28 23:55:05 +01:00
Brenda Wallace
b8ea6116d4 Add photos to plantings to make them interesting in the spec 2017-03-29 10:46:15 +13:00
Brenda Wallace
2521e52d71 Remove test called to Planting.interesting(...)
Interesting plantings with no photos is not used in the code.
The method was converted to a scope.
2017-03-29 08:28:58 +13:00
Brenda Wallace
d44f9ef4e9 Removed assignment of useless variable 2017-03-29 08:21:34 +13:00
Brenda Wallace
63cee1edc9 Back to reading @garden.plantings 2017-03-29 08:21:02 +13:00
Brenda Wallace
3791b34fe3 One planting per owner (used for intersetingness) 2017-03-28 22:39:03 +13:00
Brenda Wallace
5d58be110e Fixed crop.interesting, no more duplicate crops 2017-03-28 19:33:34 +13:00
Brenda Wallace
911593b480 Reduces query numbes on gardens#show 2017-03-24 21:10:45 +13:00
Shiny
b72a3d6942 Merge branch 'dev' into query-optimising 2017-03-24 18:31:18 +13:00
Brenda Wallace
804ac8662a Rubocop fix ups 2017-03-24 17:29:39 +13:00
Brenda Wallace
1601e966ad Planting.interesting is in a scope 2017-03-24 16:59:09 +13:00
Brenda Wallace
e7553868f2 Removed variables on homes controller
following the comment there
2017-03-24 16:57:51 +13:00
Brenda Wallace
5e8ca392d2 Moved Member.interest near top of file 2017-03-24 16:45:55 +13:00
Brenda Wallace
815915d933 Loading child records of interesting crops 2017-03-24 16:45:36 +13:00
Brenda Wallace
6223076dae Pull in interesting members data in controller 2017-03-24 16:30:56 +13:00
Brenda Wallace
0182a99654 Optimising Member.interesting 2017-03-24 16:28:37 +13:00
Brenda Wallace
5baa357bb3 Use bullet to find queries to optomise 2017-03-24 16:07:05 +13:00
deppbot
0fb4d74685 Bundle Update on 2017-03-24 2017-03-24 09:24:40 +13:00
Daniel O'Connor
eebaef6fde Merge branch 'dev' into bw/readme-new-contributors 2017-03-21 14:03:22 +10:30
Daniel O'Connor
59fc550f3c Merge pull request #1290 from Growstuff/bundle-update-2017-03-19-161121
Bundle Update on 2017-03-19
2017-03-20 14:15:06 +10:30
Shiny
64ffaab1ec Merge branch 'dev' into bundle-update-2017-03-19-161121 2017-03-20 10:01:48 +13:00
Cesy
21f53e362f Merge pull request #1279 from Br3nda/plantings-harvests
View harvests for a planting
2017-03-19 09:46:57 +00:00
deppbot
20cfa0c5b2 Bundle Update on 2017-03-19 2017-03-19 16:11:22 +08:00
Shiny
204633d533 Merge branch 'dev' into bw/readme-new-contributors 2017-03-18 14:21:43 +13:00
Shiny
c77ed8c6d0 Merge branch 'dev' into plantings-harvests 2017-03-17 08:18:56 +13:00
Shiny
fe7ae18e7b Merge pull request #1285 from Growstuff/add-contributor-megan
Added Megan to contributors
2017-03-17 08:13:03 +13:00
Shiny
8746cc67e2 Merge branch 'dev' into plantings-harvests 2017-03-17 08:11:33 +13:00
Shiny
f1feb59818 Merge branch 'dev' into add-contributor-megan 2017-03-17 08:10:32 +13:00
Shiny
bb62b11070 Merge branch 'dev' into bw/readme-new-contributors 2017-03-16 21:15:30 +13:00
deppbot
1660d54c01 Bundle Update on 2017-03-16 2017-03-16 21:15:11 +13:00
Shiny
cb7715b6d9 Merge branch 'dev' into bw/readme-new-contributors 2017-03-16 15:35:22 +13:00
Shiny
a60d0faedd Merge branch 'dev' into add-contributor-megan 2017-03-16 15:35:15 +13:00
Shiny
7f592579cd Merge branch 'dev' into plantings-harvests 2017-03-16 15:35:06 +13:00
Brenda Wallace
998befb30f Limited plantings to member's own garden, and approved crops 2017-03-16 15:29:25 +13:00
Shiny
ebbf6df87d Merge branch 'dev' into plantings-harvests 2017-03-16 14:59:54 +13:00
Shiny
40e4f8df8a Merge branch 'dev' into add-contributor-megan 2017-03-16 14:59:26 +13:00
Brenda Wallace
81d41398a2 Link to waffle from readme 2017-03-16 14:55:30 +13:00
Brenda Wallace
4f02f45ae8 Updated wiki link 2017-03-16 14:55:22 +13:00
Arun Kumar
f7ec1826b0 Use presence instead of regex validation 2017-03-16 13:27:13 +13:00
Shiny
d619cd160d Added Megan to contributors 2017-03-16 13:04:31 +13:00
Daniel O'Connor
4a20f68d3a Merge branch 'dev' into plantings-harvests 2017-03-16 09:40:56 +10:30
Daniel O'Connor
62d2b5e9fb Merge pull request #1273 from Br3nda/yaml-cleanup
Yaml file clean up
2017-03-16 09:39:33 +10:30
Daniel O'Connor
5935d2e73f Merge pull request #1276 from Br3nda/bw/install-linters
Install npm modules locally
2017-03-16 09:38:54 +10:30
Daniel O'Connor
92b8972b24 Merge pull request #1278 from Br3nda/bw/crop-model-dupe
Reduced duplication of the term "approved" in crop model
2017-03-16 09:37:24 +10:30
Daniel O'Connor
12254fe0ca Merge pull request #1275 from Br3nda/bw/discourse-removal
Removing references to Discourse (talk.growstuff.org)
2017-03-16 09:36:29 +10:30
Daniel O'Connor
ea54fca2b2 Merge pull request #1282 from Br3nda/gardens-order
Gardens order
2017-03-16 09:35:17 +10:30
Daniel O'Connor
d7db9007fd Merge pull request #1280 from Br3nda/public-error-pages
Update public error pages
2017-03-16 09:32:52 +10:30
Daniel O'Connor
c2acb8cf73 Merge pull request #1274 from Br3nda/fix-traxis-badge
Tie travis badge to a branch
2017-03-16 09:30:27 +10:30
Shiny
8d04d4b223 Merge branch 'dev' into plantings-harvests 2017-03-15 23:10:15 +13:00
Shiny
35d9c8e9f1 Merge branch 'dev' into bw/crop-model-dupe 2017-03-15 23:09:31 +13:00
Shiny
b23118a9db Merge branch 'dev' into public-error-pages 2017-03-15 23:09:21 +13:00
Shiny
5585dbada1 Merge branch 'dev' into gardens-order 2017-03-15 23:09:09 +13:00
Thomas Countz
fa49234669 remove "add new garden" on other member's page (#1283)
* update garden#show view logic
* added name to contributors
Closes #1167
2017-03-15 23:06:32 +13:00
Shiny
8833571ab3 Merge branch 'dev' into bw/discourse-removal 2017-03-14 16:21:44 +13:00
Shiny
a54e66f2fd Merge branch 'dev' into bw/install-linters 2017-03-12 22:56:11 +13:00
Shiny
7913f85cf4 Merge branch 'dev' into yaml-cleanup 2017-03-12 22:55:11 +13:00
Shiny
bf46c0a6d2 Merge branch 'dev' into bw/crop-model-dupe 2017-03-12 22:54:32 +13:00
Shiny
082bdb035f Merge branch 'dev' into plantings-harvests 2017-03-12 22:54:17 +13:00
Shiny
15bedb1659 Merge branch 'dev' into public-error-pages 2017-03-12 22:54:03 +13:00
Shiny
5995812215 Merge branch 'dev' into gardens-order 2017-03-12 22:53:34 +13:00
Brenda Wallace
195d1bbdbb order gardens by recently updated 2017-03-12 20:12:28 +13:00
deppbot
55e0579384 Bundle Update on 2017-03-12 2017-03-12 18:50:42 +13:00
Megan Talbot
d167a427b9 Update public error pages
Author:    Megan Talbot <meganftalbot@gmail.com>
Date:      Wed Mar 1 15:55:30 2017 -0700
2017-03-12 14:46:40 +13:00
Brenda Wallace
c89c20e842 View harvests for a planting 2017-03-12 14:44:11 +13:00
Shiny
ad04a48c8f Merge branch 'dev' into bw/discourse-removal 2017-03-12 13:56:04 +13:00
Shiny
d3a47b3dc6 Merge branch 'dev' into fix-traxis-badge 2017-03-12 12:49:22 +13:00
Brenda Wallace
02de30f617 Reduced duplication of the term "approved" in crop model 2017-03-12 12:31:38 +13:00
Shiny
a4360a0fa5 Merge branch 'dev' into yaml-cleanup 2017-03-12 11:44:21 +13:00
Brenda Wallace
39d4dec294 Npm sourced linters in package.json 2017-03-12 11:26:50 +13:00
Brenda Wallace
4c189b4d56 Lock haml_lint to 0.20.0 and update other gems 2017-03-12 10:53:55 +13:00
Brenda Wallace
8267b7d16d Removing references to Discource (talk.growstuff.org)
and adding one link to github issues.
2017-03-12 10:51:25 +13:00
Brenda Wallace
bf9f86d516 Tie travis badge to a branch
Instead of showing the most recent buid (on any branch),
show the dev branch.
2017-03-12 10:42:17 +13:00
Brenda Wallace
a93c4e9fb8 Yaml file clean up 2017-03-12 10:38:39 +13:00
deppbot
3243716d13 Bundle Update on 2017-03-06 2017-03-08 10:41:52 +13:00
Cesy
685418507b Merge pull request #1266 from Br3nda/spec-fixups
bugfix in some spec expectations
2017-03-05 08:32:09 +00:00
Shiny
418c5fdcd0 Merge branch 'dev' into spec-fixups 2017-03-05 21:11:06 +13:00
Brenda Wallace
322f28eaa6 bugfix in some spec expectations 2017-03-05 00:36:10 +13:00
Cesy
7a06ab0b61 Merge pull request #1264 from Br3nda/js-clean
Added missing semicolons to js files
2017-03-04 11:07:19 +00:00
Shiny
a5dda8ab9b Merge branch 'dev' into js-clean 2017-03-04 23:58:04 +13:00
Cesy
54b5c139f3 Merge pull request #1263 from Br3nda/bundle-audit-update
Bundle audit needs updating in test runs
2017-03-04 10:34:39 +00:00
Shiny
864990dc8a Merge branch 'dev' into js-clean 2017-03-04 17:09:01 +13:00
Brenda Wallace
1e0ccd72a2 Added missing semicolons to js files 2017-03-04 17:06:29 +13:00
Shiny
513a8924d8 Merge branch 'dev' into bundle-audit-update 2017-03-04 16:52:19 +13:00
Brenda Wallace
478d68ee25 Bundle audit needs updating 2017-03-04 16:45:43 +13:00
deppbot
175780aa06 Bundle Update on 2017-03-03 2017-03-04 16:33:18 +13:00
Miles Gould
c9558be2d3 Add deppbot to CONTRIBUTORS.md
This prevents deppbot-generated pull requests from failing the "are you
in CONTRIBUTORS.md?" check in CI.
2017-03-04 16:16:28 +13:00
Miles Gould
f1d3a70bbd Install git-guilt linter 2017-03-03 14:25:03 +13:00
Miles Gould
d3dd6f88f2 Fix typo in CONTRIBUTING.md 2017-03-03 14:25:03 +13:00
Brenda Wallace
882d641683 Photo changes expire homepage too 2017-03-03 08:49:24 +13:00
pozorvlak
a53f6073a6 Merge pull request #1253 from Br3nda/rubocop-progress
Rubocop progress
2017-03-02 17:45:39 +00:00
pozorvlak
7c7020f50a Merge branch 'dev' into rubocop-progress 2017-03-02 14:31:39 +00:00
pozorvlak
41b3c0f4fc Merge pull request #1254 from Br3nda/bw/unneeded-percent-q
Rubocop fix for unneeded %Q
2017-03-02 14:29:05 +00:00
pozorvlak
314087321c Merge branch 'dev' into bw/unneeded-percent-q 2017-03-02 13:41:01 +00:00
pozorvlak
c67067acaf Merge pull request #1247 from Br3nda/overcommit
Run the linters etc from overcommit
2017-03-02 13:11:19 +00:00
Shiny
d23be43c2f Merge branch 'dev' into overcommit 2017-03-02 22:24:18 +13:00
Brenda Wallace
6c282ffbd7 rubocop fix for redundant self assignment 2017-03-02 22:21:15 +13:00
Brenda Wallace
0ecc65bbe0 rubocop fix for redundant self 2017-03-02 22:21:15 +13:00
Brenda Wallace
076da040b5 Revert "Intentionally making rubocop fail"
This reverts commit 17858cc17c.
2017-03-02 21:53:20 +13:00
Brenda Wallace
17858cc17c Intentionally making rubocop fail 2017-03-02 21:50:48 +13:00
Brenda Wallace
66fec1f4a3 Adding yaml linter 2017-03-02 21:32:53 +13:00
Brenda Wallace
69848f11ca Docs on using overcommit 2017-03-02 21:22:22 +13:00
Brenda Wallace
affbe2a460 renamed ruby files to .rb
so rubocop cop catches these in her net
2017-03-02 21:13:35 +13:00
Brenda Wallace
cc40bb35fb bundle exec on the contributor check 2017-03-02 21:04:21 +13:00
Shiny
542cc1f546 Merge branch 'dev' into bw/unneeded-percent-q 2017-03-02 21:02:28 +13:00
Brenda Wallace
0d2fb25881 Removed gemfile check. overcommit can do this 2017-03-02 20:59:45 +13:00
Brenda Wallace
29f050d19f Removed check_conflicts. overcommit does this 2017-03-02 20:48:21 +13:00
Brenda Wallace
2238374080 Moved overcommit call into check_static 2017-03-02 20:47:18 +13:00
Brenda Wallace
cad8ecad8f Added bundle-audit 2017-03-02 20:40:25 +13:00
Brenda Wallace
d161053328 Always create db - so we can check rails schema is up to date 2017-03-02 20:19:22 +13:00
Brenda Wallace
dbb74c5675 Moved phantom verion output to script 2017-03-02 20:10:47 +13:00
Brenda Wallace
6422070f04 Moved linter installs to own script 2017-03-02 20:06:47 +13:00
Brenda Wallace
b6512ce8e4 RailsSchemaUpToDate and BundleAudit added to overcommit 2017-03-02 20:00:46 +13:00
Brenda Wallace
a3e0bc0798 Rubocop fix for Gemfile 2017-03-02 19:59:59 +13:00
Brenda Wallace
5ec70d1438 Moved merge conflict checking to overcommit 2017-03-02 19:54:18 +13:00
Brenda Wallace
e848e18574 Removed commented out overcommit linters 2017-03-02 19:49:49 +13:00
Brenda Wallace
cfff970812 Revert "Intentionally making rubocop unhappy"
This reverts commit 6e3f5f9d77fb4b3b81265665adea1e1b416469fe.
2017-03-01 20:48:15 +00:00
Brenda Wallace
0db8c2feb2 Intentionally making rubocop unhappy
to test travis
2017-03-01 20:48:15 +00:00
Brenda Wallace
7e06bf4fd0 Wrap shell script variables in "" 2017-03-01 20:48:15 +00:00
Brenda Wallace
dd710860de Run the linters etc from overcommit 2017-03-01 20:48:15 +00:00
pozorvlak
4718a9edab Merge pull request #1256 from Br3nda/numeric
Rubocop fix for some numerics
2017-03-01 13:31:10 +00:00
Brenda Wallace
8c5db9229a fixed forced octal 2017-03-01 17:49:42 +13:00
Brenda Wallace
e229438997 rubocop fox for numeric literals 2017-03-01 17:46:12 +13:00
Brenda Wallace
85a4490740 Rubocop fix for unneeded %Q 2017-03-01 17:35:06 +13:00
Brenda Wallace
9684e84420 Moved metrics to bottom of rubocop.yml
Waiting to be completed
2017-03-01 11:38:16 +13:00
Brenda Wallace
4364c028a2 Removed offense counts 2017-03-01 11:36:40 +13:00
Brenda Wallace
4e44e26c6c Removed rubocop todos that are done 2017-03-01 11:24:26 +13:00
Daniel O'Connor
b07c033863 Merge pull request #1249 from Growstuff/bundle-update-2017-02-28-091217
Bundle Update on 2017-02-28
2017-02-28 11:59:57 +10:30
deppbot
f167f5cbd4 Bundle Update on 2017-02-28 2017-02-28 09:12:18 +08:00
pozorvlak
7a1b192392 Merge pull request #1238 from CloCkWeRX/bundle-update-2017-02-23-1
Upgrade rails, other gems
2017-02-27 15:18:43 +00:00
pozorvlak
642f371416 Merge branch 'dev' into bundle-update-2017-02-23-1 2017-02-27 15:01:14 +00:00
pozorvlak
f4e2b6e115 Merge pull request #1244 from Br3nda/photos-controller
DRY the photos controller
2017-02-27 11:26:14 +00:00
Daniel O'Connor
1873d28b50 Merge branch 'dev' into bundle-update-2017-02-23-1 2017-02-27 16:08:50 +10:30
Brenda Wallace
ce03b4efde DRY the photos controller 2017-02-26 17:03:29 +13:00
Shiny
102c113b0c Merge branch 'master' into dev 2017-02-25 22:56:23 +13:00
Shiny
245cd2e44c Merge branch 'dev' into bundle-update-2017-02-23-1 2017-02-25 22:56:01 +13:00
Cesy
f28456875b Merge pull request #1242 from Br3nda/schema-update
Schema is out of sync -- fixing
2017-02-24 21:15:12 +00:00
Brenda Wallace
9604eed2f3 Schema is out of sync -- fixing 2017-02-24 20:19:01 +13:00
Brenda Wallace
4eda3a506b Fix up csv importer, should make duplicates
Now matches the old functionality.
2017-02-24 20:08:01 +13:00
Daniel O'Connor
14f3dc7526 Add explaining notes 2017-02-23 14:34:38 +10:30
Daniel O'Connor
f2d3c88c85 Revert "Upgrade to the 4.x series of d3-rails"
This reverts commit 5bd7d9aa43.
2017-02-23 14:33:33 +10:30
Daniel O'Connor
f4e0efc8da Update autoprefixer-rails 2017-02-23 14:32:47 +10:30
Daniel O'Connor
13bfdeaa1a Pin Kaminari for the moment, until https://github.com/kaminari/kaminari/blob/master/CHANGELOG.md#100 assessed 2017-02-23 14:31:47 +10:30
Daniel O'Connor
e2fb7c940f Upgrade js-routes 2017-02-23 14:30:10 +10:30
Daniel O'Connor
5bd7d9aa43 Upgrade to the 4.x series of d3-rails 2017-02-23 14:28:19 +10:30
Daniel O'Connor
117c717391 Upgrade capybara, codeclimate-test-reporter 2017-02-23 14:25:51 +10:30
Daniel O'Connor
72603a2db0 Pin to specific omniauth versions for the moment, to avoid login test regression 2017-02-23 14:24:29 +10:30
Daniel O'Connor
9f8cfa8de3 Update sexp_processor, ruby-units 2017-02-23 14:23:01 +10:30
Daniel O'Connor
221dd45681 Upgrade to d3 3.5 “Mount Sharp” 2017-02-23 14:19:33 +10:30
Daniel O'Connor
fb2a600433 Pin d3-rails for the moment 2017-02-23 14:18:31 +10:30
Daniel O'Connor
296f8dddfa Update selenium-webdriver, haml_lint, jasmine 2017-02-23 14:15:27 +10:30
Daniel O'Connor
da16a38d1f Upgrade rails 2017-02-23 14:12:27 +10:30
Brenda Wallace
5abc1fb80e duplicate alt name spec (and adding to crop) 2017-02-23 15:35:29 +13:00
Brenda Wallace
86d5f5febd sciname/altnames adding code is very similar 2017-02-23 15:35:29 +13:00
Brenda Wallace
0a840abc58 Added specs for duplicate sci names 2017-02-23 15:35:29 +13:00
Brenda Wallace
968e9bd3ad Rubocop fix up in spec 2017-02-23 15:35:29 +13:00
Brenda Wallace
ddd0e0c285 Fixed typo in string causing spec to fail 2017-02-23 15:35:29 +13:00
Brenda Wallace
00952d5ef6 Updating more specs for new csv importer interface 2017-02-23 15:35:29 +13:00
Brenda Wallace
a0e1d8b11d Update scientific name model spec 2017-02-23 15:35:29 +13:00
Brenda Wallace
3d7f2ec20c Updating specs to match new csv importer 2017-02-23 15:35:29 +13:00
Brenda Wallace
abbd2cf0a4 fix bug: look up parent crop by name in csv import 2017-02-23 15:35:29 +13:00
Brenda Wallace
2f9961651f Call new csv importer from specs 2017-02-23 15:35:29 +13:00
Brenda Wallace
3089c28233 Adding validations to sci names and alt names 2017-02-23 15:35:29 +13:00
Brenda Wallace
4e722dd123 Move crop csv import to own file 2017-02-23 15:35:29 +13:00
Brenda Wallace
5698a78d9b DRY the accounts controller 2017-02-23 09:45:57 +13:00
Daniel O'Connor
71804a0b41 Merge pull request #1235 from Br3nda/accounttypes-controller-DRY
DRY the account types controller
2017-02-22 11:03:00 +10:30
Brenda Wallace
d500c9093d DRY the account types controller 2017-02-22 13:21:59 +13:00
Shiny
9ff468aa50 Merge pull request #1228 from Growstuff/dev
Release 20
2017-02-22 09:21:01 +13:00
Shiny
4261f16cd0 Merge pull request #1133 from pozorvlak/test_runners
Refactor test-runners
2017-02-21 11:59:09 +13:00
Shiny
b8884beb2f Merge branch 'dev' into test_runners 2017-02-21 11:31:02 +13:00
pozorvlak
bc88c4d8c7 Merge pull request #1231 from Br3nda/seeds-controller
DRY seeds controller
2017-02-20 13:49:29 +00:00
pozorvlak
3ac4fbcdb8 Merge branch 'dev' into seeds-controller 2017-02-20 13:36:50 +00:00
pozorvlak
549426e3e0 Merge pull request #1230 from Br3nda/gardens-controller
DRY the gardens controller
2017-02-20 13:36:40 +00:00
pozorvlak
25a1f0da9a Merge branch 'dev' into gardens-controller 2017-02-20 13:11:18 +00:00
pozorvlak
3be2fc6241 Merge pull request #1229 from Br3nda/harvests-controller
DRY the Harvests controller
2017-02-20 13:11:04 +00:00
pozorvlak
837934167b Merge branch 'dev' into harvests-controller 2017-02-20 13:02:58 +00:00
pozorvlak
d43d8ae0e7 Merge pull request #1217 from Br3nda/MultilineMethodCallBraceLayout
Fix up to match rubocop's MultilineMethodCallBraceLayout recommendation
2017-02-20 12:46:17 +00:00
Brenda Wallace
035b2399ca DRY seeds controller 2017-02-20 20:54:06 +13:00
Brenda Wallace
1a3e976ba5 DRY the gardens controller 2017-02-20 02:36:51 +00:00
Brenda Wallace
d31739f86a Further code clarity on the harvest csv filename 2017-02-20 10:07:14 +13:00
Brenda Wallace
0f523381f0 DRY the harvest controller 2017-02-20 09:58:36 +13:00
Brenda Wallace
550848a513 ParenthesesAroundCondition fixup 2017-02-19 16:20:45 +13:00
Brenda Wallace
ae3752e021 DefWithParentheses fixup 2017-02-19 16:19:16 +13:00
Brenda Wallace
50624fb2cb Style/MultilineBlockLayout fix 2017-02-19 16:17:03 +13:00
Brenda Wallace
818466a142 MethodCallWithoutArgsParentheses fixup 2017-02-19 16:17:03 +13:00
Brenda Wallace
e184503caa Fix up to match rubocop's MultilineMethodCallBraceLayout recommendation 2017-02-19 16:17:03 +13:00
Brenda Wallace
d00f743c47 rubocop fix up on spec 2017-02-17 16:00:11 +13:00
pozorvlak
b19a991106 Merge pull request #1226 from Br3nda/scinames-controller
DRY scientific names controller
2017-02-16 23:00:29 +00:00
pozorvlak
88e019a19f Merge branch 'dev' into scinames-controller 2017-02-16 22:52:07 +00:00
pozorvlak
e954ba801b Merge pull request #1225 from Br3nda/comments-controller
DRY comments controller
2017-02-16 22:51:42 +00:00
Brenda Wallace
be23bfc419 DRY scientific names controller 2017-02-17 10:18:34 +13:00
Shiny
5e984ce04a Merge branch 'dev' into comments-controller 2017-02-17 09:57:29 +13:00
Brenda Wallace
d15eb32133 Added some utf8, kōrero mai (te reo māori) 2017-02-17 09:47:12 +13:00
Brenda Wallace
21f11a4d5d highest MethodLength is now 34 2017-02-17 09:26:30 +13:00
Brenda Wallace
ae398f1a63 Spec checks you can't change post id in comments#update 2017-02-17 09:20:15 +13:00
Brenda Wallace
cd3cee5d5f DRY comments controller and add more spec scenarios 2017-02-17 09:14:01 +13:00
Miles Gould
9030e5b978 Merge branch 'dev' into test_runners 2017-02-16 13:31:39 +00:00
Miles Gould
9d6ac9fd8b LINT ALL THE HAML!
.
.
.
lint *all* the HAML?
2017-02-16 13:30:20 +00:00
pozorvlak
403a8814e1 Merge pull request #1222 from Br3nda/forums-controller
Small clean ups on forums controller
2017-02-16 13:26:38 +00:00
Miles Gould
00c34ef30c Document test-running process in CONTRIBUTING.md 2017-02-16 13:25:59 +00:00
Miles Gould
738c0d4e08 Store spec failures, for rspec --only-failures
The list of failing tests is stored in tmp/examples.txt, which is
already gitignored.
2017-02-16 13:24:50 +00:00
Miles Gould
82e27f8a71 Delete reference to Discussion Forums wiki page
The wiki is dead, that page hasn't been preserved, and most of the
forums it described are dead too. Sic transit gloria mundi.
2017-02-16 13:07:56 +00:00
Miles Gould
fbc203ca0d Make Jasmine tests pass in CI
One test relied on reading the innerHTML attribute of an SVGElement
object; this worked in the browser, but not when run with
`rake jasmine:ci`. I've changed the test to use the `textContent`
attribute instead, which works in both places.
2017-02-16 13:01:40 +00:00
Miles Gould
c83bfc101e Allow console.log in Jasmine tests, for debugging 2017-02-16 13:00:34 +00:00
pozorvlak
22905235c1 Merge branch 'dev' into forums-controller 2017-02-16 12:41:20 +00:00
pozorvlak
4d3b94b7f0 Merge pull request #1216 from Br3nda/more-rubocop
Rubocop fix for MultilineHashBraceLayout
2017-02-16 12:41:10 +00:00
pozorvlak
9e19aae0ca Merge branch 'dev' into forums-controller 2017-02-16 12:33:55 +00:00
pozorvlak
d8c3f7ed34 Merge branch 'dev' into more-rubocop 2017-02-16 12:30:38 +00:00
pozorvlak
28a6cfe25c Merge pull request #1223 from Br3nda/posts-controller
DRY the posts controller
2017-02-16 12:28:47 +00:00
pozorvlak
630d539f7d Merge branch 'dev' into more-rubocop 2017-02-16 12:24:20 +00:00
Brenda Wallace
4704bd89f8 DRY the posts controller 2017-02-16 22:15:30 +13:00
Brenda Wallace
076695d349 Added name presence validation to forum 2017-02-16 21:52:28 +13:00
Brenda Wallace
3925a54340 DRY the forums controller 2017-02-16 21:52:07 +13:00
Brenda Wallace
6c566c56d8 removed unnecesary reloads of @forum 2017-02-16 20:16:13 +13:00
Daniel O'Connor
bcc89674d4 Upgrade to current Hashie 2017-02-16 17:18:44 +13:00
Shiny
e1dab634a2 Merge branch 'dev' into more-rubocop 2017-02-16 13:23:07 +13:00
Daniel O'Connor
e06e002282 Merge pull request #1218 from Br3nda/UnneededInterpolation
Fix up all UnneededInterpolation
2017-02-16 10:29:19 +10:30
Daniel O'Connor
23ed7f91ba Merge pull request #1220 from Br3nda/ReversibleMigration
Marked our one ReversibleMigration as okay
2017-02-16 10:29:02 +10:30
Daniel O'Connor
aa511aedb4 Merge pull request #1219 from Br3nda/TrailingCommas
Removed trailing commas
2017-02-16 10:28:43 +10:30
Brenda Wallace
2b03381a24 Removed trailing commas 2017-02-15 23:33:06 +00:00
Brenda Wallace
6017c4ba23 Marked our one ReversibleMigration as okay 2017-02-16 12:32:37 +13:00
Brenda Wallace
a46b8ebe76 Fix up all UnneededInterpolation 2017-02-16 12:26:47 +13:00
Brenda Wallace
a4f8b3a0e6 Rubocop fix for MultilineHashBraceLayout 2017-02-16 12:20:32 +13:00
Daniel O'Connor
1b8c413b90 Merge pull request #1215 from Br3nda/likeable-dry
Likeable even more dry
2017-02-14 10:27:51 +10:30
Shiny
7a334abf1d Merge branch 'dev' into likeable-dry 2017-02-14 12:40:05 +13:00
pozorvlak
5c067c87b8 Merge pull request #1201 from Br3nda/bw/harvest-planting-link
Linking existing harvests to a planting
2017-02-13 23:02:04 +00:00
Brenda Wallace
87bc1becb0 Reduced repeating code in likes controller 2017-02-14 11:52:20 +13:00
pozorvlak
7c0d6c04df Merge branch 'dev' into bw/harvest-planting-link 2017-02-13 22:39:15 +00:00
pozorvlak
01415fd04f Merge pull request #1214 from Br3nda/authentication-scoping
User can only sign out their own session
2017-02-13 22:38:40 +00:00
pozorvlak
e0def646ce Merge branch 'dev' into authentication-scoping 2017-02-13 22:22:47 +00:00
pozorvlak
a52731dc4b Merge pull request #1198 from Br3nda/bw/grand-haml-cleanup-of-2017
All the haml clean up
2017-02-13 22:20:16 +00:00
Shiny
cd2500c99a Merge branch 'dev' into bw/harvest-planting-link 2017-02-14 00:19:28 +13:00
Shiny
c9a197bc61 Merge branch 'dev' into bw/grand-haml-cleanup-of-2017 2017-02-14 00:18:53 +13:00
Mackenzie Morgan
c5439c8650 use symbols for status codes 2017-02-13 20:56:22 +13:00
Brenda Wallace
6d0a7ebc8f Only show plantings with overlapping date ranges on harvest options 2017-02-13 20:41:43 +13:00
Brenda Wallace
0d1bab04d5 don't load the record again 2017-02-13 20:28:29 +13:00
Brenda Wallace
e6b23262da User can only sign out their own session 2017-02-13 20:08:31 +13:00
Brenda Wallace
06ea3db252 Use .field to format planting options on harvests 2017-02-13 17:30:41 +13:00
Brenda Wallace
8d24ffbffb spec for harvesting from a planting 2017-02-13 17:21:11 +13:00
Brenda Wallace
cce9f513db Linking existing harvests to a planting 2017-02-13 17:21:11 +13:00
Brenda Wallace
c37ba9f041 Use @harvest.planting, instead of @planting 2017-02-13 17:21:11 +13:00
Shiny
f8c56cc217 Merge branch 'dev' into bw/grand-haml-cleanup-of-2017 2017-02-13 17:19:58 +13:00
Daniel O'Connor
d11e6f484a Pin leaflet-rails for the moment, until we fix tests 2017-02-13 17:19:40 +13:00
Daniel O'Connor
9218a03e2b Upgrade only geocoder 2017-02-13 17:19:40 +13:00
Daniel O'Connor
da760a8a4c Revert "Update geocoder, leaflet-rails"
This reverts commit ecd2bb1c01.
2017-02-13 17:19:40 +13:00
Daniel O'Connor
9ccecf0e04 Update i18n-tasks bootstrap_form font-awesome-sass 2017-02-13 17:19:40 +13:00
Daniel O'Connor
5ec105ad19 Upgrade sidekiq 2017-02-13 17:19:40 +13:00
Daniel O'Connor
5c1f5f4312 Update poltergeist 2017-02-13 17:19:40 +13:00
Daniel O'Connor
48d3a64e7b Update cancancan 2017-02-13 17:19:40 +13:00
Daniel O'Connor
decd48a970 Update geocoder, leaflet-rails 2017-02-13 17:19:40 +13:00
Daniel O'Connor
540ac7b034 Update warden 2017-02-13 17:19:40 +13:00
Daniel O'Connor
8112133cf2 Update unicorn 2017-02-13 17:19:40 +13:00
Daniel O'Connor
55f00ed0f8 Update newrelic 2017-02-13 17:19:40 +13:00
Daniel O'Connor
d0999c2f9a Update activemerchant 2017-02-13 17:19:40 +13:00
Daniel O'Connor
47150a8ad8 Update selenium-webdriver 2017-02-13 17:19:40 +13:00
Daniel O'Connor
9301688763 Update guard 2017-02-13 17:19:40 +13:00
Daniel O'Connor
248b89a564 Update elasticsearch 2017-02-13 17:19:40 +13:00
Daniel O'Connor
8e9ffac64e Pin to hashie 3.4.* for https://github.com/intridea/hashie/issues/408 2017-02-13 17:19:40 +13:00
Brenda Wallace
65024d8f83 Moved hash in haml onto one line, for clarity and glory 2017-02-12 20:41:25 +00:00
Shiny
8ab70a1c1c Merge branch 'dev' into bw/grand-haml-cleanup-of-2017 2017-02-13 08:04:41 +13:00
Brenda Wallace
2c871abd03 don't allow owner in params 2017-02-13 07:41:53 +13:00
Brenda Wallace
8b4491d0ab Tabulation on wrapped form_for 2017-02-13 07:38:26 +13:00
Brenda Wallace
93202fc13c haml clean up for devise views 2017-02-13 07:34:41 +13:00
Brenda Wallace
0f520c0928 More haml clean up for home views 2017-02-13 07:34:31 +13:00
Brenda Wallace
21c989989c add missing new line at end of haml file 2017-02-13 07:34:13 +13:00
Brenda Wallace
123c34b6d1 Haml cleanup for layout 2017-02-13 07:33:48 +13:00
Brenda Wallace
f5e786401d fixed typo 2017-02-13 07:32:43 +13:00
Brenda Wallace
6ecb919f34 haml clean ups for members views 2017-02-13 07:32:43 +13:00
Brenda Wallace
c89d1ae94e Haml clean ups for plantings views 2017-02-13 07:32:43 +13:00
Brenda Wallace
9b7a7d3e8f Haml clean up for product views 2017-02-13 07:32:43 +13:00
Brenda Wallace
9ebe830402 Haml clean up for scientific names views 2017-02-13 07:32:43 +13:00
Brenda Wallace
9a0adadc9a Haml clean up for seeds views 2017-02-13 07:32:43 +13:00
Brenda Wallace
92c3976f0a Haml clean up for shared views 2017-02-13 07:32:43 +13:00
Brenda Wallace
01c25df8cf haml-lint all views 2017-02-13 07:32:43 +13:00
pozorvlak
9ae35ca6eb Merge pull request #1200 from Br3nda/bw/planting_slug
Simplified logic in planting.planting_slug
2017-02-12 15:46:22 +00:00
pozorvlak
43f9707c11 Merge branch 'dev' into bw/planting_slug 2017-02-12 15:21:41 +00:00
Mackenzie
4fa423bcab Merge pull request #1205 from Br3nda/dry-notifications
DRY for the notifications controller
2017-02-12 10:21:31 -05:00
Mackenzie
97d0bb6752 Merge pull request #1207 from Br3nda/DRY-plantparts
DRY the plant parts controller
2017-02-12 10:20:30 -05:00
Mackenzie
b9edd2f89b Merge pull request #1203 from Br3nda/access
Added cancan ability for likes (and DRY-ed)
2017-02-12 10:20:03 -05:00
pozorvlak
4bd50ca433 Merge branch 'dev' into bw/planting_slug 2017-02-12 15:19:55 +00:00
pozorvlak
a2dd675717 Merge pull request #1199 from Br3nda/time-zones
Use timezone when creating dates
2017-02-12 15:19:38 +00:00
Brenda Wallace
1275aa0102 DRY the plant parts controller 2017-02-12 22:58:17 +13:00
Brenda Wallace
f40ff18949 You can only reply to messages that were sent to you. 2017-02-12 22:15:50 +13:00
Brenda Wallace
f25d4dbf8c DRY for the notifications controller 2017-02-12 21:52:22 +13:00
Brenda Wallace
4dd99f54db Removed deprecation notice from controller spec 2017-02-12 20:55:06 +13:00
Brenda Wallace
b8e06a1d1d Specs for deleting someone else's like 2017-02-12 20:50:50 +13:00
Brenda Wallace
f7b8113af1 Fixed spec, now requests json response 2017-02-12 20:36:24 +13:00
Brenda Wallace
b0394d1028 checks json returned by likes controller 2017-02-12 17:42:24 +13:00
Brenda Wallace
fa0c00aa9c Named arg (liked_by_member) fixed
cos i was writing python when this is meant to be ruby
2017-02-12 17:37:32 +13:00
Brenda Wallace
a507eb47bf Removed trailing white space 2017-02-12 17:26:34 +13:00
Brenda Wallace
865f323f97 controller specs for likes controller 2017-02-12 15:35:15 +13:00
Brenda Wallace
c82f47bdda Pass the ID from link to likesdestroy 2017-02-12 15:34:28 +13:00
Brenda Wallace
72d0514e75 Further checks in likes controller 2017-02-12 15:33:54 +13:00
Brenda Wallace
dc62365c7d DRY likes controller further 2017-02-12 15:23:58 +13:00
Brenda Wallace
d8d94d178c Moved some of likes#destroy out to new methods 2017-02-12 15:23:58 +13:00
Brenda Wallace
6afb12c157 Split up big methods in like controller 2017-02-12 15:23:58 +13:00
Brenda Wallace
a0be52fdaa likes doesn't have an index 2017-02-12 15:23:58 +13:00
Brenda Wallace
6b8474e01b Checks for cancan ability before allowing like 2017-02-12 15:23:58 +13:00
Shiny
23ae7fcd8c Merge branch 'dev' into time-zones 2017-02-12 12:14:01 +13:00
Shiny
179cfbf6bc Merge branch 'dev' into bw/planting_slug 2017-02-12 12:13:37 +13:00
Mackenzie
b5f82a8fc8 Merge pull request #1202 from Br3nda/code-climate-knows
Simplified alternate names controller.
2017-02-11 11:06:30 -05:00
Brenda Wallace
54c01cbd82 Removing alternate names from rubocop todo 2017-02-11 19:48:16 +13:00
Brenda Wallace
cf9e5a6652 Adding alternate names to admin menu 2017-02-11 19:45:53 +13:00
Brenda Wallace
01c6a6da9f improvements to alternate names controller 2017-02-11 19:45:33 +13:00
Shiny
cc1daf8f6b Join slug with - 2017-02-10 23:54:16 +13:00
Shiny
a0bf815663 Downcase planting slug 2017-02-10 23:52:10 +13:00
Brenda Wallace
ce573c1e55 Simplified logic in planting.planting_slug 2017-02-10 22:41:28 +13:00
Brenda Wallace
be2426c99f Use timezone when creating dates 2017-02-10 21:53:18 +13:00
Shiny
7ca314c2f2 Merge pull request #1191 from Growstuff/dev
Release 19
2017-02-10 09:24:00 +13:00
Mackenzie
36768cf384 Merge pull request #1194 from Br3nda/bw/grand-haml-cleanup-of-2017
More haml clean up
2017-02-08 22:46:34 -05:00
Mackenzie
e35d0455bd Merge pull request #1196 from Br3nda/spammer-begone
stripping html from markdown
2017-02-08 22:43:51 -05:00
Brenda Wallace
c8405830c7 Added strip_tags before processing markdown 2017-02-09 03:29:18 +00:00
Shiny
6bc9f775c2 Merge branch 'dev' into bw/grand-haml-cleanup-of-2017 2017-02-09 10:23:01 +13:00
Mackenzie
a43526776b Merge pull request #1195 from Br3nda/bw/spammer-injection-begone
Truncate, escape, and DRY og:description fields
2017-02-07 16:00:32 -05:00
Brenda Wallace
6f74566d47 Truncate, escape, and DRY og:description fields 2017-02-08 09:49:19 +13:00
Brenda Wallace
82ce6c8222 Haml clean up for seeds views 2017-02-08 08:52:46 +13:00
Brenda Wallace
f96f459595 Moved title logic into application helper
For harvests, plantings, and seeds
2017-02-08 07:25:59 +13:00
Brenda Wallace
096146cb84 Fix: @owner -> owner in harvests_title 2017-02-08 07:25:59 +13:00
Brenda Wallace
ba1c40702b DRY up gardens and plantings helper 2017-02-08 07:25:59 +13:00
Brenda Wallace
e6254da3f1 Haml clean up for Roles views 2017-02-08 07:25:59 +13:00
Brenda Wallace
acbb610e05 Haml clean up for posts views 2017-02-08 07:25:59 +13:00
Brenda Wallace
338265d9e9 Haml cleanup for plantings views 2017-02-08 07:25:59 +13:00
Brenda Wallace
706922cacf Haml clean up for plantparts views 2017-02-08 07:25:59 +13:00
Brenda Wallace
08f2877f8e Haml clean up for places views 2017-02-08 07:25:59 +13:00
Brenda Wallace
8275f5be96 Add photos to travis haml check 2017-02-08 07:25:59 +13:00
Brenda Wallace
2c3d1848d5 Haml clean up for photos 2017-02-08 07:25:59 +13:00
Brenda Wallace
17e88778c8 Haml clean up for orders 2017-02-08 07:25:59 +13:00
Brenda Wallace
bafb0123da Haml cleanup for notifier 2017-02-08 07:25:59 +13:00
Brenda Wallace
e1e9c32652 Moved havests#index title to a helper 2017-02-08 07:25:59 +13:00
Brenda Wallace
48c3cbb3d1 Change to hash attributes syntax in harvests#show 2017-02-08 07:25:59 +13:00
Brenda Wallace
740b8587f2 Moved complex parts of garden/nav into helper 2017-02-08 07:25:59 +13:00
Brenda Wallace
b113146aaa Add harvest and gardens to travis for haml-lint 2017-02-08 07:25:59 +13:00
Brenda Wallace
900de8a615 Fixed Read more link in harvests 2017-02-08 07:25:59 +13:00
Brenda Wallace
d73aa98309 Cleaned up most of Home's haml 2017-02-08 07:25:59 +13:00
Brenda Wallace
ac7d44cb72 Cleaned up most of harvest's haml 2017-02-08 07:25:59 +13:00
Miles Gould
d301f2f2ae Add static check for files with merge conflicts
Fixes #1146
2017-02-07 15:03:52 +00:00
Miles Gould
2accb727e5 Describe rake static 2017-02-07 14:38:04 +00:00
Miles Gould
16db285898 Only run ES tests under GROWSTUFF_ELASTICSEARCH
And vice-versa: only run non-ElasticSearch tests under
GROWSTUFF_ELASTICSEARCH=false
2017-02-07 14:27:14 +00:00
Miles Gould
b8c0882642 Tag ElasticSearch-related tests 2017-02-07 14:27:14 +00:00
Miles Gould
cc54dc54b4 Only build ElasticSearch index for ES tests 2017-02-07 14:27:14 +00:00
Miles Gould
3f8ebdc477 Run JavaScript unit tests from Travis
`rspec spec` doesn't run the Jasmine tests, annoyingly, so I've added a
call to `rake jasmine:ci`.
2017-02-07 14:27:14 +00:00
Miles Gould
68120c5bbe Make rake spec depend on rake assets:precompile 2017-02-07 14:27:14 +00:00
Miles Gould
71ec9fd2d3 Run JS tests from rake and rake spec:unit 2017-02-07 14:27:14 +00:00
Miles Gould
f11bc42507 Turn on asset compilation in test
This is required for running jasmine tests via `rake spec:javascript`.
The comment above this setting warned that it would slow down testing
considerably; in my quick tests the slowdown is only about 2% (3mins 14
vs 3mins 11). We precompile assets in Travis, so this *shouldn't* cause
any more random CI failures...
2017-02-07 14:27:14 +00:00
Miles Gould
7672b9ffc8 Add spec:unit Rake task 2017-02-07 14:27:14 +00:00
Miles Gould
8d237cc2ee Make rake run specs and static checks by default 2017-02-07 14:27:14 +00:00
Miles Gould
a875a7c883 Cache asset-pipeline cache in Travis
This should shave about 30s off each job.
2017-02-07 14:27:14 +00:00
Miles Gould
19d65587be Split static checks into a separate Travis job 2017-02-07 14:27:14 +00:00
Miles Gould
3fed962dcc Add script/check_static to run all static checks
...and invoke it from .travis.yml
2017-02-07 14:27:14 +00:00
Miles Gould
987f50c87e Factor out global env vars in .travis.yml
This should make it slightly more obvious which job is which when
looking at Travis build results.
2017-02-07 13:52:23 +00:00
Daniel O'Connor
bba057ec76 Merge pull request #1192 from Br3nda/bw/three-pending-specs
Filled in the 3 pending planting specs
2017-02-07 16:36:59 +10:30
Brenda Wallace
1dc44c9edc Filled in the 3 pending planting specs 2017-02-07 18:29:10 +13:00
Daniel O'Connor
92c1515381 Merge pull request #1186 from CloCkWeRX/fix_date_expectation
Fix #1182 and improve test coverage
2017-02-07 14:02:31 +10:30
Shiny
43f905ea25 Merge branch 'dev' into fix_date_expectation 2017-02-07 16:03:39 +13:00
Brenda Wallace
1db30d98ce Haml clean up for members 2017-02-07 15:35:34 +13:00
Shiny
2b92f013fc Merge branch 'dev' into fix_date_expectation 2017-02-07 14:34:41 +13:00
Brenda Wallace
23f8c24ef4 Haml clean up for notifications 2017-02-07 14:33:20 +13:00
Daniel O'Connor
fba2306a4d Merge pull request #1190 from Br3nda/bw/haml-shop
Haml clean for shop
2017-02-07 11:15:26 +10:30
Brenda Wallace
c8fa54591a Haml clean for shop 2017-02-07 07:53:34 +13:00
Daniel O'Connor
67b496fe44 Merge pull request #1185 from Br3nda/bw/grand-haml-cleanup-of-2017
Forums and Gardens haml clean up
2017-02-06 14:13:27 +10:30
Daniel O'Connor
b24514fa82 Look at right attribute 2017-02-06 14:11:44 +10:30
Daniel O'Connor
f0a81d4100 Fix #1182 and improve test coverage 2017-02-06 14:10:40 +10:30
Brenda Wallace
64f11793c9 Fixed typo in link 2017-02-06 16:31:57 +13:00
Brenda Wallace
05a9d498a7 More forums haml clean up 2017-02-06 14:50:49 +13:00
Brenda Wallace
16145599ce Haml clean up for (most) garden views 2017-02-06 14:46:19 +13:00
Brenda Wallace
af8527aa5b Haml clean up of forum views 2017-02-06 14:46:19 +13:00
Daniel O'Connor
f9eb70e2eb Merge pull request #1184 from Br3nda/bw/grand-haml-cleanup-of-2017
Haml clean up -- crops views
2017-02-06 11:47:47 +10:30
Brenda Wallace
8408fdc845 Moved popular plant plarts calculation into sql 2017-02-06 13:22:18 +13:00
Brenda Wallace
f37c9152af Simplified the "grown for" view 2017-02-06 11:21:33 +13:00
Brenda Wallace
4ee789ca06 Popular plant parts are now sorted by popularity 2017-02-06 10:59:40 +13:00
Brenda Wallace
43e4ed43cd Travis starts checking the haml that's cleaned up
To stop regressions to bad haml again
2017-02-06 10:46:49 +13:00
Brenda Wallace
80371c835c Moved long line (ebay url) to helper 2017-02-06 10:40:58 +13:00
Brenda Wallace
6478d9cb1b Haml clean up for crops views 2017-02-06 10:31:45 +13:00
pozorvlak
f8b84f390d Calculate "count_uses_of_property" using DB query (#1183)
* Refactor 'count_uses_of_property' method in crop model
* Add check for nil column value

* Add @alran to CONTRIBUTORS.md

* Reformat Crop#count_uses_of_property

* Remove unnecessary string interpolation
2017-02-05 13:23:47 +13:00
pozorvlak
755b9b339f Merge pull request #1181 from Br3nda/bw/grand-haml-cleanup-of-2017
Te grand haml cleanup of 2017
2017-02-04 23:07:12 +00:00
Shiny
9deed09d36 Merge branch 'dev' into bw/grand-haml-cleanup-of-2017 2017-02-05 11:01:46 +13:00
pozorvlak
43de722faf Merge pull request #1180 from Br3nda/bw/application-controller-complexity
Reduce complexity of ApplicationController.store_location
2017-02-04 21:55:51 +00:00
pozorvlak
e145bb59f7 Merge branch 'dev' into bw/application-controller-complexity 2017-02-04 21:45:06 +00:00
pozorvlak
911c7b7bc1 Merge pull request #1174 from Br3nda/bw/rubocop-reduce-complexity
rubocop - reduce complexity
2017-02-04 21:44:42 +00:00
Brenda Wallace
2b7144c1fd Fixed trailing quote in haml 2017-02-04 15:07:18 +13:00
Brenda Wallace
8ddf36fed9 Haml clean up for (some of) crops views 2017-02-04 15:04:07 +13:00
Brenda Wallace
785ae33a42 Haml clean up for comments views 2017-02-04 14:07:59 +13:00
Brenda Wallace
c43c1686a3 Haml clean up for alternate_names views 2017-02-04 13:50:04 +13:00
Brenda Wallace
65a8bde467 Haml clean up for admin views 2017-02-04 12:00:42 +13:00
Brenda Wallace
3647f67538 Haml clean up for accounts views 2017-02-04 11:52:15 +13:00
Brenda Wallace
6c4f7eff92 Haml clean up for account_types views 2017-02-04 11:50:33 +13:00
Brenda Wallace
9b57a44f6c Adding haml-lint 2017-02-04 11:41:02 +13:00
Brenda Wallace
8a69ed4013 Reduce complexity of ApplicationController.store_location 2017-02-04 11:31:34 +13:00
Brenda Wallace
e5d826e8c3 Further simplified newsletter subscription logic 2017-02-04 11:28:37 +13:00
Brenda Wallace
77c01d4f66 BUGFIX: Added missing if 2017-02-04 11:23:27 +13:00
Brenda Wallace
33b7952ed3 Simplified OmniauthCallbacksController 2017-02-04 11:21:15 +13:00
Brenda Wallace
1217ba5b48 Reduce complexity of ApplicationController.store_location 2017-02-04 11:19:11 +13:00
Brenda Wallace
ffee6ada83 Simplify member.update_newsletter_subscription 2017-02-04 11:18:00 +13:00
Brenda Wallace
63b71a9265 Reduce controller complexity 2017-02-04 11:18:00 +13:00
pozorvlak
3ecc7ba99b Merge pull request #1178 from Br3nda/bw/plantingshelper-simplify
PlantingsHelper simplification
2017-02-03 13:36:42 +00:00
pozorvlak
3e81419e78 Merge branch 'dev' into bw/plantingshelper-simplify 2017-02-03 12:08:54 +00:00
pozorvlak
7cd8dfa0c7 Merge pull request #1176 from Br3nda/bw/seeds-controller-complexity
Reduce complexity of seeds controller
2017-02-03 12:08:45 +00:00
pozorvlak
9182c8ceb1 Merge branch 'dev' into bw/seeds-controller-complexity 2017-02-03 11:12:20 +00:00
pozorvlak
ec8096233c Merge pull request #1179 from CloCkWeRX/repair_gemfile
Repair missing items from Gemfile.lock - jasmine/phantomjs
2017-02-03 11:11:28 +00:00
Brenda Wallace
19aa3a1ca4 PlantingsHelper simplification 2017-02-03 20:42:15 +13:00
Shiny
e574ee166c Merge branch 'dev' into bw/seeds-controller-complexity 2017-02-03 20:32:29 +13:00
Daniel O'Connor
93e9428bb6 Repair missing items from Gemfile.lock 2017-02-03 11:11:47 +10:30
pozorvlak
fcf453b9d9 Merge pull request #1173 from Br3nda/bw/inactive-gardens
hide inactive gardens by default
2017-02-02 22:57:54 +00:00
pozorvlak
909164ea70 Merge branch 'dev' into bw/inactive-gardens 2017-02-02 22:40:21 +00:00
pozorvlak
b5a5aca67b Merge pull request #1175 from Br3nda/bw/plantings-controller-complexity
Reduce complexity of plantings controller
2017-02-02 22:22:41 +00:00
Shiny
2424e7de87 Merge branch 'dev' into bw/inactive-gardens 2017-02-02 14:48:31 +13:00
Shiny
d367b44da1 Merge branch 'dev' into bw/plantings-controller-complexity 2017-02-02 14:48:14 +13:00
Shiny
fe999d7170 Merge branch 'dev' into bw/seeds-controller-complexity 2017-02-02 14:47:10 +13:00
Daniel O'Connor
3267fd7d1f Merge pull request #1177 from Br3nda/bw/simplify-harvest-to-s
Simplified harvest.to_s
2017-02-02 10:58:16 +10:30
Brenda Wallace
355419b6cb Reduce complexity of seeds controller 2017-02-02 00:01:48 +00:00
Brenda Wallace
dfa23a6564 Simplified harvest.to_s 2017-02-01 23:55:45 +00:00
Brenda Wallace
9099ee5779 Reduce complexity of plantings controller 2017-02-01 23:51:14 +00:00
Brenda Wallace
7ba9049908 spec only show active gardens 2017-02-01 18:25:56 +13:00
Brenda Wallace
c82127f1fb Modify specs for new titles on garden nav buttons 2017-02-01 17:37:03 +13:00
Brenda Wallace
666394906b Active gardens only on profiles 2017-02-01 17:37:03 +13:00
Brenda Wallace
150393b1c3 Show only active gardens by default 2017-02-01 17:37:03 +13:00
Daniel O'Connor
e8e1e33a07 Merge pull request #1172 from pozorvlak/install_d3
Install d3-rails gem in production and staging
2017-01-31 11:01:41 +10:30
Miles Gould
18e6e8510c Install d3-rails gem in production and staging
It was only being installed in development and test environments,
causing deployment failures.

Fixes #1170
2017-01-30 20:17:42 +00:00
Daniel O'Connor
64d7c2535b Merge pull request #1168 from Br3nda/likeable
Reviving Likeable
2017-01-27 12:30:36 +10:30
Daniel O'Connor
15106a051c Merge branch 'dev' into likeable 2017-01-27 12:05:13 +10:30
Daniel O'Connor
62fe72c9f4 Merge pull request #1143 from pozorvlak/bw/bar_graphs
[WIP] bar graphs
2017-01-27 12:01:03 +10:30
Daniel O'Connor
43519809f5 Merge branch 'dev' into bw/bar_graphs 2017-01-27 11:54:12 +10:30
Shiny
7731623397 Merge branch 'dev' into likeable 2017-01-27 14:21:53 +13:00
pozorvlak
3b3e14fadb Merge pull request #1161 from Br3nda/bw/pending-crops
Member can see crops they have requested
2017-01-26 11:21:24 +00:00
Daniel O'Connor
271242eca9 Merge branch 'dev' into bw/bar_graphs 2017-01-25 13:00:25 +10:30
Daniel O'Connor
a607fdc6ec Merge branch 'dev' into likeable 2017-01-25 12:58:55 +10:30
Daniel O'Connor
6d1bdf9ae1 Merge branch 'dev' into bw/pending-crops 2017-01-25 12:55:13 +10:30
Daniel O'Connor
25058d02fc Merge pull request #1164 from Br3nda/bw/link-from-harvest-to-planting
Link from harvest to planting, instead of garden
2017-01-25 12:54:42 +10:30
Shiny
b80e7f677c Merge branch 'dev' into likeable 2017-01-24 19:44:42 +13:00
pozorvlak
576426c30d Merge pull request #1166 from Br3nda/bw/fix-notify-sys-exit
Fix crashing on email send - HOTFIX to master
2017-01-23 17:54:19 +00:00
Shiny
c9b464771d Merge branch 'master' into bw/fix-notify-sys-exit 2017-01-23 21:50:22 +13:00
Shiny
76af02f2a5 Merge branch 'dev' into bw/bar_graphs 2017-01-23 20:18:19 +13:00
Shiny
346970b471 Merge branch 'dev' into bw/pending-crops 2017-01-23 20:17:44 +13:00
Shiny
e6d3c257e8 Merge branch 'dev' into bw/link-from-harvest-to-planting 2017-01-23 20:17:34 +13:00
Daniel O'Connor
7224ef8848 Merge pull request #1159 from Br3nda/bw/garden-display-fix
Fix display of gardens on smaller screens
2017-01-23 14:59:43 +10:30
Brenda Wallace
dd9a0071d2 Link from harvest to planting, instead of garden 2017-01-23 09:58:25 +13:00
Brenda Wallace
65b4b2d23e Feature spec for requested crops 2017-01-23 09:49:47 +13:00
Brenda Wallace
4fedc7f23f Member can see crops they have requested 2017-01-23 09:49:47 +13:00
Shiny
26b3e28171 Merge branch 'dev' into bw/garden-display-fix 2017-01-23 09:41:37 +13:00
Daniel O'Connor
29765c7bab Merge pull request #1160 from Br3nda/bw/fix-notify-sys-exit
change deliver_later to deliver_now, so we don't sys.exit() crash
2017-01-23 00:21:47 +10:30
Brenda Wallace
370938c9f9 change deliver_later to deliver_now, so we don't sys.exit() crash 2017-01-22 21:22:30 +13:00
Cesy
e578ca2c77 Merge pull request #1153 from Growstuff/dev
Release 18
2017-01-22 07:47:42 +00:00
Brenda Wallace
08d407f041 Fix display of gardens on smaller screens 2017-01-22 20:33:37 +13:00
Shiny
d6de147661 Merge branch 'dev' into bw/bar_graphs 2017-01-22 18:39:53 +13:00
Brenda Wallace
9cadbdec2b Regenerated schema file 2017-01-22 18:27:32 +13:00
Brenda Wallace
5e61be9853 Merge remote-tracking branch 'upstream/dev' into HEAD 2017-01-22 18:26:38 +13:00
Brenda Wallace
ff50ec65d0 Merge remote-tracking branch 'upstream/dev' into HEAD 2017-01-22 18:26:29 +13:00
Daniel O'Connor
c4c50a4174 Merge pull request #1158 from Br3nda/bw/controller-translations
more controller translations
2017-01-22 15:34:14 +10:30
Brenda Wallace
a1c74bfdfb Translations for members controller 2017-01-22 17:36:48 +13:00
Brenda Wallace
2f9453780e Translations for harvests controller 2017-01-22 17:28:49 +13:00
Brenda Wallace
725ae817d4 Translations for gardens controller 2017-01-22 17:26:30 +13:00
Daniel O'Connor
eab9bcb37d Merge pull request #1157 from Br3nda/bw/rubocop-hash-braces
Removed unnecesary braces on hash args
2017-01-22 13:22:11 +10:30
Brenda Wallace
40a981c94d Removed unnecesary braces on hash args 2017-01-22 15:10:11 +13:00
Cesy
dd2af6a0e3 Merge pull request #1155 from CloCkWeRX/2017-01-21-gem-updates
2017 01 21 gem updates
2017-01-21 19:49:05 +00:00
Daniel O'Connor
9192ccf52b Update coveralls 2017-01-21 17:02:40 +10:30
Daniel O'Connor
4e79fd201c Update omniauth 2017-01-21 17:01:59 +10:30
Daniel O'Connor
d266d7ed1a Update i18n-tasks 2017-01-21 16:52:24 +10:30
Daniel O'Connor
f7f1907b74 Silence config/routes.rb:1:39: W: Lint/UnneededDisable: Unnecessary disabling of Metrics/BlockLength for now 2017-01-21 16:45:04 +10:30
Daniel O'Connor
c42e9ca410 Upgrade factory_girl_rails 2017-01-21 16:42:04 +10:30
Daniel O'Connor
f97c465a92 Update geocoder 2017-01-21 16:41:15 +10:30
Daniel O'Connor
a5b566a207 Update lumberjack 2017-01-21 16:40:27 +10:30
Daniel O'Connor
c6d16c92f5 Update public_suffix 2017-01-21 16:40:04 +10:30
Daniel O'Connor
c5b2e37730 Update diff-lcs 2017-01-21 16:39:31 +10:30
Daniel O'Connor
5c642dfef9 Really disable 2017-01-21 16:37:30 +10:30
Daniel O'Connor
a9b8253dfa Update connection_pool 2017-01-21 16:35:33 +10:30
Daniel O'Connor
58a3cbf569 Disable check for now 2017-01-21 16:28:57 +10:30
Daniel O'Connor
8b4c8fef3b Pin to earlier version of rainbow until https://github.com/sickill/rainbow/issues/44 is sorted 2017-01-21 16:14:37 +10:30
Daniel O'Connor
36c0de4504 Upgrade to selenium-webdriver 3.0.0 2017-01-21 16:04:15 +10:30
Daniel O'Connor
3208bf9fb6 Regenerate rubocop configuration 2017-01-21 15:58:52 +10:30
Daniel O'Connor
4eebf5c867 Error: The Style/MethodCallParentheses cop has been renamed to Style/MethodCallWithoutArgsParentheses. 2017-01-21 15:57:01 +10:30
Daniel O'Connor
61f7bdfdd2 Update rubocop 2017-01-21 15:56:02 +10:30
Daniel O'Connor
06838d7ad1 Update ruby_dep, unicode-display_width 2017-01-21 15:55:22 +10:30
Daniel O'Connor
676f246e85 Merge pull request #1154 from Br3nda/bw/translations
More translations
2017-01-21 15:51:41 +10:30
Shiny
6121a9bc6e Merge branch 'dev' into bw/translations 2017-01-20 21:05:31 +11:00
Brenda Wallace
c2804f1725 Merge branch 'bw/controller-translations' into bw/translations
Conflicts:
	config/locales/en.yml
2017-01-20 23:04:00 +13:00
Brenda Wallace
b198305d36 Translations for account controller 2017-01-20 22:48:04 +13:00
Brenda Wallace
7d7f5bfda3 Translations for account types 2017-01-20 22:46:12 +13:00
Brenda Wallace
d97af8e76e Adding missing translation for harvests 2017-01-20 22:40:14 +13:00
Brenda Wallace
91adc5f59e Normalise english translations file 2017-01-20 22:23:38 +13:00
Shiny
714b2580a3 Merge branch 'dev' into bw/bar_graphs 2017-01-18 11:15:09 +13:00
pozorvlak
a8d5b14d46 Merge pull request #1150 from Br3nda/bw/rubocop
Rubocop fix up for the models
2017-01-17 17:43:24 +00:00
pozorvlak
cc59c4f49b Merge branch 'dev' into bw/rubocop 2017-01-17 16:47:07 +00:00
pozorvlak
8a7b7e75ef Merge pull request #1141 from Br3nda/bw/active-plantings
Show only active plantings by default
2017-01-17 16:41:22 +00:00
Shiny
f8dda12de6 Merge branch 'dev' into bw/active-plantings 2017-01-15 17:36:32 +13:00
Shiny
ab332976da Merge branch 'dev' into bw/rubocop 2017-01-15 17:36:17 +13:00
pozorvlak
331c778350 Merge pull request #1152 from CloCkWeRX/upgrade-comfortable-mexican-sofa
Upgrade to current comfortable_mexican_sofa
2017-01-14 22:20:54 +00:00
Cesy
48b6a2297b Merge branch 'master' into dev 2017-01-14 20:21:46 +00:00
pozorvlak
27ea2e0432 Merge branch 'dev' into upgrade-comfortable-mexican-sofa 2017-01-14 19:53:06 +00:00
pozorvlak
4c0000b964 Merge pull request #1145 from Br3nda/bw/description-photo-links
Descriptive links from photo page
2017-01-14 19:51:20 +00:00
Daniel O'Connor
a3ee17bd4d #1054 Upgrade to current comfortable_mexican_sofa 2017-01-15 02:19:15 +10:30
Brenda Wallace
958e7eb955 Removed rubocop excludes that we have fixed 2017-01-14 21:13:59 +13:00
Brenda Wallace
39888d44e2 Rubocop compliance for the account model 2017-01-14 21:11:02 +13:00
Brenda Wallace
b603bae1a7 Rubocop compliance for the notification model 2017-01-14 21:09:47 +13:00
Brenda Wallace
05db5f3109 Rubocop compliance for the order_item model 2017-01-14 21:08:47 +13:00
Brenda Wallace
ad72ab0ba8 Rubocop compliance for the role model 2017-01-14 21:04:19 +13:00
Brenda Wallace
3beb3974fc Rubocop compliance for the product model 2017-01-14 21:03:01 +13:00
Brenda Wallace
fa15fd2912 Rubocop compliance for the photo model 2017-01-14 21:01:46 +13:00
Brenda Wallace
78ed7869c5 Rubocop compliance for the member model 2017-01-14 20:57:18 +13:00
Brenda Wallace
0fa9f54c9c Rename member.has_role? to role? 2017-01-14 20:54:43 +13:00
Brenda Wallace
f214f608ff Rename member.is_paid? to paid? 2017-01-14 20:51:22 +13:00
Brenda Wallace
eb70f6dc57 Rubocop compliance for the seed model 2017-01-14 20:48:19 +13:00
Brenda Wallace
43c4b154f9 Rubocop compliance for the follow model 2017-01-14 20:45:54 +13:00
Brenda Wallace
21a536bf86 Merge remote-tracking branch 'upstream/dev' into bw/rubocop 2017-01-14 20:43:02 +13:00
Brenda Wallace
832a20eac9 Rubocop compliance for order model 2017-01-14 20:42:32 +13:00
Brenda Wallace
f6cc0f3e13 rubocop compliance in post model 2017-01-14 20:34:08 +13:00
Brenda Wallace
5be5585084 Rubocop disable Rails/HasAndBelongsToMany 2017-01-14 20:31:34 +13:00
Brenda Wallace
989f176fb7 Crop model adhering to rubocop 2017-01-14 20:09:54 +13:00
Brenda Wallace
be07b5fd0e Only check values.zero? if they are present 2017-01-14 20:09:09 +13:00
Shiny
180505a1ca Merge branch 'dev' into bw/active-plantings 2017-01-14 18:27:18 +13:00
Shiny
22343385f6 Merge branch 'dev' into bw/bar_graphs 2017-01-14 18:26:48 +13:00
Shiny
e11603cb3e Merge branch 'dev' into bw/description-photo-links 2017-01-14 18:25:52 +13:00
Daniel O'Connor
97c5eb1c42 Merge pull request #1149 from Br3nda/bw/quotes-in-name
Removed unwanted quotes in member name in menu
2017-01-14 15:09:04 +10:30
Brenda Wallace
d07509f9e4 Rubocop compliance for comment model 2017-01-14 17:23:39 +13:00
Brenda Wallace
0c1220d11f Rubocop compliance for harvest model 2017-01-14 17:22:33 +13:00
Brenda Wallace
f889b112fe Rubocop compliance for garden model 2017-01-14 17:20:21 +13:00
Brenda Wallace
a1cfa826d9 Removed unwanted quotes in member name in menu
Fix for Issue #1144
2017-01-14 17:11:58 +13:00
Brenda Wallace
477f9669bd Added nav for plantings 2017-01-14 16:54:37 +13:00
Brenda Wallace
c1da5e4dc8 Split plantings#index into two methods to simplify 2017-01-14 16:47:29 +13:00
Brenda Wallace
6bdfe5a669 Moved plantings nav bar to own file and simplified 2017-01-14 16:32:03 +13:00
Shiny
8138aa8c09 Merge branch 'dev' into bw/active-plantings 2017-01-14 15:33:28 +13:00
Brenda Wallace
eba397117c Planting needs to calculate slugs before model is valid 2017-01-14 11:41:48 +13:00
Brenda Wallace
f9396248e6 Merge remote-tracking branch 'upstream/dev' into bw/description-photo-links 2017-01-11 12:12:36 +13:00
Miles Gould
d0351bad70 Merge branch 'dev' into bw/bar_graphs 2017-01-09 15:21:38 +00:00
Miles Gould
7ca371ae43 Merge remote-tracking branch 'mine/bw/bar_graphs' into bw/bar_graphs 2017-01-09 15:19:18 +00:00
Miles Gould
7fa0d22583 Graph real crop sunninesses from server
Works for me in superficial manual testing, but needs automated tests.
Also currently does two server round trips (one for planting locations
and one for sunninesses); it would be better to combine these into one,
or alternatively to create a "crop stats" API endpoint and calculate
sunniness stats in SQL.
2017-01-09 15:13:55 +00:00
pozorvlak
f31342c6e0 Merge pull request #1147 from Br3nda/alpha-bundle
Bundle alphabetical order to comply with stricter rubocop.

Patch is semantically a no-op, and the static check failure is expected.
2017-01-09 12:11:45 +00:00
Brenda Wallace
87a091d694 Bundle alpha-order to comply with stricter rubocop 2017-01-08 20:50:52 +00:00
Brenda Wallace
2e04d56225 Merge remote-tracking branch 'origin/bw/description-photo-links' into bw/description-photo-links 2017-01-08 21:48:58 +13:00
Brenda Wallace
405dfe4bc9 Merge remote-tracking branch 'upstream/dev' into bw/description-photo-links 2017-01-08 21:35:59 +13:00
Shiny
15de4ac08c Merge branch 'dev' into bw/active-plantings 2017-01-08 11:16:19 +13:00
Shiny
6e535f2403 Merge branch 'dev' into bw/bar_graphs 2017-01-08 11:10:21 +13:00
Shiny
c55208713b Merge branch 'dev' into bw/description-photo-links 2017-01-08 11:09:19 +13:00
Shiny
48c1b4d0f9 Merge pull request #1142 from Br3nda/bw/harvests-linkto-plantings
Link a harvest to a planting, and display
2017-01-08 11:08:42 +13:00
Brenda Wallace
2f38a8585b Revert "update spec for stringify"
This reverts commit 144823bd13.
2017-01-07 13:50:11 +13:00
Brenda Wallace
062ff16acf Put garden.to_s back to garden.name 2017-01-07 13:17:53 +13:00
Brenda Wallace
7f30ce04e0 Garden name (truncated) on front page link 2017-01-07 13:09:35 +13:00
Brenda Wallace
144823bd13 update spec for stringify 2017-01-07 12:52:47 +13:00
Brenda Wallace
90b19d52bb Don't rely on to_s for slug. Fragile with translations 2017-01-07 12:49:57 +13:00
Brenda Wallace
76be980163 Translate garden.location 2017-01-07 12:48:14 +13:00
Brenda Wallace
88b1f02574 Added require of photo model constants 2017-01-07 12:44:08 +13:00
Brenda Wallace
5b633b484b Fixes link to seeds, and spec for link to seeds 2017-01-07 12:22:28 +13:00
Brenda Wallace
3be379cee9 updated specs to match new links on photo page 2017-01-07 12:05:35 +13:00
Brenda Wallace
5319d23ee3 Using translations on links from photo page 2017-01-07 12:03:31 +13:00
Brenda Wallace
350c1d4c08 Descriptive links from photo page 2017-01-06 22:25:13 +13:00
Miles Gould
885c9433ce Merge branch 'dev' into bw/bar_graphs 2017-01-05 11:39:10 +00:00
Miles Gould
b0c132c28f Replace literal RGB with variable in graph.css 2017-01-05 11:38:55 +00:00
Miles Gould
8765770071 Ignore spurious code duplication error in bar_*.js
The code in question is

```
  return root.append('g')
    .attr("class", "bar")
    .selectAll("rect")
    .data(bars.map(function(bar) { return bar.value; }))
    .enter()
```

in graphs/bar_group.js, and

```
    return d3.append('g')
      .attr("class", "bar-label")
      .selectAll("text")
      .data(bars.map(function(bar){ return bar.name;}))
      .enter()
      .append("text")
      .attr('x', -80)
```

in graphs/bar_label_group.js. I don't think it's worth unifying these.
2017-01-05 11:19:44 +00:00
Miles Gould
8083ae9052 Remove duplicate getBarValues() methods
I've replaced one with a getMaxValue() function, which is what we
actually want, and deleted the other.
2017-01-05 11:18:51 +00:00
Shiny
5ca8829727 Merge branch 'dev' into bw/active-plantings 2017-01-05 16:35:39 +13:00
Shiny
d40eccdb63 Merge branch 'dev' into bw/harvests-linkto-plantings 2017-01-05 16:31:22 +13:00
pozorvlak
478fae53ab Merge pull request #1136 from Br3nda/bw/garden-specs
Controller garden specs for member doing what they shouldn't
2017-01-04 12:06:10 +00:00
Shiny
fc71cba6ba Merge branch 'dev' into bw/harvests-linkto-plantings 2017-01-04 22:52:54 +13:00
Brenda Wallace
283bb76a9e Link a harvest to a planting, and display 2017-01-04 22:45:49 +13:00
Brenda Wallace
18e58809c3 Merge remote-tracking branch 'upstream/dev' into bw/active-plantings 2017-01-04 16:25:44 +13:00
Brenda Wallace
b27b361e2f Show active plantings by default 2017-01-04 16:25:19 +13:00
Shiny
3fafa87afd Merge branch 'dev' into bw/garden-specs 2017-01-04 16:18:54 +13:00
pozorvlak
de60dbb9b0 Merge pull request #1140 from Br3nda/bw/descriptive-spec
descriptive spec
2017-01-03 12:12:18 +00:00
Shiny
a95fca3682 Merge branch 'dev' into bw/bar_graphs 2017-01-03 22:42:58 +13:00
Brenda Wallace
8047aef692 Merge remote-tracking branch 'upstream/dev' into bw/descriptive-spec
Conflicts:
	spec/features/signin_spec.rb
2017-01-03 22:16:24 +13:00
Brenda Wallace
b38728c5df Add login() to signin spec to reduce code duplication 2017-01-03 22:13:27 +13:00
Brenda Wallace
241c3cfdc0 Moves model name into spec description
so we can tell which failed.
2017-01-03 22:12:23 +13:00
Shiny
8b3b28b9d6 Merge branch 'dev' into bw/garden-specs 2017-01-03 20:50:20 +13:00
Daniel O'Connor
5f6fc37efd Merge pull request #1138 from Br3nda/bw/garden-name-in-link
Garden's name in link
2017-01-03 13:33:59 +10:30
Brenda Wallace
881acdccc9 Shortening long garden names on a user's page 2017-01-02 20:54:22 +13:00
Brenda Wallace
3b1753d3d5 Garden's name in link 2017-01-02 20:36:25 +13:00
Brenda Wallace
ab75f830fb Controller garden specs for member doing what they shouldn't 2016-12-25 10:38:07 +13:00
Shiny
0c8345d1e2 Merge branch 'dev' into bw/bar_graphs 2016-12-22 10:22:29 +13:00
Cesy
ca553a4693 Merge pull request #1130 from Growstuff/dev
Release 17
2016-12-21 19:19:47 +00:00
Shiny
58ddeefaa3 Merge pull request #1127 from Br3nda/bw/guard-clauses
Guard clauses
2016-12-21 22:53:06 +13:00
Shiny
ee7fbb9ab9 Merge branch 'dev' into bw/guard-clauses 2016-12-21 20:53:47 +13:00
pozorvlak
cf31e53303 Merge pull request #1131 from pozorvlak/moar_tests
Improve unit test coverage for models
2016-12-20 14:22:36 +00:00
Miles Gould
4b1cdc5650 Test Model.newsletter_(un)subscribe
I'm not very happy with this change as-is. The tests are very shallow
(they wouldn't have caught the bug @tconquest and I found in this code,
for instance), and use the deprecated `receive_message_chain` method.
From the RSpec docs:

"Chains can be arbitrarily long, which makes it quite painless to
violate the Law of Demeter in violent ways, so you should consider any
use of receive_message_chain a code smell.  Even though not all code
smells indicate real problems (think fluent interfaces),
receive_message_chain still results in brittle examples. For example, if
you write allow(foo).to receive_message_chain(:bar, :baz => 37) in a
spec and then the implementation calls foo.baz.bar, the stub will not
work."

Further work needed.
2016-12-19 22:15:53 +00:00
Miles Gould
4f1c94bfb9 Fix warnings in member_spec 2016-12-19 20:44:18 +00:00
Miles Gould
70f589d59b Replace instance vars with locals in member_spec 2016-12-19 20:33:43 +00:00
Miles Gould
f5eede6072 Improve tests for Member.interesting 2016-12-19 20:29:05 +00:00
Miles Gould
3469d6d37f Feature test for signin via email address 2016-12-19 20:23:07 +00:00
Miles Gould
b8385afb2f Remove apparently-unused Geocodable.geocode method
We have unit tests for geocoding, but it's not being covered, so I
assume it's being shadowed by a method installed directly from Geocoder.
2016-12-19 20:14:05 +00:00
Miles Gould
abb9acd04a post_spec: fix warnings
Several "unused variable" warnings (due to replacing unused instance
variables with unused locals) and one warning about ambiguous
lack-of-brackets.
2016-12-19 16:40:05 +00:00
Miles Gould
67faa5554c post_spec: replace instance vars with local vars
The @ in front of a variable makes it an instance variable of the
surrounding object. There's no point doing that for variables that are
only used in a single function, so I've made such variables in the file
post_spec.rb into function-local variables. We should do this more
generally: there are a lot of instances of this (anti?)pattern in our
test suite.
2016-12-19 16:36:46 +00:00
Miles Gould
59b86c9b0c Replace << with string-interpolation in post_spec 2016-12-19 16:33:41 +00:00
Miles Gould
7239cf068b Test [member name](member) mention syntax 2016-12-19 16:31:32 +00:00
Miles Gould
c23e80b56d Test Post.recently_active 2016-12-19 16:26:17 +00:00
Miles Gould
b011fc9bae Test Post.comment_count 2016-12-19 16:17:31 +00:00
Miles Gould
b40974d4c3 Test Crop.create_from_csv with missing parent
I couldn't work out how to test that the error is logged.
2016-12-19 16:15:19 +00:00
Shiny
ed081e7286 Merge branch 'dev' into bw/guard-clauses 2016-12-18 19:29:05 +13:00
Cesy
1b9a5bc115 Merge pull request #1129 from Br3nda/bw/ruby-upgrade-2-3-3
Upgrade to ruby 2.3.3
2016-12-17 09:59:22 +00:00
Brenda Wallace
b0dd53eb63 Upgrade to ruby 2.3.3 2016-12-17 20:32:07 +13:00
Shiny
27520e9aa6 Merge branch 'dev' into bw/bar_graphs 2016-12-16 12:52:16 +13:00
Daniel O'Connor
3cdaa03e5d Merge branch 'dev' into likeable 2016-12-15 14:28:22 +10:30
Brenda Wallace
ebae0dfad3 Merge remote-tracking branch 'upstream/dev' into bw/guard-clauses 2016-12-14 21:37:12 +00:00
Brenda Wallace
ca7868b79a Use guard clauses 2016-12-14 21:28:35 +00:00
Daniel O'Connor
148dfa7f8b Merge pull request #1126 from CloCkWeRX/2016-12-gem-upgrades
2016 12 gem upgrades
2016-12-13 15:08:46 +10:30
Daniel O'Connor
feff2cdfd4 Upgrade rake only 2016-12-12 10:38:31 +10:30
Daniel O'Connor
74657abec0 Revert "Update rake and rubocop"
This reverts commit c9127dbf1e.
2016-12-12 10:37:45 +10:30
Daniel O'Connor
6ff3fa21e1 Revert "Disable Style/EmptyMethod for now"
This reverts commit 5235b11905.
2016-12-12 10:37:26 +10:30
Shiny
fe5a93160f Merge branch 'dev' into bw/bar_graphs 2016-12-10 21:39:11 +13:00
Daniel O'Connor
88ba4f9198 Rubocop 2016-12-09 12:19:38 +10:30
Daniel O'Connor
2594e5d334 Rubocop 2016-12-09 12:06:14 +10:30
Daniel O'Connor
ce9fc85d0b Rubocop 2016-12-09 12:04:13 +10:30
Daniel O'Connor
2499db77f1 Rubocop 2016-12-09 11:59:56 +10:30
Daniel O'Connor
8edbef3965 Rubocop 2016-12-09 11:56:53 +10:30
Daniel O'Connor
2e23675425 app/controllers/likes_controller.rb:2:3: C: Rails/ActionFilter: Prefer before_action over before_filter. 2016-12-09 11:52:46 +10:30
Daniel O'Connor
fef272e30f Merge remote-tracking branch 'upstream/dev' into likeable 2016-12-09 11:42:32 +10:30
Daniel O'Connor
be572b9a53 Upgrade 2016-12-09 11:25:03 +10:30
Daniel O'Connor
5235b11905 Disable Style/EmptyMethod for now 2016-12-09 11:17:54 +10:30
Daniel O'Connor
d3d3731fa3 Update minitest 2016-12-09 10:52:01 +10:30
Daniel O'Connor
1982dc76be Pin to elasticsearch API 2.0 for now 2016-12-09 10:51:13 +10:30
Daniel O'Connor
c9127dbf1e Update rake and rubocop 2016-12-09 10:46:22 +10:30
Daniel O'Connor
f7ca706e0b Update omniauth-facebook (not as scary as it sounds - https://github.com/mkdynamic/omniauth-facebook/blob/master/CHANGELOG.md) 2016-12-09 10:25:08 +10:30
Daniel O'Connor
817c1ec5ce Update will_paginate 2016-12-09 10:24:18 +10:30
Daniel O'Connor
18ab47eed3 Update thor 2016-12-09 10:23:24 +10:30
Daniel O'Connor
d99f24c02c Update coffee-script-source 2016-12-09 10:22:32 +10:30
Daniel O'Connor
aaaca81d49 Update hashie 2016-12-09 10:21:31 +10:30
Daniel O'Connor
59ec36320b Update codeclimate-test-reporter 2016-12-09 10:20:47 +10:30
Daniel O'Connor
303fd8c243 Update autoprefixer-rails 2016-12-09 10:20:09 +10:30
Daniel O'Connor
3e43a19e58 Update CONTRIBUTING.md
Dead link, no archived version of it
2016-12-09 10:09:04 +10:30
Shiny
391d5bed5f Merge branch 'dev' into bw/bar_graphs 2016-12-09 07:29:55 +13:00
Shiny
46a0956f5f Merge pull request #1124 from Br3nda/bw/load-resource
Cancan already loads the resource
2016-12-09 07:29:28 +13:00
Brenda Wallace
4f465d808c We don't need to load the resource again 2016-12-07 23:54:03 +00:00
Shiny
8161e90fbd Merge branch 'dev' into bw/bar_graphs 2016-12-08 12:35:59 +13:00
Shiny
aea935be4b Merge pull request #1122 from Br3nda/bw/duplicate-query
Gardens query was running twice in contoller
2016-12-08 12:32:20 +13:00
Brenda Wallace
e695d5646a FIX Gardens query was running twice in contoller 2016-12-07 22:27:17 +00:00
Daniel O'Connor
a074e72b9b Merge branch 'dev' into bw/bar_graphs 2016-12-07 13:36:21 +10:30
Daniel O'Connor
e799233fb7 Merge pull request #1119 from Br3nda/bw/ParenthesesAsGroupedExpression
Fixed parentheses that are interp-ed as grouped expression
2016-12-07 12:30:38 +10:30
Brenda Wallace
d4a496eb1c Removed duplicate variable assignment 2016-12-07 12:26:12 +13:00
Brenda Wallace
a23e241480 Eslint clean ups 2016-12-07 12:22:33 +13:00
Brenda Wallace
af424103f4 Code style fix up (comments only) 2016-12-07 11:34:17 +13:00
Brenda Wallace
d68cfe0486 Move the invocation into the parens that contain the function 2016-12-07 11:33:30 +13:00
Brenda Wallace
0f15095129 Fix up css style 2016-12-07 11:30:17 +13:00
Brenda Wallace
6e0e7e4de1 Merge remote-tracking branch 'upstream/dev' into bw/bar_graphs
Conflicts:
	CONTRIBUTORS.md
	Gemfile
	Gemfile.lock
	app/assets/javascripts/application.js
	app/assets/javascripts/crops.js.erb
	app/views/crops/show.html.haml
2016-12-07 11:17:30 +13:00
Shiny
00e240c038 Merge branch 'dev' into bw/ParenthesesAsGroupedExpression 2016-12-07 10:06:50 +13:00
Brenda Wallace
05e7a27782 Call to verify options stays as a hash 2016-12-07 10:04:17 +13:00
Mackenzie
53477485ef Merge pull request #1117 from Br3nda/bw/AmbiguousOperator
Fixed AmbiguousOperator
2016-12-06 12:40:21 -05:00
Mackenzie
c760112e1b Merge pull request #1118 from Br3nda/bw/assignment-in-condition
Don't use assignments in conditions
2016-12-06 12:40:00 -05:00
Mackenzie
0e8146b7ee Merge pull request #1120 from Br3nda/bw/more-enwikipedia-chars
Yet another wikipedia url char added to regex
2016-12-06 12:39:33 -05:00
Brenda Wallace
a7bafafa06 Yet another wikipedia url char added to regex 2016-12-06 21:58:17 +13:00
Brenda Wallace
464c570d99 Fixed parentheses that are interp-ed as grouped expression 2016-12-06 21:23:55 +13:00
Brenda Wallace
abc5ac5f29 Don't use assignments in conditions 2016-12-06 21:18:13 +13:00
Brenda Wallace
4c6f0fc929 Fixed AmbiguousOperator 2016-12-06 21:09:39 +13:00
Daniel O'Connor
41e408b04a Merge pull request #1116 from Br3nda/bw/returns
Removed redundant returns
2016-12-06 11:20:45 +10:30
Brenda Wallace
8981a222ea Simplified display_weight 2016-12-06 00:32:20 +00:00
Brenda Wallace
91b0c1898e Simplifying display_harvest_description 2016-12-05 20:40:34 +00:00
Brenda Wallace
26e5a414cf Line no longer needs wrapping 2016-12-04 21:23:33 +00:00
Brenda Wallace
92195d51d2 Removed redundant returns 2016-12-04 21:21:35 +00:00
Shiny
0fcd8c8e8c Merge pull request #1094 from Br3nda/bw/useless-assignments
Useless assignments fixed, and rails 4 stuff.
2016-12-05 10:06:03 +13:00
Daniel O'Connor
c43ec3d256 Merge branch 'dev' into bw/useless-assignments 2016-12-04 10:30:41 +10:30
Daniel O'Connor
1ae9366076 Merge pull request #1109 from maco/seed_photos
add photos to seeds
2016-12-04 10:30:07 +10:30
Daniel O'Connor
8bb6df6ca7 Merge branch 'dev' into seed_photos 2016-12-03 16:47:13 +10:30
Daniel O'Connor
afbdd1194f Merge branch 'dev' into bw/useless-assignments 2016-12-03 16:43:11 +10:30
Mackenzie Morgan
c2de65e515 Merge branch 'seed_photos' of gitmaco:maco/growstuff into seed_photos 2016-12-02 23:18:05 -05:00
Mackenzie Morgan
c201200e9b correct schema and add index for photos_seeds 2016-12-02 23:17:01 -05:00
Mackenzie
04ba871949 Merge pull request #1108 from maco/fix_photo_requires
WIP: add require_relative to photo_capable concern for constants
2016-12-02 23:13:56 -05:00
Shiny
7785a9d797 Merge branch 'dev' into seed_photos 2016-12-03 09:31:20 +13:00
Shiny
1388aa3b06 Merge branch 'dev' into bw/useless-assignments 2016-12-03 08:23:19 +13:00
Mackenzie
519cf80200 Merge pull request #1111 from CloCkWeRX/658_automation
issue #658 i18n automation (updated)
2016-12-02 08:26:15 -05:00
pozorvlak
ce9e20b2f1 Merge branch 'dev' into 658_automation 2016-12-02 13:06:56 +00:00
Shiny
0c2a60ecc3 Reduce max AbcSize to 38 (#1112)
Reduce how complex methods are allowed to be, according to our code checker, so we're forced to write readable code
2016-12-02 08:06:53 -05:00
Mackenzie
fa1e46c2e7 Merge pull request #1110 from maco/codeclimate_ignores
ignore the minified bootstrap accessibility file for code climate checks
2016-12-02 08:02:47 -05:00
pozorvlak
7b0d17af59 Merge branch 'dev' into 658_automation 2016-12-02 12:05:05 +00:00
pozorvlak
4a8494ad06 Merge branch 'dev' into codeclimate_ignores 2016-12-02 12:04:07 +00:00
pozorvlak
3acaea2914 Merge branch 'dev' into fix_photo_requires 2016-12-02 12:03:53 +00:00
pozorvlak
0156795a29 Merge pull request #1114 from Br3nda/bw/phantom-403s
Revert "Changed phantomjs url to project official"
2016-12-02 11:05:12 +00:00
Brenda Wallace
7aaf6ea2ec Revert "Changed phantomjs url to project official"
This reverts commit 7fcd3cba8d.
2016-12-02 20:21:41 +13:00
Daniel O'Connor
fa65be40a4 lib/tasks/i18n.rake:8:37: W: Lint/UnusedBlockArgument: Unused block argument - t. If it's necessary, use _ or _t as an argument name to indicate that it won't be used. 2016-12-02 15:51:29 +10:30
Daniel O'Connor
aa638b8a68 Missed from merge 2016-12-02 15:41:35 +10:30
Daniel O'Connor
49639c6244 Merge branch '658_automation' of github.com:CloCkWeRX/growstuff into 658_automation 2016-12-02 15:37:55 +10:30
Jim Stallings
e939be05f8 Add myself to contributors 2016-12-02 15:35:13 +10:30
Jim Stallings
160c6efd04 Remove example file, add documentation 2016-12-02 15:34:38 +10:30
Jim Stallings
fe6e269c64 GS-658 - i18n automation POC 2016-12-02 15:34:38 +10:30
Jim Stallings
81f2fa5fa4 GS-658: sort locale keys, add rake task for it 2016-12-02 15:31:07 +10:30
Shiny
bb0eb25dd3 Merge branch 'dev' into bw/useless-assignments 2016-12-02 14:04:30 +13:00
Shiny
077c807958 Merge branch 'dev' into seed_photos 2016-12-02 14:04:12 +13:00
Daniel O'Connor
07ba39c117 Merge branch 'dev' into codeclimate_ignores 2016-12-02 11:33:04 +10:30
Daniel O'Connor
266455eda6 Merge pull request #1105 from maco/wikipedia_regex
expand wikipedia regex to include -, (, and )
2016-12-02 11:32:26 +10:30
Brenda Wallace
03cb4a8dee use find_or_initialize_by 2016-12-02 00:23:46 +00:00
Brenda Wallace
d87de13215 Merge remote-tracking branch 'origin/bw/find-by' into bw/useless-assignments 2016-12-01 23:46:50 +00:00
Mackenzie Morgan
ceac906a3f ignore the minified bootstrap accessibility file for code climate checks 2016-12-01 14:00:18 -05:00
Mackenzie Morgan
2fb34bea18 narrow the regex back down
hyphen must be the LAST thing in the character class
2016-12-01 13:39:43 -05:00
Mackenzie Morgan
a3c8bc0586 include the migration 2016-12-01 13:23:52 -05:00
Mackenzie Morgan
637b46ef10 add photos to seeds
Fixes #495
2016-12-01 12:54:55 -05:00
Mackenzie Morgan
b38945d62f add require_relative to photo_capable concern for constants
starts #1107
2016-12-01 12:53:45 -05:00
Mackenzie Morgan
54628e6d8c expand wikipedia regex to include punctuation, because some have - or () in name
(Fixes: #1104)
2016-12-01 12:25:48 -05:00
pozorvlak
5cb1e14d7b Merge pull request #1095 from maco/photo_concern
DRY up photo & model interaction
2016-12-01 15:16:21 +00:00
Daniel O'Connor
7032436f7b Merge branch 'dev' into bw/useless-assignments 2016-12-01 22:15:50 +10:30
Daniel O'Connor
83a3c3e72f Merge pull request #1102 from cesy/railsupdate
Update rails
2016-12-01 22:04:32 +10:30
Cesy Avon
3d845f47b9 Update rails 2016-12-01 09:42:55 +00:00
Brenda Wallace
d2fb96b3d7 change where.first -> find_by 2016-12-01 22:14:50 +13:00
Brenda Wallace
aba06c1faf Case insensitive crop look up 2016-12-01 21:29:28 +13:00
Brenda Wallace
dc504fe363 use Member.case_insensitive_login_name 2016-12-01 21:29:00 +13:00
Brenda Wallace
cba02ae05c Convert where.first to find_by 2016-12-01 20:25:28 +13:00
Brenda Wallace
37adbe5f48 Moved case-insensitve login look up to method 2016-12-01 20:25:19 +13:00
Brenda Wallace
ae26e3f936 Moved login_name_or_email query to own method 2016-12-01 20:25:10 +13:00
Mackenzie Morgan
7b2be73c88 code climate 2016-12-01 00:22:52 -05:00
Mackenzie Morgan
cd0fbc80d8 Merge remote-tracking branch 'origin/photo_concern' into photo_concern 2016-12-01 00:19:42 -05:00
Mackenzie Morgan
31bbf42ad0 define valid models for photos in a constants file
remove all hardcoded model names from photo.rb and photos_controller.rb
2016-12-01 00:19:33 -05:00
Brenda Wallace
e06d110861 Turn on rails:true in rubocop
so we don't need to pass --rails
2016-12-01 13:30:00 +13:00
Shiny
b454132cae Merge branch 'dev' into bw/useless-assignments 2016-12-01 12:51:13 +13:00
Brenda Wallace
cd0e287dba removed member look up that wasn't used in spec 2016-12-01 12:50:16 +13:00
Shiny
771e6b649c Merge branch 'dev' into photo_concern 2016-12-01 12:37:23 +13:00
Daniel O'Connor
547e6400f8 Merge pull request #1049 from maco/scopify
moving where clauses into scopes to keep that contained in models
2016-12-01 09:48:26 +10:30
Brenda Wallace
ce7cd5d96b Merge branch 'dev' into bw/useless-assignments 2016-12-01 11:17:56 +13:00
Mackenzie
ba4d85538c Merge branch 'dev' into scopify 2016-11-30 16:47:22 -05:00
Mackenzie
af3ca215a6 Merge branch 'dev' into photo_concern 2016-11-30 16:37:36 -05:00
Mackenzie Morgan
cef1bb1056 ignore has_and_belongs_to_many 2016-11-30 16:29:02 -05:00
Brenda Wallace
6321d1ac41 current order, use rails' findby 2016-12-01 10:17:22 +13:00
Mackenzie
57461f6e34 Merge pull request #1091 from pozorvlak/fix_display_days_before_maturity
Fix PlantingHelper.display_days_before_maturity
2016-11-30 10:09:36 -05:00
Cesy
cf8fab8ed9 Merge pull request #1080 from Growstuff/dev
Release 16
2016-11-30 15:07:42 +00:00
Mackenzie Morgan
aa7ca71e5d rubocop 2016-11-30 09:47:48 -05:00
Mackenzie Morgan
a5fcfb6277 Merge branch 'dev' of gitmaco:Growstuff/growstuff into photo_concern 2016-11-30 09:44:36 -05:00
Mackenzie
376e6c08d3 Merge pull request #1097 from pozorvlak/precompile_assets_in_test
Precompile assets in test
2016-11-30 09:44:15 -05:00
Mackenzie
0cbaac3c75 Merge pull request #1098 from pozorvlak/allow_unadorned_rake_without_db
Run tests with `rake` when DB does not yet exist
2016-11-30 09:43:40 -05:00
Miles Gould
6be9640625 Run tests with rake when DB does not yet exist
Previously, `rake spec` ran the tests whether or not the `growstuff_test`
database existed or not, but `rake` crashed unless it had already been
created. The problem was that `rake` was trying to load the environment,
which required the presence of a DB; `rake spec` was running this with
the `dev` environment, so succeeded if `growstuff_dev` existed, but
`rake` was running everything with the `test` environment, so would fail
if `growstuff_test` did not exist.

This patch adds `db:create` to the dependencies of the `spec` task,
forcing an unadorned `rake` to create all necessary databases first.
2016-11-30 11:35:35 +00:00
Miles Gould
1841548936 Precompile assets in test
According to
https://github.com/teampoltergeist/poltergeist/issues/677#issuecomment-222919584,
a possible cause of the "Request failed to reach server" problem (#901)
is that assets are being compiled on-demand, causing enough of a
slowdown for PhantomJS to think the connection has failed. This turns
off lazy asset compilation in the test environment and precompiles
assets before testing on Travis. We should also turn off lazy asset
compilation in production - see
http://stackoverflow.com/questions/8821864/config-assets-compile-true-in-rails-production-why-not
Our Heroku deployments already run `rake assets:precompile`.
2016-11-30 11:01:25 +00:00
Miles Gould
9400225f65 Return a string from display_days_before_maturity
Sometimes we were returning a string, and sometimes we were returning an
integer. We're only ever displaying the result, and this seems a little
more consistent.
2016-11-30 10:16:02 +00:00
Miles Gould
b0b864a5d4 Fix off-by-one bug in display_days_before_maturity
We were counting from DateTime.now rather than Date.current, causing us to
under-count by a day.
2016-11-30 10:16:02 +00:00
Miles Gould
77c64d5925 Test PlantingHelper.display_days_before_maturity
This ensures that #1079 is fixed.
2016-11-30 10:15:52 +00:00
pozorvlak
d3b927b44b Merge pull request #1096 from Growstuff/master
Master to dev for 1092
2016-11-30 09:44:12 +00:00
Mackenzie Morgan
77b7969fc9 DRY up photo & model interaction
* move stuff in models into a concern
 * create combined collection for all models that have photos
2016-11-30 00:46:58 -05:00
Shiny
9d68690d86 Merge pull request #1092 from Br3nda/hotfix/1079
Check we have a planted_at ts before using
2016-11-30 17:50:15 +13:00
Brenda Wallace
900e7361c6 Check we have a planted_at ts before doing maths with it 2016-11-30 17:39:26 +13:00
Brenda Wallace
a2e86b3e5e Rails dynamic finds fixed 2016-11-30 12:21:27 +13:00
Brenda Wallace
b6136d6a20 Removed ignores for rails findby 2016-11-30 10:38:00 +13:00
Mackenzie
7b0fdcf007 Merge pull request #1093 from Br3nda/bw/fix-deprecated-methods
Fixes for two calls to deprecated methods
2016-11-29 16:34:32 -05:00
Brenda Wallace
178c181cf5 Merge remote-tracking branch 'upstream/dev' into bw/useless-assignments
Conflicts:
	app/controllers/crops_controller.rb
	app/models/crop.rb
	spec/models/scientific_name_spec.rb
2016-11-30 10:32:02 +13:00
Brenda Wallace
9aa4fa8031 Fixes for two calls to deprecated methods 2016-11-30 10:25:23 +13:00
Mackenzie Morgan
72877aebaf update test for renamed scope 2016-11-29 13:41:05 -05:00
Mackenzie Morgan
4857fd8d2e return from conditional 2016-11-29 12:20:17 -05:00
Mackenzie Morgan
99c8db72d6 syntax 2016-11-29 12:14:16 -05:00
Mackenzie Morgan
53849a26e5 merge 2016-11-29 12:11:52 -05:00
Mackenzie Morgan
9dc02cd3d8 make changes from code review 2016-11-29 12:10:48 -05:00
Mackenzie
391111a5bf Merge pull request #1088 from maco/rename_scientific_name
rename scientific_names.scientific_name to scientific_names.name
2016-11-29 12:04:21 -05:00
Mackenzie Morgan
c93fd78aa8 Merge branch 'dev' of gitmaco:Growstuff/growstuff into scopify 2016-11-29 09:58:02 -05:00
Mackenzie
818c8f0c37 Merge pull request #1090 from pozorvlak/indentation-for-great-glory
Fix comment-style weirdness
2016-11-29 09:53:23 -05:00
Mackenzie Morgan
915030e583 whitespace 2016-11-29 09:40:59 -05:00
Mackenzie Morgan
832719b01a merge from upstream dev 2016-11-29 09:37:25 -05:00
Miles Gould
0d8cbc5bf2 Fix comment-style weirdness
We had an inline comment that had been split over two lines; whitespace
fixes made this look very weird.
2016-11-29 10:44:04 +00:00
pozorvlak
bac8f5e4cc Merge pull request #1072 from Br3nda/bw/indentation-for-great-glory
the giant indentation patch of 2016, for great glory
2016-11-29 10:42:24 +00:00
Mackenzie Morgan
69980d9ec6 tests 2016-11-28 22:50:53 -05:00
Mackenzie Morgan
2129b6480d ...that was a guard clause. oops 2016-11-28 22:42:11 -05:00
Mackenzie Morgan
fe860aa1ab clean up some tests 2016-11-28 22:33:00 -05:00
Mackenzie Morgan
a382caab48 clear up redundant else and unneeded returns 2016-11-28 22:08:41 -05:00
Mackenzie Morgan
e1e9a52186 use a guard clause 2016-11-28 22:08:14 -05:00
Mackenzie Morgan
66c8ce78bc further DRY up crops controller 2016-11-28 22:04:32 -05:00
Mackenzie Morgan
e1a2b168c9 rename scientific_names.scientific_name to scientific_names.name
this mirrors alternate_names.name and allows making code more DRY
2016-11-28 21:57:51 -05:00
Brenda Wallace
8763c22284 Merge remote-tracking branch 'upstream/dev' into bw/indentation-for-great-glory
Conflicts:
	app/models/crop.rb
2016-11-29 02:33:30 +00:00
Mackenzie
9ec2f76909 Merge pull request #1086 from maco/sunniness_planted_from
deduplicate sunniness and planted_from functions (Fixes: #1085)
2016-11-28 20:59:52 -05:00
Mackenzie Morgan
b94cb2abd6 deduplicate sunniness and planted_from functions (Fixes: #1085) 2016-11-28 19:57:34 -05:00
Daniel O'Connor
7abafd7b74 Merge pull request #1084 from maco/improve_crop
Improve crop model
2016-11-29 10:27:13 +10:00
Mackenzie Morgan
502862128f break out if/else into discrete blocks 2016-11-28 19:20:35 -05:00
Mackenzie Morgan
96b1e78962 dedup the add from csv code (Fixes: #1082) 2016-11-28 19:12:42 -05:00
Mackenzie
e077f6c7b1 Merge pull request #1076 from Br3nda/bw/poking-travis
Travis file lint and clean
2016-11-28 09:57:26 -05:00
Mackenzie
b25a938936 Merge pull request #1081 from CloCkWeRX/upgrade-gems-nov-2016
Upgrade various gems for Nov 2016
2016-11-28 09:55:54 -05:00
Mackenzie
0952d7d32f Merge pull request #1078 from Br3nda/bw/garden-names-one-line
Limit garden names to one line
2016-11-28 09:55:16 -05:00
Daniel O'Connor
9963502026 bundle update i18n-tasks 2016-11-28 13:55:01 +10:00
Daniel O'Connor
5c2b14376e bundle update terminal-table 2016-11-28 10:43:46 +10:00
Daniel O'Connor
330bc912c1 bundle update bootstrap_form 2016-11-28 10:43:05 +10:00
Daniel O'Connor
bd46c37f07 bundle update activemerchant 2016-11-28 10:42:03 +10:00
Daniel O'Connor
c08c038df1 bundle update active_utils 2016-11-28 10:40:32 +10:00
Daniel O'Connor
0fb9ea7a11 bundle update newrelic_rpm byebug 2016-11-28 10:37:36 +10:00
Daniel O'Connor
89c29ea73c bundle update pg 2016-11-28 10:32:43 +10:00
Daniel O'Connor
9c116f5887 bundle update rspec-rails coveralls capybara-screenshot 2016-11-28 10:31:24 +10:00
Daniel O'Connor
eb1013f925 bundle update jwt kramdown excon 2016-11-28 10:30:02 +10:00
Daniel O'Connor
9bd1484a95 bundle update ruby_parser rb-fsevent redis 2016-11-28 10:29:09 +10:00
Daniel O'Connor
7a90c020fc bundle update thor tins term-ansicolor 2016-11-28 10:28:07 +10:00
Daniel O'Connor
0a69ee682c Merge pull request #1073 from Br3nda/bw/poltergeist-upgrade
Upgrading poltergeist
2016-11-28 10:22:21 +10:00
Daniel O'Connor
8b5c63e898 Merge pull request #1077 from Br3nda/bw/wikipedia-url-regex
Narrow-ed regex on wikipedia url
2016-11-28 10:08:11 +10:00
Cesy
dfe12fd7f8 Merge pull request #1074 from Br3nda/bw/string-interp
String interp doesn't need .to_s in test
2016-11-27 11:02:31 +00:00
Cesy
73a2ac87da Merge pull request #1075 from Br3nda/bw/garden-link
Bugfix: Link to garden, not member
2016-11-27 11:00:49 +00:00
Brenda Wallace
9cce0e39f6 Limit garden names to one line 2016-11-27 14:52:07 +13:00
Brenda Wallace
10c20c7f91 Narrow-ed regex on wikipedia url
and more tests
2016-11-27 14:35:49 +13:00
Brenda Wallace
f52b828abe Use rake to create database 2016-11-27 13:27:45 +13:00
Brenda Wallace
c76fb15cfd Add yamllint settings 2016-11-27 13:24:21 +13:00
Brenda Wallace
167417a711 Indent travis.yml correctly 2016-11-27 13:24:02 +13:00
Brenda Wallace
7fcd3cba8d Changed phantomjs url to project official 2016-11-27 13:22:10 +13:00
Brenda Wallace
9cb58ab0c9 Wrapped the phantomjs downloading in travis.yml 2016-11-27 13:08:53 +13:00
Brenda Wallace
702bbeb724 "[Member]'s garden" link to garden, not member 2016-11-27 10:21:11 +13:00
Brenda Wallace
38fbc52a6f String interp doesn't need .to_s 2016-11-27 10:17:01 +13:00
Cesy
34e86f5881 Merge pull request #1066 from pozorvlak/autodeploy_prod
Auto-deploy to production on successful merge
2016-11-26 08:30:24 +00:00
Brenda Wallace
8c7fcd9d49 Fixed all useless assignments 2016-11-26 19:36:59 +13:00
Brenda Wallace
1fd7233012 Plualisation fixups 2016-11-26 17:27:13 +13:00
Brenda Wallace
d60dcfbddd Use request.referer instead of request.referrer 2016-11-26 17:26:44 +13:00
Brenda Wallace
b541fe8221 puts allowed in some files 2016-11-26 17:24:41 +13:00
Brenda Wallace
8196d94a73 Don't enforce http pos args until rails 5 2016-11-26 17:23:31 +13:00
Brenda Wallace
07c135eeb5 before_filter is now before_action 2016-11-26 17:20:13 +13:00
Brenda Wallace
bcdd2a9167 Changed called to rails dynamic find_by 2016-11-26 15:55:38 +13:00
Brenda Wallace
20c72e1205 Upgrading poltergeist 2016-11-26 13:43:04 +13:00
Brenda Wallace
c02562518d Fixed double handling in harvest.to_s 2016-11-26 12:20:51 +13:00
Brenda Wallace
723ebff923 Spacing fixes 2016-11-26 12:13:17 +13:00
Brenda Wallace
62e7c716dd Removed extra empty blank lines 2016-11-26 12:06:02 +13:00
Brenda Wallace
b17e4eed7d Block indentation fixups 2016-11-26 12:02:47 +13:00
Brenda Wallace
19727144d8 Else statement alignment 2016-11-26 11:57:02 +13:00
Brenda Wallace
e62adc297a Aligning end on branches 2016-11-26 11:55:54 +13:00
Brenda Wallace
2e46cccd21 Hash alignment 2016-11-26 11:52:10 +13:00
Brenda Wallace
bbc19a5436 Array indentation fixed 2016-11-26 11:49:51 +13:00
Brenda Wallace
4cf0f85ee8 Indent the first parameter one step more than the start of the previous line. 2016-11-26 11:46:31 +13:00
Brenda Wallace
d268d2b09e Fixed indentation on comments 2016-11-26 11:45:25 +13:00
Brenda Wallace
200a1c9a84 Closing parenthesis indentation fixed 2016-11-26 11:44:18 +13:00
Brenda Wallace
ebacd83dde Case statement indentation clean up 2016-11-26 11:42:34 +13:00
Brenda Wallace
c878baa886 Indented parameters cleanup 2016-11-26 11:41:07 +13:00
Brenda Wallace
564731667e Fixed up all remaining hash alignment 2016-11-26 11:17:42 +13:00
Brenda Wallace
bae25cfe8f Fixed hash alignment in a funky big DDL 2016-11-26 11:16:55 +13:00
Brenda Wallace
5f3dd04068 Fixed array indentation 2016-11-26 11:00:49 +13:00
Brenda Wallace
2eddaf90cf Fixed access modifier indentation 2016-11-26 11:00:04 +13:00
Brenda Wallace
91d2998507 Fixed multi-line operation indentation 2016-11-26 10:56:23 +13:00
Brenda Wallace
7eb0ee16b9 Indentation for multiline method calls 2016-11-26 10:54:51 +13:00
Brenda Wallace
83392ddda1 Indentation clean ups 2016-11-26 10:51:54 +13:00
pozorvlak
847f4d88d6 Merge pull request #1069 from CloCkWeRX/add-facebook-assets
Add a login splash for facebook
2016-11-25 18:06:02 +00:00
pozorvlak
fb9a1fdfd3 Merge pull request #1061 from Br3nda/bw/long-lines-fixed
Wrapped all lines > 120 chars.
2016-11-25 18:02:22 +00:00
Daniel O'Connor
783406d730 Add a login splash 2016-11-25 09:44:12 +10:00
Brenda Wallace
be67b858b4 Merge remote-tracking branch 'upstream/dev' into bw/long-lines-fixed
Conflicts:
	lib/tasks/growstuff.rake
2016-11-25 08:18:18 +13:00
Miles Gould
a796ba904a Merge branch 'Br3nda-bw/reduce-complexity' into dev 2016-11-24 19:06:31 +00:00
Miles Gould
012f2f0cfa Merge branch 'bw/reduce-complexity' of https://github.com/Br3nda/growstuff into Br3nda-bw/reduce-complexity 2016-11-24 19:00:06 +00:00
pozorvlak
3e8c61c0c3 Merge pull request #1064 from Br3nda/bw/normalise-translations
Normalise translation file
2016-11-24 18:55:10 +00:00
Miles Gould
844f68ef4c Auto-deploy to production on successful merge
I *think* this is all that's necessary, though it's a bit hard to test
:-)
2016-11-24 18:48:01 +00:00
pozorvlak
e95566ed48 Merge pull request #1052 from Growstuff/dev
Release 15
2016-11-24 18:30:36 +00:00
Daniel O'Connor
916fd73071 Merge pull request #1065 from Br3nda/bw/removed-some-duplication
Reduced code duplication in growstuff.rake
2016-11-23 18:11:34 +10:30
Brenda Wallace
18a8d6c5bf Re-instate usage info when args not as expected 2016-11-23 20:38:46 +13:00
Brenda Wallace
37d01e831f Reduced code duplication in growstuff.rake 2016-11-23 20:27:20 +13:00
Brenda Wallace
975deab4b2 Normalise translation file 2016-11-23 20:24:02 +13:00
Brenda Wallace
fb6f1ac0a8 Changed whitelisting of what can have photos 2016-11-21 10:05:52 +13:00
Brenda Wallace
069343803e List of types that can have photos in own method 2016-11-20 21:46:58 +13:00
Brenda Wallace
36d38fe624 Turn off frozen literals requirement 2016-11-20 21:39:51 +13:00
Brenda Wallace
0d6680f574 Disabling rails-pos-args, and documentation
in rubocop
2016-11-20 21:37:10 +13:00
Brenda Wallace
dac2343b68 Further code duplication reduction 2016-11-20 21:18:07 +13:00
Brenda Wallace
f24e02fd11 reduced code duplication again in photos cont spec 2016-11-20 21:13:57 +13:00
Brenda Wallace
dddc7b020d Corrected description in spec 2016-11-20 21:13:33 +13:00
Brenda Wallace
12a9a0b97d one more check no alert was generated 2016-11-20 21:13:08 +13:00
Brenda Wallace
6a8f48693b Reduce code duplication in photos cont spec 2016-11-20 21:12:43 +13:00
Brenda Wallace
50a0668c1d Check no alert message was generated 2016-11-20 21:11:54 +13:00
Brenda Wallace
a7e88a55b3 Spec for trying to attach photo when not allowed. 2016-11-20 21:03:08 +13:00
Brenda Wallace
8012d9f6a8 Whitelist which items can have photos 2016-11-20 21:02:43 +13:00
Brenda Wallace
73a050df13 before_filter becomes before_action
in photos controller
2016-11-20 20:29:45 +13:00
Brenda Wallace
d0a1a113b6 Multi-line block changed from {} to do end 2016-11-20 20:29:01 +13:00
Brenda Wallace
a8bffd3bce White space fix in spec 2016-11-20 20:28:34 +13:00
Brenda Wallace
f6aac07c3d Flatten params passed in photos controller spec 2016-11-20 20:27:59 +13:00
Brenda Wallace
72f1d83af4 Removed a bunch of blank lines 2016-11-20 20:19:14 +13:00
Brenda Wallace
138080c4d4 Tabulation fix 2016-11-20 20:18:20 +13:00
Brenda Wallace
cf70bfebe9 Further simplified photos controller 2016-11-20 20:17:27 +13:00
Brenda Wallace
5fc1ab9c60 Reduced code duplication in growstuff.rake 2016-11-20 19:35:17 +13:00
Brenda Wallace
6078734136 Merge remote-tracking branch 'upstream/dev' into bw/reduce-complexity 2016-11-20 19:25:30 +13:00
Brenda Wallace
917e33bccf Merge remote-tracking branch 'upstream/dev' into bw/long-lines-fixed 2016-11-20 19:24:53 +13:00
Mackenzie
6a8b604554 Merge pull request #1063 from Br3nda/use_phantomjs_211_in_travis
Use phantomjs 211 in travis
2016-11-19 23:57:25 -05:00
Miles Gould
2fa282e131 Install PhantomJS 2.1.1 on Travis-CI
I've found it to be much more stable locally - hopefully it will help
with our flaky CI issues (#901).

Code mostly cargo-culted from
9d3afe3d04
2016-11-20 17:22:05 +13:00
Brenda Wallace
810fe14c69 Highest percieved complexity is now 10 2016-11-20 09:17:42 +13:00
Brenda Wallace
f4a26d0580 has_item_id? renamed to item_id? 2016-11-20 09:06:04 +13:00
Brenda Wallace
0a54c2d986 Moved to method: collection to use for photos 2016-11-20 09:05:29 +13:00
Brenda Wallace
9c4f011fbc Reduced percieved complexity in photos_controller.rb 2016-11-19 22:28:38 +13:00
Brenda Wallace
951727e266 Removed offense count comment from rubocop.yml - has fixed 2016-11-19 13:58:45 +13:00
pozorvlak
7355061762 Merge pull request #1060 from Br3nda/bw/covert-tabs-to-spaces
Covert all tabs to spaces
2016-11-18 13:39:35 +00:00
Brenda Wallace
2872a1c29d Wrapped all long lines.
reduced rubocop's line length limit to 120
2016-11-17 22:02:18 +13:00
Brenda Wallace
fd29a94d6e Whitespace fixes in Gemfile 2016-11-17 21:52:52 +13:00
Brenda Wallace
5e0cff5b8e Merge remote-tracking branch 'upstream/dev' into bw/covert-tabs-to-spaces
Conflicts:
	app/helpers/seeds_helper.rb
	spec/support/controller_macros.rb
2016-11-17 19:04:44 +13:00
Daniel O'Connor
b3ae03ab7e Merge pull request #1059 from Br3nda/bw/trailing-whitespace-begone
Removed all trailing white space
2016-11-16 14:34:49 +10:30
Brenda Wallace
5ec2877577 Covert all tabs to spaces 2016-11-16 13:18:26 +13:00
Brenda Wallace
e182247774 Removed the ignores for trailing whitespace 2016-11-16 13:09:04 +13:00
Brenda Wallace
6bd9bd98d9 Removed extra blank lines, & added a end of file 2016-11-16 12:52:48 +13:00
Brenda Wallace
0475954acf Removed extra blank lines 2016-11-16 12:50:14 +13:00
Brenda Wallace
0d371593fb Merge remote-tracking branch 'upstream/dev' into bw/trailing-whitespace-begone 2016-11-15 03:25:14 +00:00
Daniel O'Connor
a6ef100e02 Merge pull request #1058 from Br3nda/bw/wiki-link-text-dupe
Removed duplicate wiki_linktext
2016-11-14 18:20:17 +10:30
Mackenzie
adc34b76da Merge pull request #1055 from Br3nda/bw/rubocop-ci
Add rubocop to travis ci
2016-11-13 23:10:00 -05:00
Brenda Wallace
a91c785543 Moved metrics placeholders to main rubocop.yml file 2016-11-14 16:51:17 +13:00
Brenda Wallace
1cac58dadc Allow both " and ' quote styles 2016-11-14 16:49:26 +13:00
Brenda Wallace
510c31f669 Removed 3 blank lines that codeclimate didn't like 2016-11-14 15:10:13 +13:00
Brenda Wallace
bdb057ca0f Removed all trailing white space 2016-11-14 15:05:32 +13:00
Brenda Wallace
dc5d7a8677 Removed duplicate wiki_linktext 2016-11-14 14:30:45 +13:00
Brenda Wallace
1fc1c64f62 Ignore rubocop_todo filename in code climate 2016-11-13 17:42:35 +13:00
Brenda Wallace
d49f33476d Merge remote-tracking branch 'upstream/dev' into bw/rubocop-ci 2016-11-13 16:45:10 +13:00
Mackenzie
2260f56713 Merge pull request #1056 from Br3nda/bw/contributors-case
Contributors check case-insentive
2016-11-12 18:39:18 -05:00
Brenda Wallace
eecd54c5ea Use single quotes, as code climate suggests 2016-11-13 11:12:24 +13:00
Brenda Wallace
e1f0b649f5 if! -> unless, as code climate suggests 2016-11-13 11:10:45 +13:00
Brenda Wallace
9605ec6109 Pass args to system() to be escaped 2016-11-13 11:07:57 +13:00
Brenda Wallace
b2977d6806 Search contributors file, case insensitive. 2016-11-13 11:05:43 +13:00
Brenda Wallace
d091aecaf1 Use https for contributor link
Hoping this will fix the failing contributor error
2016-11-13 10:46:46 +13:00
Brenda Wallace
97f0d5fc5d Add vendor to rubocop exclude path 2016-11-13 10:34:57 +13:00
Brenda Wallace
2bc9b8c8bb Added rubocop check to travisci 2016-11-13 10:20:13 +13:00
Brenda Wallace
e312ee2773 All existing rubocop offfenses in a todo file 2016-11-13 10:20:00 +13:00
Brenda Wallace
c685b970d3 Add rubocop to bundle
So we can manage which version of rubocop to use.
2016-11-13 10:07:41 +13:00
Mackenzie Morgan
cee3d192e0 test the new order.by_member_id scope 2016-10-11 16:34:25 -04:00
Mackenzie Morgan
65bf4dae69 Merge branch 'dev' of gitmaco:Growstuff/growstuff into scopify 2016-10-11 15:42:18 -04:00
Mackenzie Morgan
494790bcd4 moving where clauses into scopes to keep that contained in models 2016-10-11 15:28:08 -04:00
Cesy
621b7e5d29 Merge pull request #1048 from pozorvlak/es_factorygirl_weirdness
Prevent FactoryGirl from trying to connect to ElasticSearch in tests
2016-10-11 08:58:32 +02:00
Cesy
b59ebb7d52 Merge pull request #984 from maco/rubocop_config
Rubocop config (ignore the red x)
2016-10-09 17:28:47 +01:00
Miles Gould
ce2141ddb7 Only initialise Crop.__elasticsearch__ if needed
The mere presence of this field was causing any test that ran
`FactoryGirl.create :alternate_name` to try to connect to an
ElasticSearch server, even if GROWSTUFF_ELASTICSEARCH was false.

Fixes #1047
2016-10-07 14:49:09 +01:00
Miles Gould
36c88c3762 Delete trailing whitespace 2016-10-07 14:48:38 +01:00
Mackenzie Morgan
099b399b24 bundle 2016-10-06 22:00:01 -04:00
Mackenzie Morgan
5092c78fba merge 2016-10-06 21:48:18 -04:00
Cesy
199cdf20a7 Merge pull request #1045 from Br3nda/bw/harvest-link
harvest thumbnail title linking to the harvest itself
2016-09-25 10:21:59 +01:00
Brenda Wallace
7c1040e7aa Corrected contributor name 2016-09-19 21:51:13 +12:00
Brenda Wallace
faf117b002 test for link to member's harvest 2016-09-19 18:02:44 +12:00
Brenda Wallace
13e491cda7 harvest thumbnail title linking to the harvest itself 2016-09-18 18:33:28 +12:00
Cesy
286b7118be Merge pull request #1041 from CloCkWeRX/openfarm-links
Add links to OpenFarm
2016-09-15 11:31:13 +01:00
Cesy
b2dfe31b5c Merge pull request #1043 from CloCkWeRX/fix_1042
Fix map token in prod configuration
2016-09-15 09:09:02 +01:00
Daniel O'Connor
1f005a3d42 Fixes #1042 2016-09-14 21:41:18 +09:30
Daniel O'Connor
36c64bd8dc #1038 Add links to OpenFarm 2016-09-14 14:57:08 +09:30
Daniel O'Connor
277325d58c Merge pull request #1036 from Br3nda/bw/json-sessions
allow registration and signin/out on the API
2016-09-14 14:50:04 +09:30
Brenda Wallace
370f407ad6 Adding Brenda Wallace to contributors 2016-09-13 19:25:22 +12:00
Daniel O'Connor
3ea8e2294e Update README.md
Fixes #1037
2016-09-12 21:57:27 +09:30
Brenda Wallace
c6413afa67 allow registration and signin/out on the API 2016-09-11 14:23:50 +12:00
Cesy
fe137a11bb Merge pull request #1031 from CloCkWeRX/queue_mail
Queue mail in sidekiq
2016-08-24 10:38:13 +01:00
Cesy
0fa15161d4 Merge pull request #811 from CloCkWeRX/add_facebook_signup
Add facebook signup
2016-08-24 10:37:47 +01:00
Daniel O'Connor
aeb8792165 Merge remote-tracking branch 'upstream/dev' into queue_mail 2016-08-24 06:35:51 +09:30
Daniel O'Connor
c60609d507 Merge remote-tracking branch 'upstream/dev' into add_facebook_signup 2016-08-23 16:34:03 +09:30
Daniel O'Connor
ad04c07017 Merge pull request #1034 from cesy/railsupdate
Rails update
2016-08-23 01:03:46 +09:30
Daniel O'Connor
f3f8326360 Merge pull request #1033 from cesy/gemupdate
Updating a few gems
2016-08-23 01:00:36 +09:30
Cesy Avon
3798e386ae Upgrading rails to 4.2.1 2016-08-22 14:14:58 +00:00
Cesy Avon
7d3afa005c Updating a few gems 2016-08-22 14:00:03 +00:00
Daniel O'Connor
3bfe2329f1 Merge pull request #1032 from Growstuff/dev
Release 14
2016-08-22 19:19:04 +09:30
Daniel O'Connor
29765ebc19 rubocop --only HashSyntax --auto-correct 2016-08-22 19:02:27 +09:30
Daniel O'Connor
b91f0e7f63 Whitelist providers to avoid session data being tampered with 2016-08-22 18:59:28 +09:30
Daniel O'Connor
87352b04f1 Refactor to a method to DRY, even if its not 100% the best spot for it to live long term 2016-08-22 18:52:12 +09:30
Daniel O'Connor
0f034523e1 Only maximize if the driver supports such a thing 2016-08-22 18:26:08 +09:30
Daniel O'Connor
20b87e596a Modern syntax 2016-08-22 18:25:57 +09:30
Daniel O'Connor
4b7cffad04 DEPRECATION WARNING: [Devise] bypass option is deprecated and it will be removed in future version of Devise. 2016-08-22 16:42:08 +09:30
Daniel O'Connor
bcb0a19dea Merge remote-tracking branch 'upstream/dev' into add_facebook_signup 2016-08-22 16:37:50 +09:30
Daniel O'Connor
4e2311e8d7 Indent 2016-08-22 16:36:30 +09:30
Daniel O'Connor
c7be0f3b0e Fix redirects and sign the user in if they weren't yet created 2016-08-22 16:35:58 +09:30
Daniel O'Connor
9ab79209ef Adjust TOS url 2016-08-22 16:35:41 +09:30
Daniel O'Connor
1c3016a31e Adjust for when running with selenium-webdriver to avoid clicks being placed in the wrong location; and for drivers that don't support blacklisting 2016-08-22 16:17:36 +09:30
Cesy
941001c743 Merge pull request #1029 from CloCkWeRX/add_seed_purchase_links
Add links to ebay, which seems to have a variety of seeds to purchase…
2016-08-16 08:53:09 +01:00
Cesy
40cf5ba63a Merge pull request #1030 from CloCkWeRX/fix_998
Ensure we look at the current control, not the entire collection when marking planting finished
2016-08-16 08:50:30 +01:00
Cesy
9a40449f08 Merge pull request #1024 from CloCkWeRX/mapboxv4
#981 Add mapbox v4
2016-08-16 08:49:44 +01:00
Daniel O'Connor
049d792053 Fix Gemfile.lock 2016-08-16 12:05:14 +09:30
Daniel O'Connor
e399085a57 Update bootstrap-sass coveralls friendly_id js-routes sass-rails simplecov 2016-08-16 11:58:12 +09:30
Daniel O'Connor
18b4a90690 Upgrade excon ffi autoprefixer-rails multi_json mimemagic pry active_utils activemerchant 2016-08-16 11:56:50 +09:30
Daniel O'Connor
a68ffda7eb Upgrade minor gems: kramdown, notifany, httparty, codemirror-rails, bootstrap_form, globalid 2016-08-16 11:56:25 +09:30
Daniel O'Connor
0a722edc88 Fix regression from bad merge 2016-08-16 11:45:58 +09:30
Daniel O'Connor
de407608f2 Merge remote-tracking branch 'upstream/dev' into queue_mail 2016-08-16 11:11:40 +09:30
Daniel O'Connor
ece0fdfe6c Drop sidekiq web for the moment 2016-08-16 11:08:59 +09:30
Daniel O'Connor
5008d35614 Add sidekiq configuration 2016-08-16 11:02:35 +09:30
Daniel O'Connor
6b470f180c #951 Add sidekiq as our activejob backend 2016-08-16 11:01:19 +09:30
Daniel O'Connor
4deb895b4c #951 Add sidekiq 2016-08-16 10:59:30 +09:30
Daniel O'Connor
5d70d822eb #951 Swap to deliver_later implementation 2016-08-16 10:55:40 +09:30
Daniel O'Connor
90a88cf69d Fixes #998 Ensure we look at the current control, not the entire collection 2016-08-16 10:33:23 +09:30
Daniel O'Connor
044a992d25 Merge pull request #1025 from polveenomials/nav-header
Enhancement of the navigation bar (header)
2016-08-15 23:30:11 +09:30
Daniel O'Connor
4b066ec37f Merge pull request #1028 from CloCkWeRX/minor_gem_upgrades_august_2016
Minor gem upgrades for August 2016
2016-08-15 23:28:30 +09:30
Daniel O'Connor
0dad02343e Merge remote-tracking branch 'upstream/dev' into add_facebook_signup 2016-08-15 23:14:49 +09:30
Daniel O'Connor
7f6a1a424d Merge remote-tracking branch 'upstream/dev' into add_facebook_signup 2016-08-15 23:13:55 +09:30
Daniel O'Connor
c2dc2c5836 Merge pull request #1027 from CloCkWeRX/cve-2016-6317
Fix CVE-2016-6316 CVE-2016-6317
2016-08-15 23:10:27 +09:30
Daniel O'Connor
58452204aa Add links to ebay, which seems to have a variety of seeds to purchase with our affiliate id 2016-08-15 22:42:32 +09:30
Daniel O'Connor
711ba73d6b Upgrade devise to 4.2 2016-08-15 22:12:34 +09:30
Daniel O'Connor
5354f2732f Update bootstrap-sass coveralls friendly_id js-routes sass-rails simplecov 2016-08-15 22:07:39 +09:30
Daniel O'Connor
9bbaaa2211 Upgrade excon ffi autoprefixer-rails multi_json mimemagic pry active_utils activemerchant 2016-08-15 22:04:43 +09:30
Daniel O'Connor
93c47d774e Upgrade minor gems: kramdown, notifany, httparty, codemirror-rails, bootstrap_form, globalid 2016-08-15 22:01:56 +09:30
Daniel O'Connor
d8ad697d09 Swap tokens 2016-08-15 21:53:17 +09:30
Daniel O'Connor
7308a7cf9a Name: actionview
Version: 4.2.6
Advisory: CVE-2016-6316
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/rubyonrails-security/I-VWr034ouk
Title: Possible XSS Vulnerability in Action View
Solution: upgrade to ~> 3.2.22.3, ~> 4.2.7.1, >= 5.0.0.1

Name: activerecord
Version: 4.2.6
Advisory: CVE-2016-6317
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/rubyonrails-security/rgO20zYW33s
Title: Unsafe Query Generation Risk in Active Record
Solution: upgrade to ~> 4.2.7.1
2016-08-15 21:45:26 +09:30
Cesy
c9c49a7e5e Merge pull request #1026 from CloCkWeRX/gardenate_attempt_2
Gardenate attempt 2
2016-08-15 13:15:21 +01:00
Daniel O'Connor
dba6b2a291 Mitigate security concerns with target=_blank via https://www.jitbit.com/alexblog/256-targetblank---the-most-underestimated-vulnerability-ever/ 2016-08-15 21:31:45 +09:30
Daniel O'Connor
7d3991b295 #967 Mitigate security concerns with target=_blank via https://www.jitbit.com/alexblog/256-targetblank---the-most-underestimated-vulnerability-ever/ 2016-08-15 21:30:51 +09:30
Daniel O'Connor
e4c0ecfb5a Add basic test 2016-08-15 21:30:40 +09:30
Daniel O'Connor
fdb0e842de #864 Add links to google, gardenate 2016-08-15 21:30:33 +09:30
polveenomials
85ff36198b Added name to the CONTRIBUTORS.md 2016-08-04 14:27:49 +08:00
Daniel O'Connor
e38321aa33 #981 Add mapbox access token (on my free 50k views account) and update to v4 2016-07-28 14:27:49 +09:30
Kristine Nicole Polvoriza
d1438d1b2e Fixed the nav header in mobile view 2016-07-28 12:31:50 +08:00
pozorvlak
b6f848ef66 Merge pull request #1021 from CloCkWeRX/picture_improvements
If a harvest doesn't have any photos, try to look at the crop's default photo
2016-07-21 18:24:58 +01:00
Daniel O'Connor
ff47784aee Add explicit test coverage 2016-07-21 12:21:56 +09:30
Daniel O'Connor
1dba711057 Add more explicit test coverage 2016-07-21 12:13:37 +09:30
Daniel O'Connor
6911f7b24b Typo 2016-07-21 12:05:37 +09:30
pozorvlak
1e94abd063 Merge pull request #1019 from CloCkWeRX/mobile_searchbar
Use navbar-right, and reposition search box to fix mobile layout
2016-07-20 12:44:03 +01:00
Cesy
3325e1e388 Merge pull request #1020 from Growstuff/dev
Release 13
2016-07-19 10:45:28 +01:00
Daniel O'Connor
07f7bd24d5 Clean up 2016-07-09 21:54:26 +09:30
Daniel O'Connor
04074ff372 Reimplement ajax like/unlike behaviour 2016-07-09 21:53:33 +09:30
Daniel O'Connor
d3dac756d6 Merge remote-tracking branch 'upstream/dev' into likeable 2016-07-09 21:08:33 +09:30
Daniel O'Connor
4b87977e24 It helps to type properly 2016-07-08 18:12:16 +09:30
Daniel O'Connor
dfa28264c6 #1017 When a crop has no photos, look for harvests of the crop with photos. 2016-07-08 18:09:53 +09:30
Daniel O'Connor
f0c1d6d4c2 #997 Use the harvest photo lookup, not the harvest.crop one 2016-07-08 18:01:53 +09:30
Daniel O'Connor
427b98a157 #997 If a harvest doesn't have any photos, try to look at the crop's default photo 2016-07-08 17:59:32 +09:30
Daniel O'Connor
8f5000443f Use navbar-right, and reposition search box to fix mobile layout 2016-07-08 17:45:00 +09:30
Daniel O'Connor
7947fd6e91 Clean up link_to as per #1013 2016-07-08 17:08:17 +09:30
Daniel O'Connor
70bf5499b2 Clean up logic a bit as per #1013 2016-07-08 17:07:14 +09:30
Daniel O'Connor
6b059cb4f4 Clean up a bit as per #1013 with TODO comments 2016-07-08 17:06:05 +09:30
Daniel O'Connor
efd112c4b8 And vs && - revised version of b50127c166 2016-07-08 17:01:59 +09:30
Mackenzie Morgan
5c7b760f34 Use array literal [] instead of Array.new 2016-07-08 16:58:34 +09:30
Mackenzie Morgan
81ae473972 space between comma-separated arguments 2016-07-08 16:58:29 +09:30
Mackenzie Morgan
a8171bb739 has_key? -> key? 2016-07-08 16:58:22 +09:30
Daniel O'Connor
c803ed4ee6 Merge pull request #976 from pozorvlak/remove_default_shows
Remove "show" methods that just do the default
2016-07-08 16:56:25 +09:30
Daniel O'Connor
9e41a65749 Tweak readme wiki links
Supercedes #1016
2016-07-08 15:33:16 +09:30
Daniel O'Connor
43e7d6f7c2 Merge remote-tracking branch 'upstream/dev' into add_facebook_signup 2016-07-05 03:09:36 +09:30
Cesy
a7539df5b5 Merge pull request #1018 from CloCkWeRX/minor_rails_bump
Minor gem upgrades for the month
2016-07-01 10:14:22 +01:00
Daniel O'Connor
3950619877 Update various minor gems even more 2016-07-01 17:42:58 +09:30
Daniel O'Connor
7373fd4aa9 Update various minor gems 2016-07-01 17:34:25 +09:30
Daniel O'Connor
c3d9885525 Merge pull request #987 from CloCkWeRX/upgradazzle_rails
Upgrade to rails 4.2.0+ (round 2)
2016-06-29 14:47:05 +09:30
Daniel O'Connor
4b5dee7bdb Merge pull request #1007 from ctlewitt/dev
issue #1006: change "Freenode" to "irc.freenode.net" in README.md
2016-06-29 12:51:05 +09:30
Charley Lewittes
55d846b9e0 Merge remote-tracking branch 'them/dev' into dev 2016-06-22 10:56:56 -04:00
Daniel O'Connor
f2d8349a88 #1012 Tweak script to avoid errors after merge 2016-06-22 10:46:26 +09:30
Daniel O'Connor
7c7dd7c609 Merge pull request #1012 from pozorvlak/check_contributors_md
Check PR author is in CONTRIBUTORS.md under Travis
2016-06-22 10:25:06 +09:30
Charley Lewittes
d8f2c580ee added myself to contributors list 2016-06-21 13:14:26 -04:00
Charley Lewittes
2a0602468d Added link and wording to access Freenode IRC growstuff channel easily
fixes #1006
2016-06-21 13:03:06 -04:00
Charley Lewittes
89a9c18188 fixes #1006: change "Freenode" to "irc.freenode.net" in README.md 2016-06-21 12:49:33 -04:00
Miles Gould
8b426da149 Check PR author is in CONTRIBUTORS.md under Travis
Results of testing this locally (the exit value of the last command is
in my prompt):

```
0 $ TRAVIS=true TRAVIS_REPO_SLUG=growstuff/growstuff
TRAVIS_PULL_REQUEST=1007 script/check_contributors_md
Checking to see if you're in CONTRIBUTORS.md...

Thanks for your contribution, ctlewitt!
Please add your name and GitHub handle to the file CONTRIBUTORS.md,
commit it, and update your PR.

1 $ TRAVIS=true TRAVIS_REPO_SLUG=growstuff/growstuff
TRAVIS_PULL_REQUEST=1008 script/check_contributors_md
Checking to see if you're in CONTRIBUTORS.md...
- Miles Gould / [pozorvlak](https://github.com/pozorvlak)
0 $ script/check_contributors_md
Checking to see if you're in CONTRIBUTORS.md...
- Miles Gould / [pozorvlak](https://github.com/pozorvlak)
0 $
```
2016-06-21 16:37:26 +01:00
pozorvlak
cab98f9750 Merge pull request #1011 from Growstuff/revert-1002-letsencrypt-pt2-1
Revert "challenge code"
2016-06-21 15:28:15 +01:00
pozorvlak
27b7a26fee Merge pull request #1010 from Growstuff/revert-999-letsencrypt
Revert "lets encrypt challenge page"
2016-06-21 15:27:38 +01:00
Cesy
7261fae9f2 Revert "challenge code" 2016-06-21 15:06:02 +01:00
Cesy
628ebd6841 Revert "lets encrypt challenge page" 2016-06-21 15:05:45 +01:00
Cesy
61bbf7c30d Merge pull request #1008 from pozorvlak/test_gemfile_commits
Check for "forgot to commit Gemfile.lock" in CI
2016-06-21 14:57:54 +01:00
Miles Gould
e33803343a Check for "forgot to commit Gemfile.lock" in CI
Quick-and-dirty script to catch an error we've missed a couple of times
in code review, but which is not (AFAICT) covered by any of our existing
checkers. Inspired by the following posts:

 - https://zachholman.com/posts/how-github-writes-blog-posts/
 - https://zachholman.com/talk/move-fast-break-nothing/
2016-06-21 13:32:11 +01:00
Mackenzie
b08a448fdc hotfix commit: letsencrypt try #2 2016-06-20 13:40:49 -04:00
Cesy
7210ebfb22 Merge pull request #1004 from maco/letsencrypt
Letsencrypt, will be backed out once SSL is up and running.
2016-06-20 16:57:24 +01:00
Mackenzie Morgan
039978357b letsencrypt verification for staging 2016-06-20 11:48:19 -04:00
Cesy
7ce2481cbc Merge pull request #1002 from Growstuff/letsencrypt-pt2-1
challenge code - will also get reverted once SSL is up.
2016-06-20 15:49:33 +01:00
Mackenzie
5bc6af87c5 challenge code 2016-06-20 10:46:40 -04:00
Cesy
a5eaf3566e Merge pull request #999 from Growstuff/letsencrypt
lets encrypt challenge page - temporary change for SSL tool, will be backed out after
2016-06-20 15:42:22 +01:00
Mackenzie Morgan
58d40e912d Tweak rubocop config
* turn off line length limit
* turn off class documentation requirement
* 30 line methods
2016-06-20 10:35:38 -04:00
Mackenzie
63d89be698 lets encrypt challenge page 2016-06-20 10:34:11 -04:00
pozorvlak
1b7be9f9b0 Merge pull request #936 from maco/add_bootstrap_flashes
Add support for Bootstrap alert types
2016-06-20 10:19:36 +01:00
Mackenzie Morgan
7a53e96d52 test the default case 2016-06-19 22:52:51 -04:00
Mackenzie Morgan
b28d146de7 use default of info
add tests
2016-06-19 22:42:20 -04:00
Mackenzie Morgan
55c8be8dc5 merge 2016-06-19 22:27:27 -04:00
Daniel O'Connor
38a273459a Merge pull request #996 from pozorvlak/block_unknown_urls_in_features
Block external URLs in feature tests
2016-06-18 20:21:32 +09:30
Miles Gould
1b07632c69 Block external URLs in features
https://github.com/teampoltergeist/poltergeist/issues/375#issuecomment-42620085
suggested that this might help with our intermittent "Request to
http://localhost:8081 failed to reach server, check DNS and/or server
status" errors in CI - the theory being that the error message is
misleading, and it's actually a daughter request to an external service
timing out. Seems worth a shot. It also ought to speed up testing, but
the effect is slight (20s out of 3.5 minutes) on my machine.

I've blacklisted only URLs I could find in app/views or by tcpdumping a
test run, because I couldn't get whitelisting to work.
2016-06-17 21:12:25 +01:00
pozorvlak
4a12523793 Merge pull request #991 from Growstuff/dev
Release 12
2016-06-17 11:37:29 +01:00
pozorvlak
6aa601b8ab Merge pull request #993 from Growstuff/revert-988-dev
Revert "Handled Issue #950 (Branded Error Pages)"
2016-06-16 13:30:50 +01:00
pozorvlak
a66a040207 Revert "Handled Issue #950 (Branded Error Pages)" 2016-06-16 12:58:22 +01:00
pozorvlak
547a408a99 Merge pull request #988 from Prashanth261993/dev
Add branding to error pages (#950)
2016-06-16 11:12:23 +01:00
pozorvlak
8cd224b7fa Merge pull request #990 from maco/sparkpost_#917
don't override our environment email settings with plain old sendmail
2016-06-15 20:03:35 +01:00
Mackenzie Morgan
8428e93b47 don't override our environment email settings with plain old sendmail 2016-06-15 13:27:51 -04:00
Prashanth
483143f2fe Merge branch 'growstuff-dev' into dev
Conflicts:
	CONTRIBUTORS.md
2016-06-14 17:09:06 +05:30
pozorvlak
1b3d106b6d Merge pull request #989 from maco/sparkpost_#917
update to SparkPost's mailserver
2016-06-13 18:04:43 +01:00
Mackenzie Morgan
e7be006fa7 update to SparkPost's mailserver 2016-06-13 12:12:00 -04:00
Prashanth
b9f40151d8 Handled Issue #950 (Branded Error Pages)
Moved error related views from public to errors (asset pipeline can be used).
Header and footer were included along with the error message.
2016-06-10 18:35:48 +05:30
Daniel O'Connor
fd467acc29 Clean up whitespace 2016-06-10 20:51:02 +09:30
pozorvlak
e1ad0c31c8 Merge pull request #986 from CloCkWeRX/update_various_gems_nokogiri
Update various gems - nokogiri, mime-types, parser, guard-rspec
2016-06-10 11:09:12 +01:00
Daniel O'Connor
ee604dc2b0 Upgrade activemerchant, fixing rails 5 deprecation warnings 2016-06-10 16:04:00 +09:30
Daniel O'Connor
0620646c6d Fix failing specs
- Updated assert_select behaviour given this is now based on nokogiri
 - Adjust some specs not to look for a specific asset name, but a behaviour
 - Adjust some specs for HTML5 style attributes instead of xhtml style
 - Fix tests that did not render before
2016-06-10 16:01:30 +09:30
Daniel O'Connor
df9cf3f5c4 Fix various rails deprecations 2016-06-10 15:58:39 +09:30
Daniel O'Connor
944349760a Fix DEPRECATION WARNING: #timestamps was called without specifying an option for null.
In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing
2016-06-10 15:57:48 +09:30
Daniel O'Connor
7fe75ee52a Fix DEPRECATION WARNING: #deliver is deprecated. 2016-06-10 15:45:01 +09:30
Daniel O'Connor
e3d7bf9a62 Upgrade to rails 4.2.* 2016-06-10 15:43:04 +09:30
Daniel O'Connor
deaf49c18f Update selenium-webdriver 2016-06-10 15:40:56 +09:30
Daniel O'Connor
53543fff4c Update terminal-table 2016-06-10 15:40:29 +09:30
Daniel O'Connor
ea5e710a70 Update codeclimate-test-reporter 2016-06-10 15:38:43 +09:30
Daniel O'Connor
ad5a52ae74 Update tilt 2016-06-10 15:36:07 +09:30
Daniel O'Connor
c0cc5ab085 Update geocoder 2016-06-10 15:35:29 +09:30
Daniel O'Connor
cf784cbedd Update parser to current 2016-06-10 15:20:31 +09:30
Daniel O'Connor
5c68830919 Update guard-rspec 2016-06-10 15:19:57 +09:30
Daniel O'Connor
370aab41c3 Update mime-types 2016-06-10 15:19:28 +09:30
Daniel O'Connor
081f4021bc Upgrade nokogiri 2016-06-10 15:19:03 +09:30
Daniel O'Connor
36f846fabf Merge pull request #982 from CloCkWeRX/update_gibbon
Upgrade gibbon
2016-06-10 15:13:18 +09:30
pozorvlak
f6d094f57c Merge pull request #985 from lucasnogueira/fix_simplecov_deprecation
Fix SimpleCov Deprecation Warning
2016-06-09 22:37:40 +01:00
Lucas Nogueira
9ce097b7d6 Fix SimpleCov Deprecation Warning 2016-06-09 17:42:11 -03:00
Mackenzie Morgan
91991f0c67 update Gemfile.lock 2016-06-09 14:25:04 -04:00
Mackenzie Morgan
306cd13723 add rubocop config with all the things turned on 2016-06-09 14:13:31 -04:00
Mackenzie Morgan
8c624cfacd merge 2016-06-09 14:13:02 -04:00
pozorvlak
b03ccce575 Merge pull request #980 from lucasnogueira/replace_pluralize
Replace pluralize calls
2016-06-09 16:39:34 +01:00
Lucas Nogueira
63b8788c80 Change hash syntax 2016-06-09 11:57:56 -03:00
Daniel O'Connor
faa3beddbc Upgrade gibbon 2016-06-10 00:17:28 +09:30
Lucas Nogueira
5dbd5bc1d2 Correct minor typos 2016-06-09 08:21:28 -03:00
Lucas Nogueira
b8b0d98e07 Update the contributors list 2016-06-08 22:06:26 -03:00
Lucas Nogueira
b911ebfd07 Replace pluralize calls 2016-06-08 22:03:40 -03:00
Lucas Nogueira
1ca515bd4e Add missing activerecord model to locales 2016-06-08 21:56:29 -03:00
Lucas Nogueira
905710b6e9 Helper for plural localization 2016-06-08 21:55:33 -03:00
Mackenzie
12e0f674bc Merge pull request #977 from pozorvlak/fix_devise_warnings
Replace deprecated Devise `for` method with `permit`
2016-06-08 13:14:05 -04:00
Mackenzie
18739c2a24 Merge pull request #974 from pozorvlak/remove_vendor_dir
Remove vendor directory
2016-06-08 11:12:14 -04:00
pozorvlak
f3dc2ff7e5 Replace deprecated Devise for method with permit
This should eliminate the screens-ful of deprecation warnings when
running the test suite.
2016-06-08 15:00:05 +00:00
pozorvlak
e6209a5906 Remove "show" methods that just do the default
We can just fall back to the default implementation for these.
2016-06-08 15:58:45 +01:00
Mackenzie
dbf64a4e90 Merge pull request #975 from Growstuff/revert-972-show_concern
Revert "Show concern"
2016-06-08 09:26:58 -04:00
pozorvlak
a8961c3466 Revert "Show concern" 2016-06-08 12:58:32 +01:00
pozorvlak
6931952688 Whitespace fixes 2016-06-07 17:43:36 +00:00
pozorvlak
936aa17ecc Remove references to vendor directory
This consisted of instructions to various code-quality tools to
ignore it.
2016-06-07 17:43:36 +00:00
pozorvlak
f3d7420b8a Remove vendor directory
We no longer need it, since we're now getting the functionality we
needed from upstream gems.
2016-06-07 17:43:35 +00:00
pozorvlak
e419acea6e Install BogusPayPalGateway gem
We were maintaining a vendor fork of active_merchant because they
refused to merge this feature in; it's now been released as a
separate gem.
2016-06-07 17:43:35 +00:00
pozorvlak
95ae15b780 Merge pull request #972 from maco/show_concern
Show concern
2016-06-07 16:22:17 +01:00
Mackenzie Morgan
ed468e79fc Merge branch 'dev' of gitmaco:Growstuff/growstuff into show_concern 2016-06-07 09:57:47 -04:00
Daniel O'Connor
130565af75 Merge pull request #969 from maco/code_climate_token
add Code Climate token to Travis config
2016-06-07 09:01:27 +09:30
Daniel O'Connor
ad8f360336 Merge pull request #970 from maco/codeclimate_exclude_vendor
exclude vendor gems from code climate
2016-06-07 09:01:05 +09:30
Daniel O'Connor
15775403fd Merge pull request #971 from maco/readme_email
info@ email exists again
2016-06-07 09:00:38 +09:30
Mackenzie Morgan
e1b83c32af info@ email exists again 2016-06-06 13:27:13 -04:00
Mackenzie Morgan
3fc7c65247 exclude vendor gems from code climate 2016-06-06 13:14:01 -04:00
Mackenzie Morgan
c8d1239b79 add Code Climate token to Travis config 2016-06-06 09:40:30 -04:00
Daniel O'Connor
6f9ae13757 Update spec to wait for the link to appear 2016-06-04 23:01:57 +09:30
Daniel O'Connor
0a33ae8d37 Add an ajax like and unlike (though it hides after the user action) 2016-06-04 22:49:08 +09:30
Daniel O'Connor
ac33816675 Update spec 2016-06-04 21:37:35 +09:30
Cesy
7885257fae Merge pull request #943 from CloCkWeRX/adjust_helper
Deal with .nil quantity of a seed in rendering helper
2016-06-04 12:41:03 +01:00
Daniel O'Connor
77e95ad344 Shift to concerns 2016-06-04 21:02:50 +09:30
Daniel O'Connor
bb25cbe5e2 Merge branch 'dev' of github.com:Growstuff/growstuff into likeable 2016-06-04 21:00:52 +09:30
Daniel O'Connor
a8d22709e6 Add explict test coverage of the helper with nil seeds (page level tests already cover this rendering on crop detail in general) 2016-06-04 20:51:20 +09:30
pozorvlak
31b7b45ae3 Merge pull request #966 from cesy/readme
Updating readme with current wiki status and Gitter link
2016-06-03 14:34:35 +01:00
Cesy Avon
681798b582 Updating readme with current wiki status and Gitter link 2016-06-03 13:12:19 +00:00
Cesy
f05ea56179 Merge pull request #965 from dv2/dev
Add test coverage for GardensHelper
2016-06-03 14:03:07 +01:00
DV Dasari
ed4269ea4c fixing grammar in test descriptions 2016-06-03 07:54:24 -05:00
DV Dasari
085fcc958e Add test coverage for GardensHelper 2016-06-02 22:22:14 -05:00
pozorvlak
8f33fe3595 Merge pull request #960 from CloCkWeRX/update_various_gems
Update various gems
2016-06-02 18:18:12 +01:00
pozorvlak
980a7d79d3 Merge pull request #963 from CloCkWeRX/add_better_opengraph_squashed
Various bugfixes for facebook/opengraph
2016-06-02 17:58:05 +01:00
pozorvlak
9c5c07e087 Merge pull request #948 from cesy/issue875
Fix #875 edited date on comments on homepage
2016-06-02 17:41:59 +01:00
Daniel O'Connor
faaf07cad8 Render the full size image, as facebook doesn't like smaller thumbnails 2016-06-03 01:58:34 +09:30
Daniel O'Connor
0e83a230b9 Helps not to render excess info 2016-06-03 01:54:26 +09:30
Daniel O'Connor
c278b36858 Up the various opengraph images to 200x200 2016-06-03 01:45:43 +09:30
pozorvlak
0805f86b86 Merge pull request #961 from cesy/issue476
Issue 476 edited by date on comments and posts
2016-06-02 16:53:44 +01:00
pozorvlak
aad88f1da6 Merge pull request #962 from CloCkWeRX/add_better_opengraph_squashed
Add better opengraph behaviour, fix facebook share thumbnail size
2016-06-02 16:52:13 +01:00
Daniel O'Connor
7550bc860f #816 Add better opengraph behaviour, fix facebook share thumbnail size 2016-06-03 01:01:03 +09:30
Cesy Avon
fc38e1edea Issue #476 test update 2016-06-02 14:58:10 +00:00
Daniel O'Connor
88a66a705b Update devise to 4.1.X and unpin 2016-06-03 00:23:58 +09:30
Daniel O'Connor
f77fd00931 Remove version pin for rspec-rails 2016-06-03 00:19:49 +09:30
Daniel O'Connor
b5c030905a Upgrade to geocoder current (we shouldn't be affected by the deprecations in 1.2.X or 1.3.X) 2016-06-03 00:16:00 +09:30
Daniel O'Connor
2844e13298 Upgrade factory_girl_rails, factory_girl 2016-06-03 00:10:25 +09:30
Cesy Avon
3e4dc1f9e3 Issue #875 typo causing test error 2016-06-02 14:39:56 +00:00
Cesy Avon
259c1e1731 Fix #476 show edited and posted date on posts and comments 2016-06-02 14:37:33 +00:00
Daniel O'Connor
870aa674b0 Upgrade autoprefixer-rails to current 2016-06-03 00:07:28 +09:30
Daniel O'Connor
b1ab319bf7 Update mime-types-data to current 2016-06-03 00:05:46 +09:30
Daniel O'Connor
857422719a Upgrade byebug to current 2016-06-03 00:04:09 +09:30
Daniel O'Connor
235314bc13 Upgrade js-routes to current 2016-06-03 00:03:48 +09:30
Daniel O'Connor
ac1cd88ae1 Upgrade kaminari to current 2016-06-03 00:01:38 +09:30
Daniel O'Connor
f93ea3c0a1 Upgrade httparty to current 2016-06-03 00:00:08 +09:30
Cesy Avon
0075040aab Fix #875 edited date on comments on homepage 2016-06-02 13:56:03 +00:00
Cesy
f9d51e623c Merge pull request #959 from pozorvlak/remove_capfile
Remove the Capistrano configuration file
2016-06-02 14:13:46 +01:00
Miles Gould
dcd36dcd67 Remove the Capistrano configuration file
Finishes work started in 93e468876d.
2016-06-02 13:45:53 +01:00
Cesy
608a921fce Merge pull request #956 from CloCkWeRX/upgrade_devise4
Upgrade to devise 4.0.*
2016-06-02 10:18:29 +01:00
pozorvlak
4bedf1e6ac Merge pull request #955 from CloCkWeRX/upgrade_geocoder
Swap to geocoder 1.1.9
2016-06-02 09:49:04 +01:00
pozorvlak
ac14c310f6 Merge pull request #954 from CloCkWeRX/ruby_231
Bump to Ruby 2.3.1
2016-06-02 09:48:20 +01:00
Daniel O'Connor
f979da315a Explicitly swap from config.email_regexp = /\A[^@\s]+@([^@\s]+\.)+[^@\W]+\z/
to the new default
2016-06-02 13:50:25 +09:30
Daniel O'Connor
a74ef7de6b Upgrade to devise 4.0.3 2016-06-02 13:49:13 +09:30
Daniel O'Connor
10064121a6 #953 Swap to geocoder 1.1.9; which is the release just after what we had previously pinned 2016-06-02 13:30:42 +09:30
Daniel O'Connor
f8a1ef6066 #952 Try ruby 2.3.1 2016-06-02 13:14:10 +09:30
Daniel O'Connor
40d7b11d90 #952 Try ruby 2.3.1 2016-06-02 13:13:52 +09:30
Mackenzie Morgan
1600dd9e0b Merge branch 'dev' of gitmaco:Growstuff/growstuff into add_bootstrap_flashes 2016-06-01 23:37:25 -04:00
pozorvlak
fbf5164eca Merge pull request #937 from dv2/dev
Add test coverage for Seeds Helper
2016-06-01 16:33:38 +01:00
DV Dasari
21d86a8c2d improve the test descriptions to be more readable 2016-06-01 09:46:22 -05:00
DV Dasari
848c7e117b Add test coverage for Seeds Helper 2016-06-01 09:46:22 -05:00
Cesy
369868672b Merge pull request #942 from pozorvlak/fix_coverage_calculations
Fix coverage calculations
2016-06-01 15:41:42 +01:00
Daniel O'Connor
321f3517a7 #920 Deal with .nil quantity of a seed in rendering helper 2016-06-01 23:26:43 +09:30
Miles Gould
6dd7ec9f95 Fix coverage calculations
SimpleCov was reporting 0% coverage for any files loaded before
`SimpleCov.start` was called, even if they were fully tested. This patch
loads the application *after* starting SimpleCov, leading to more
accurate coverage figures.
2016-06-01 14:54:13 +01:00
Cesy
dc00878ff9 Merge pull request #938 from Growstuff/dev
Release 11
2016-06-01 14:13:42 +01:00
Mackenzie Morgan
90f444dc1a Merge branch 'dev' of gitmaco:Growstuff/growstuff into add_bootstrap_flashes 2016-05-31 10:50:56 -04:00
Miles Gould
4fa2e273aa Merge remote-tracking branch 'origin/pr/933' into dev 2016-05-31 15:48:17 +01:00
pozorvlak
df92e0574a Merge pull request #934 from dv2/dev
Align links properly on "Forgot password page", "Resend confirmation" and "Resend unlock" pages
2016-05-31 15:46:27 +01:00
DV Dasari
e2053e2f8b adding me to CONTRIBUTORS.md 2016-05-31 07:33:40 -05:00
Eric Tillberg
31f0052b9d added to contributors list 2016-05-31 06:49:17 -04:00
pozorvlak
b6169778fd Merge pull request #932 from CloCkWeRX/location-not-set
Add a location not set layout (lets try this again!)
2016-05-31 11:41:11 +01:00
Mackenzie Morgan
32b98a7e40 Add support for Bootstrap alert types
* All alerts are currently shoved into either red (error) or green (success)
* Add support for yellow (warning) and blue (info) alert types

Solution from this Stack Overflow: http://stackoverflow.com/questions/31094771/rails-bootstrap-haml-how-to-convert-this-code-to-display-flash-messages-to
2016-05-30 21:48:11 -04:00
Daniel O'Connor
5111c2a96b Add sr-only text 2016-05-31 09:43:53 +09:30
Eric Tillberg
2ac901c891 feature test for issue 910 2016-05-30 09:06:09 -04:00
Mackenzie
ff4466951c Merge pull request #935 from CloCkWeRX/remove_crowdfunding
Remove crowdfunding code
2016-05-29 23:27:22 -04:00
Daniel O'Connor
8f05e254a2 Remove crowdfunding code 2016-05-30 10:06:51 +09:30
DV Dasari
5122903139 align links on "Resend unlock instructions" page 2016-05-29 18:25:01 -05:00
DV Dasari
1344f776e4 align devise shared links properly on "Resend confirmation instructions" page 2016-05-29 18:23:57 -05:00
DV Dasari
f33367ebac align devise shared links properly on "Forgot your password" page 2016-05-29 18:19:15 -05:00
Eric Tillberg
3ac42deae5 crop approval flash alert for wranglers upon sign in 2016-05-29 16:13:21 -04:00
Daniel O'Connor
3d04e7c125 Add list-inline to ensure the sidebar never conflicts with other content 2016-05-28 09:30:54 +09:30
Daniel O'Connor
fa77f11177 Based on MIT licenced icon-globe (http://fontawesome.io/3.2.1/icon/globe/) 2016-05-28 09:26:00 +09:30
pozorvlak
45c8767234 Merge pull request #922 from maco/bug-#848
Swap over to having "(Optional)" (or translation) after optional form…
2016-05-27 17:41:42 +01:00
Mackenzie Morgan
13dc87f368 Optional field improvements
* Added custom matcher `have_optional(field id name goes here)`
* Fix partial
* Add tests
2016-05-27 11:26:36 -04:00
Mackenzie Morgan
fc0116182f Merge branch 'dev' of gitmaco:Growstuff/growstuff into bug-#848 2016-05-27 11:24:37 -04:00
Mackenzie
bbe9f3f1db Merge pull request #927 from pozorvlak/delete_puts_in_spec
Remove warnings and debugging puts from rspec output
2016-05-27 11:21:52 -04:00
Miles Gould
1009570102 Check href attribute of links in planting reminder
To check the target of a link, you need to pass it to `has_link` as an
`href` keyword argument. We were passing it as a positional argument,
which meant that

 - it was ignored, weakening the tests
 - the output of rspec filled up with annoying warnings.

Fixes #928.
2016-05-27 15:46:21 +01:00
Mackenzie Morgan
47f42d0ffa Merge branch 'dev' of gitmaco:Growstuff/growstuff into bug-#848 2016-05-27 10:22:35 -04:00
Miles Gould
23d21be73f Delete debugging puts statement from spec
Fixes the "rspec output includes an HTML page dump" issue noted at
2089866756 (diff-6464240396bc745d7e89a408c200fd3aR15)
2016-05-27 14:04:30 +01:00
pozorvlak
25f8d2ca44 Merge pull request #924 from maco/capybara-tools
Add capybara-screenshot to assist with feature testing
2016-05-27 13:18:26 +01:00
pozorvlak
58d91ec0b0 Merge pull request #923 from maco/bug-#854
Display one line of description in harvest card, then go to ellipsis …
2016-05-27 12:17:10 +01:00
pozorvlak
85cc9868cb Merge pull request #925 from maco/bug-#906
Capture originalText from the button that's been clicked, not from…
2016-05-27 11:24:08 +01:00
Mackenzie Morgan
75631da398 Set filename of screenshot to test name 2016-05-27 00:21:02 -04:00
Mackenzie Morgan
03c74dae03 Capture originalText from the button that's been clicked, not from the array of all possible date-picker buttons.
Fixes #906
2016-05-26 23:55:49 -04:00
Mackenzie Morgan
2089866756 Display one line of description in harvest card, then go to ellipsis and put read more on next line
Fixes #854
2016-05-26 23:08:23 -04:00
Mackenzie Morgan
8d982c7e3e Add capybara-screenshot to assist with feature testing 2016-05-26 22:39:58 -04:00
Mackenzie Morgan
079cecc529 Swap over to having "(Optional)" (or translation) after optional form elements rather than using placeholder text
Fixes #848
2016-05-26 16:53:46 -04:00
pozorvlak
b0d90f6fd5 Merge pull request #921 from maco/bug-#876
Use standardized & translateable strings for the photo show page
2016-05-26 17:50:12 +01:00
Mackenzie Morgan
58f4ae32d0 test update 2016-05-26 12:28:58 -04:00
Mackenzie Morgan
dd0373a3ee Use standardized & translateable strings for the photo show page
Fixes #876
2016-05-26 11:51:46 -04:00
pozorvlak
170dca7086 Merge pull request #918 from maco/bug-#855
Stop hard-coding strings for pagination
2016-05-26 13:00:33 +01:00
pozorvlak
c930f04b5a Merge pull request #905 from maco/photos
refactor photo controller create for readability
2016-05-26 12:57:29 +01:00
Cesy
f41d919ca8 Merge pull request #916 from maco/bug_873
make seed card heading link to seed page and add owner link. Fixes #873
2016-05-26 09:58:37 +01:00
Cesy
8c4583b0d3 Merge pull request #915 from maco/autocomplete_dropdown
set background color on autocomplete dropdown. Fixes #914
2016-05-26 09:57:02 +01:00
Mackenzie Morgan
972518e9fc Stop hard-coding strings for pagination
Use translation template to set singular/other strings
for .model_name

Fixes #855
2016-05-25 23:15:36 -04:00
pozorvlak
5b38fad85e Merge pull request #912 from maco/small_fixes
Fix two small things (including: make tests stop failing)
2016-05-25 23:25:47 +01:00
Mackenzie Morgan
d227601627 Add config/factory_girl.rb so that rspec doesn't fail with a confusing
'Could not find mapping for #<Member...' error
http://blog.thefrontiergroup.com.au/2011/03/reloading-factory-girl-factories-in-the-rails-3-console/
2016-05-25 17:35:57 -04:00
Mackenzie Morgan
736e45aec9 update Gemfile.lock for code climate 2016-05-25 17:35:23 -04:00
Mackenzie Morgan
11e2e86b06 make seed card heading link to seed page and add owner link. Fixes #873 2016-05-25 16:21:17 -04:00
Mackenzie Morgan
58617b5685 set background color on autocomplete dropdown. Fixes #914 2016-05-25 16:07:49 -04:00
Mackenzie Morgan
8c2aa4844f use CW's case statement idea 2016-05-25 15:15:09 -04:00
Mackenzie Morgan
8648db5518 create SimpleShow concern for models where show's json call is simple 2016-05-25 13:37:01 -04:00
Mackenzie Morgan
b5b201b6df bundle 2016-05-25 10:38:06 -04:00
Mackenzie Morgan
b601fe40b3 refactor photo controller create for readability 2016-05-24 16:59:52 -04:00
pozorvlak
d6999b2a8a Merge pull request #879 from Growstuff/code_climate
Add code climate to README
2016-05-23 19:00:26 +01:00
Mackenzie Morgan
76f152aa35 add Code Climate config file 2016-05-23 13:07:18 -04:00
pozorvlak
63f8a2c5c0 Merge pull request #897 from maco/menu_fix
darken navbar item text when it opens (and the background turns light)
2016-05-23 12:25:22 +01:00
pozorvlak
ae482ecab6 Merge pull request #802 from cesy/issue690
Issue 690 Switch on CMS and remove old files
2016-05-23 12:24:49 +01:00
pozorvlak
a8e63ab397 Merge pull request #898 from CloCkWeRX/adjust_plantings_card_ui
Improve the styling of a planting to be more like the other card-layouts
2016-05-23 12:17:47 +01:00
pozorvlak
a2717ad058 Merge pull request #900 from CloCkWeRX/clip_long_text
Clip long text in definition lists within panels
2016-05-23 12:07:32 +01:00
Daniel O'Connor
083035c924 Merge branch 'dev' of github.com:Growstuff/growstuff into add_facebook_signup 2016-05-23 16:58:22 +09:30
Daniel O'Connor
92cce5910e Improve planting card UI on mobile 2016-05-23 16:35:58 +09:30
Daniel O'Connor
ab897f05f9 Use panel-body and panel-heading more effectively 2016-05-23 16:21:13 +09:30
Daniel O'Connor
cd8ca02322 Merge remote-tracking branch 'upstream/dev' into adjust_plantings_card_ui 2016-05-23 16:17:39 +09:30
Daniel O'Connor
5104225d11 #856 Clip long text in definition lists within panels 2016-05-23 16:13:53 +09:30
Mackenzie
24d6087ea7 Merge pull request #899 from CloCkWeRX/improve_nearby_places_links
Improve nearby places links
2016-05-22 23:39:53 -04:00
Daniel O'Connor
dc9ee18e96 Update stale test expectation 2016-05-23 12:56:37 +09:30
Daniel O'Connor
b4060b7903 Update stale test expectation 2016-05-23 12:55:50 +09:30
Daniel O'Connor
884a3aad2c Check we have a location before linking to it 2016-05-23 11:51:14 +09:30
Daniel O'Connor
80f826421b Add page anchors to put you to the area you are most interested in 2016-05-23 11:41:42 +09:30
Daniel O'Connor
7872bb48e2 Fixes #872 Add more links and explain them better 2016-05-23 11:35:49 +09:30
Daniel O'Connor
7d10101c57 For a place, talk about the community as a vaguer way of explaining 'members, seeds, plantings, etc' 2016-05-23 11:31:29 +09:30
Daniel O'Connor
d9ed21ba53 Styling the show view of a planting more like the card view (though 100% card view looks funny with the crop thumbnail floating to the right) 2016-05-23 11:24:32 +09:30
Daniel O'Connor
5e8211172b Only show a heading for Notes if there are notes 2016-05-23 11:12:42 +09:30
Daniel O'Connor
24956255d7 Fix layout of view all plantings link 2016-05-23 11:03:23 +09:30
Daniel O'Connor
55380dab04 Fix style regression by moving garden content properly into the container 2016-05-23 10:58:09 +09:30
Daniel O'Connor
e7926b6f22 Improve the styling of a planting to be more like the other card-layouts 2016-05-23 10:48:49 +09:30
Mackenzie Morgan
fe7d8f73f3 darken navbar item text when it opens (and the background turns light)
Fixes #896
2016-05-22 20:49:51 -04:00
Mackenzie
47d7f001fe Merge pull request #895 from cesy/precompile
Precompile css and js with sass
2016-05-22 15:10:43 -04:00
Cesy Avon
23a6722ddb Precompile css and js with sass 2016-05-22 16:34:36 +00:00
Cesy
23e2b756fd Merge pull request #886 from pozorvlak/fix_duplicated_class_warning
Fix "duplicated key: :class" warning in HAML code
2016-05-22 17:21:47 +01:00
pozorvlak
8bea05a77b Merge pull request #803 from cesy/issue734bootstrapaccessibility
Bootstrap accessibility
2016-05-22 17:19:55 +01:00
Cesy
d5ac4bac48 Merge pull request #894 from pozorvlak/upgradegibbon
Fix mailchimp newsletter subscriptions
2016-05-22 17:13:59 +01:00
pozorvlak
1af9b2e6db Merge pull request #892 from cesy/databaseconfig
Moving database.yml and adding gitignore
2016-05-22 17:09:35 +01:00
Cesy
daa3c08706 Fixing broken links to pages that are now in CMS 2016-05-22 16:05:07 +00:00
Cesy
29102e3b52 Cleaning up more tests 2016-05-22 16:05:07 +00:00
Cesy
8c0fc54344 Sorting tests related to moving to CMS 2016-05-22 16:04:39 +00:00
Cesy
f5b20c2f32 About is empty, policy won't work without the routes 2016-05-22 16:01:40 +00:00
Cesy
79734ff603 Fix #690 Removing old static files that are now in CMS 2016-05-22 16:01:40 +00:00
twconquest
397bfd8bca Start removing static page references. 2016-05-22 16:01:40 +00:00
Miles Gould
52dc111210 Merge branch 'dev' into upgradegibbon 2016-05-22 16:57:38 +01:00
Cesy Avon
da1375e34d Making database.yml locally editable 2016-05-22 15:50:22 +00:00
pozorvlak
19f4ee51ed Merge pull request #891 from Growstuff/dev
Release 10
2016-05-22 16:34:18 +01:00
Cesy
7be346d92f Merge pull request #890 from maco/gem_udpate
upgrade gems and make API change for ruby-units
2016-05-22 08:54:07 +01:00
Mackenzie Morgan
51a0a33b2a upgrade gems and make API change for ruby-units 2016-05-21 16:33:42 -04:00
Mackenzie Morgan
0df52b3cd8 update paperclip 2016-05-20 11:28:55 +01:00
Daniel O'Connor
18cd8f5966 #507 #813 Add spec 2016-05-19 15:53:11 -04:00
Kevin Rio
5a31619b46 If i reply to a notification directly, it's not marked as read. #507 2016-05-19 15:53:11 -04:00
Daniel O'Connor
4b4e0cf69a $ rubocop --only HashSyntax --auto-correct
483 files inspected, 2018 offenses detected, 2018 offenses corrected
2016-05-19 15:53:11 -04:00
Mackenzie Morgan
8659ebca2d switch from less to sass
* dependency hell + bit rot on upstream libraries  prevents installation on OS X
2016-05-19 15:52:54 -04:00
Miles Gould
238e0be682 Merge branch 'upgrade_misc_dev_tools' into dev 2016-05-19 15:02:32 +01:00
Mackenzie
4324ceb8ca Merge pull request #884 from pozorvlak/bump_ruby_22x
Bump ruby to 2.2.x
2016-05-19 09:40:48 -04:00
Miles Gould
79db3c4c1d Fix "duplicated key: :class" warning in HAML code
The warning was

    app/views/harvests/_form.html.haml:32: warning: duplicated key at line 32 ignored: :class

We were specifying two `:class` attributes on an HTML tag; I've combined
them into one.
2016-05-19 14:40:24 +01:00
Mackenzie
19d6c8f293 Merge pull request #882 from pozorvlak/install_all_gems_on_travis
Install *all* gems in TravisCI
2016-05-19 09:37:08 -04:00
Miles Gould
bcb74c7ed8 Merge branch 'dev' into bump_ruby_22x 2016-05-19 14:15:33 +01:00
Miles Gould
4a341bb7ab Install *all* gems in CI
Previously we were only installing the gems needed for testing. This
caused our CI to miss an incompatibility problem with a gem that was
only needed for another environment:
https://github.com/Growstuff/growstuff/pull/878#discussion_r63745751
2016-05-19 13:33:36 +01:00
Mackenzie
925027f7f0 add code climate test reporter 2016-05-17 14:02:42 -04:00
Mackenzie
1442a9106c add code climate / travis gem 2016-05-17 13:58:55 -04:00
Mackenzie
fafb421a51 Add code climate to README
Our code climate score is *abysmal*, but now that I've been using it in my job for a few months, I have some ideas how to improve it. It's all about clean code (check out the book of that name from your local library) and readability. So let's add the grade to the README, and I'll figure out how to set it up so that Code Climate is run on pull requests automatically (telling us whether things are going to get better or worse with every PR).
2016-05-17 13:47:33 -04:00
Daniel O'Connor
02615dc522 $ bundle update selenium-webdriver guard guard-rspec rails factory_girl pg simplecov coveralls newrelic_rpm better_errors minitest 2016-05-17 13:33:12 +09:30
Cesy
436527b902 Merge pull request #837 from Growstuff/dev
Release 9
2016-05-16 20:09:00 +01:00
Cesy
260b16da11 Merge pull request #865 from CloCkWeRX/fix_progress
Fix progress calculations
2016-04-21 08:02:37 +01:00
Daniel O'Connor
cf0a646699 Add EOF newlines 2016-04-14 09:59:36 +09:30
Daniel O'Connor
12ad16a05a Newlines 2016-04-13 08:41:05 +09:30
Cesy
d525afb07c Merge pull request #866 from CloCkWeRX/fix_posts_path
Fixes #851 Correct the link to be specific to the author
2016-04-11 18:56:45 +01:00
Daniel O'Connor
3ff3ffa457 Don't update that link, geesh. Need more coffee! 2016-04-11 09:55:03 +09:30
Daniel O'Connor
e3c689ba6b Fixes #851 Correct the link to be specific to the author 2016-04-11 09:51:52 +09:30
Daniel O'Connor
82553d6e0a Avoid time travel in favour of calculating a number of past/future dates 2016-04-11 09:29:06 +09:30
Daniel O'Connor
3644a8124f Tweak specs, implementation properly 2016-04-09 22:54:03 +09:30
Daniel O'Connor
5cfa051d75 Update expectations 2016-04-09 22:43:17 +09:30
Daniel O'Connor
69fb98146b Adjust logic 2016-04-09 22:01:05 +09:30
Cesy
01b9e76814 Merge pull request #860 from CloCkWeRX/fix_warnings
Fix WARNING: Using the `raise_error` matcher without providing a specific error
2016-04-09 13:26:11 +01:00
Cesy
594e3470b4 Merge pull request #858 from CloCkWeRX/fix_plant_parts
Fix plant parts / harvests issue #853
2016-04-09 13:25:46 +01:00
Daniel O'Connor
7bb7a18b66 Fixes #850 Refactors percentage grown to model, stops rendering progress bars in situations it doesn't make sense. Adds specs. 2016-04-09 21:45:13 +09:30
Cesy
de4b89fdf7 Merge pull request #861 from hcbviolet/descriptions
#852 Harvest description headings rendered when there's no description
2016-04-09 13:08:00 +01:00
hcbviolet
e8d7ed0c2d Edit display_harvest_description method for no description 2016-04-08 17:34:58 -07:00
Daniel O'Connor
a3ad9189b1 Fix WARNING: Using the raise_error matcher without providing a specific error or message risks false positives, since raise_error will match when Ruby raises a NoMethodError, NameError or ArgumentError, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #<ActiveRecord::RecordNotFound: Couldn't find Member with 'id'=9999>. Instead consider providing a specific error class or message. This message can be supressed by setting: RSpec::Expectations.configuration.warn_about_potential_false_positives = false. Called from /home/travis/build/Growstuff/growstuff/spec/controllers/member_controller_spec.rb:65:in `block (3 levels) in <top (required)>'. 2016-04-07 10:41:35 +09:30
Daniel O'Connor
da588b7fdb Create the plant part instead of assuming it's seeded 2016-04-07 10:08:21 +09:30
Daniel O'Connor
a7f9e113d6 Target the name attribute 2016-04-07 09:59:06 +09:30
Daniel O'Connor
c3a883de16 Ensure we choose a plant part 2016-04-07 09:47:53 +09:30
Daniel O'Connor
aa2a761a58 Ensure we choose a plant part 2016-04-07 09:46:29 +09:30
Daniel O'Connor
a800630b01 Ensure we choose a plant part 2016-04-07 09:43:45 +09:30
Cesy
b69bb219a3 Merge pull request #859 from CloCkWeRX/add_title_validations
Add title validations
2016-04-03 11:45:10 +01:00
Daniel O'Connor
a9330f2d77 #857 Add length validations to UI 2016-04-03 00:15:45 +10:30
Daniel O'Connor
de8bcc38d3 #857 Add length validations to models 2016-04-03 00:13:38 +10:30
Daniel O'Connor
99a3be08eb Fixes #853 2016-04-03 00:08:19 +10:30
Daniel O'Connor
d9f04d1fa9 Fixes #853 2016-04-03 00:08:12 +10:30
pozorvlak
1791ed5b01 Merge pull request #843 from CloCkWeRX/fix_CVE-2015-7551_upgrade_ruby
Fix CVE-2015-7551
2016-03-29 20:04:56 +01:00
pozorvlak
683ec9dd9d Merge pull request #842 from CloCkWeRX/cve_2015_5312_and_more
Fix CVE 2015 5312 and more
2016-03-29 20:03:41 +01:00
Daniel O'Connor
668f6d3a2b Fix 'app/views/harvests/_form.html.haml:39: warning: duplicated key at line 39 ignored: :class' 2016-03-29 00:43:14 +10:30
Mackenzie
90e9017a19 Merge pull request #841 from CloCkWeRX/fix_840_performance
Eager load photos to reduce the number of queries executed
2016-03-28 09:55:40 -04:00
Daniel O'Connor
9f3cb7ee8b Merge branch 'dev' of github.com:Growstuff/growstuff into fix_CVE-2015-7551_upgrade_ruby 2016-03-29 00:24:26 +10:30
Daniel O'Connor
df952a1779 Bump rspec to fix https://github.com/rspec/rspec-rails/issues/1532 2016-03-29 00:00:07 +10:30
Daniel O'Connor
3748f954c5 Name: uglifier
Version: 2.5.3
Advisory: 126747
Criticality: Unknown
URL: https://github.com/mishoo/UglifyJS2/issues/751
Title: uglifier incorrectly handles non-boolean comparisons during minification
Solution: upgrade to >= 2.7.2
2016-03-28 23:54:29 +10:30
Mackenzie
dcbacddb58 Merge pull request #839 from CloCkWeRX/tweak_permissions
Tweak permissions links
2016-03-28 09:22:35 -04:00
Daniel O'Connor
b0adec20e7 Fix CVE-2015-7551 (https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) 2016-03-28 23:40:17 +10:30
Daniel O'Connor
4e7e82c8a8 Fix CVE-2015-7551 (https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) 2016-03-28 23:39:05 +10:30
Daniel O'Connor
6905cd410d Bump to current ruby 2.2.*, as there's an end of life for 2.1.* https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/ 2016-03-28 23:38:25 +10:30
Daniel O'Connor
66bb130a1a Fix CVE-2015-7551 (https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) 2016-03-28 23:33:34 +10:30
Daniel O'Connor
03ae327e30 Name: uglifier
Version: 2.5.3
Advisory: 126747
Criticality: Unknown
URL: https://github.com/mishoo/UglifyJS2/issues/751
Title: uglifier incorrectly handles non-boolean comparisons during minification
Solution: upgrade to >= 2.7.2
2016-03-28 23:27:15 +10:30
Daniel O'Connor
c1fde41f1f Name: devise
Version: 3.4.1
Advisory: CVE-2015-8314
Criticality: Unknown
URL: http://blog.plataformatec.com.br/2016/01/improve-remember-me-cookie-expiration-in-devise/
Title: Devise Gem for Ruby Unauthorized Access Using Remember Me Cookie
Solution: upgrade to >= 3.5.4
2016-03-28 23:23:56 +10:30
Daniel O'Connor
a10f6e4783 Name: actionpack
Version: 4.1.11
Advisory: CVE-2015-7581
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/rubyonrails-security/dthJ5wL69JE
Title: Object leak vulnerability for wildcard controller routes in Action Pack
Solution: upgrade to >= 4.2.5.1, ~> 4.2.5, >= 4.1.14.1, ~> 4.1.14

Name: actionpack
Version: 4.1.11
Advisory: CVE-2016-0751
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/rubyonrails-security/9oLY_FCzvoc
Title: Possible Object Leak and Denial of Service attack in Action Pack
Solution: upgrade to ~> 5.0.0.beta1.1, >= 4.2.5.1, ~> 4.2.5, >= 4.1.14.1, ~> 4.1.14, ~> 3.2.22.1

Name: actionpack
Version: 4.1.11
Advisory: CVE-2015-7576
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/rubyonrails-security/ANv0HDHEC3k
Title: Timing attack vulnerability in basic authentication in Action Controller.
Solution: upgrade to ~> 5.0.0.beta1.1, >= 4.2.5.1, ~> 4.2.5, >= 4.1.14.1, ~> 4.1.14, ~> 3.2.22.1

Name: actionpack
Version: 4.1.11
Advisory: CVE-2016-2098
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/rubyonrails-security/ly-IH-fxr_Q
Title: Possible remote code execution vulnerability in Action Pack
Solution: upgrade to ~> 3.2.22.2, >= 4.2.5.2, ~> 4.2.5, >= 4.1.14.2, ~> 4.1.14

Name: actionview
Version: 4.1.11
Advisory: CVE-2016-2097
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/rubyonrails-security/ddY6HgqB2z4
Title: Possible Information Leak Vulnerability in Action View
Solution: upgrade to ~> 3.2.22.2, >= 4.1.14.2, ~> 4.1.14

Name: actionview
Version: 4.1.11
Advisory: CVE-2016-0752
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/rubyonrails-security/335P1DcLG00
Title: Possible Information Leak Vulnerability in Action View
Solution: upgrade to ~> 5.0.0.beta1.1, >= 4.2.5.1, ~> 4.2.5, >= 4.1.14.1, ~> 4.1.14, ~> 3.2.22.1

Name: activemodel
Version: 4.1.11
Advisory: CVE-2016-0753
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/rubyonrails-security/6jQVC1geukQ
Title: Possible Input Validation Circumvention in Active Model
Solution: upgrade to ~> 5.0.0.beta1.1, >= 4.2.5.1, ~> 4.2.5, >= 4.1.14.1, ~> 4.1.14

Name: activerecord
Version: 4.1.11
Advisory: CVE-2015-7577
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/rubyonrails-security/cawsWcQ6c8g
Title: Nested attributes rejection proc bypass in Active Record
Solution: upgrade to ~> 5.0.0.beta1.1, >= 4.2.5.1, ~> 4.2.5, >= 4.1.14.1, ~> 4.1.14, ~> 3.2.22.1
2016-03-28 23:17:55 +10:30
Daniel O'Connor
a76d2a3eb0 Name: devise
Version: 3.4.1
Advisory: CVE-2015-8314
Criticality: Unknown
URL: http://blog.plataformatec.com.br/2016/01/improve-remember-me-cookie-expiration-in-devise/
Title: Devise Gem for Ruby Unauthorized Access Using Remember Me Cookie
Solution: upgrade to >= 3.5.4
2016-03-28 23:16:21 +10:30
Daniel O'Connor
049886459a Name: nokogiri
Version: 1.6.5
Advisory: CVE-2015-1819
Criticality: Unknown
URL: https://github.com/sparklemotion/nokogiri/issues/1374
Title: Nokogiri gem contains several vulnerabilities in libxml2 and libxslt
Solution: upgrade to ~> 1.6.6.4, >= 1.6.7.rc4

Name: nokogiri
Version: 1.6.5
Advisory: CVE-2015-7499
Criticality: Medium
URL: https://groups.google.com/forum/#!topic/ruby-security-ann/Dy7YiKb_pMM
Title: Nokogiri gem contains a heap-based buffer overflow vulnerability in libxml2
Solution: upgrade to >= 1.6.7.2

Name: nokogiri
Version: 1.6.5
Advisory: CVE-2015-5312
Criticality: High
URL: https://groups.google.com/forum/#!topic/ruby-security-ann/aSbgDiwb24s
Title: Nokogiri gem contains several vulnerabilities in libxml2
Solution: upgrade to >= 1.6.7.1
2016-03-28 23:13:31 +10:30
Daniel O'Connor
b57cb581dd #840 Eager load photos 2016-03-28 23:08:26 +10:30
Daniel O'Connor
f23cb78dcb #840 Eager load photos, which are used in the .interesting? call; so we don't have to do a photos.size call on every single crop. 2016-03-28 23:08:20 +10:30
Daniel O'Connor
bfffaab77f Have to stub the controller load_and_authorize_resource behaviour, as these tests aren't run in that context. 2016-03-28 22:26:36 +10:30
Daniel O'Connor
32af1b28a8 Update the expectations: an edit link is visible to crop wranglers (which used to be an expectation about the id appearing in a link) 2016-03-28 22:03:59 +10:30
Daniel O'Connor
9fa72fa5f7 Only render a pipe if there are multiple options like edit rights available 2016-03-28 21:41:06 +10:30
Daniel O'Connor
e35b15c868 Only render an edit control if the permission exists 2016-03-28 21:40:58 +10:30
Cesy
22e0e8fba0 Merge pull request #836 from gustavor-souza/patch-2
Fixing a spec timezone problem.
2015-10-09 09:17:15 +01:00
gustavor-souza
8caea57c47 Fixing a spec timezone problem. 2015-09-29 22:40:13 -03:00
Jim Stallings
2f561aaa47 Add myself to contributors 2015-09-26 11:54:51 -04:00
Jim Stallings
e02a6e569c Remove example file, add documentation 2015-09-26 11:54:02 -04:00
pozorvlak
24dd02a439 Merge pull request #829 from CloCkWeRX/upgrade_db_cleaner
Upgrade database cleaner gem
2015-09-23 21:17:14 +01:00
Cesy
45c8092a94 Merge pull request #832 from CloCkWeRX/ruby217
Bump to ruby 2.1.7 for CVE-2015-3900
2015-09-23 11:35:26 +01:00
Daniel O'Connor
48829dba3c Bump to ruby 2.1.7 for CVE-2015-3900 Request hijacking vulnerability in RubyGems 2.4.6 and earlier; and others - https://www.ruby-lang.org/en/news/2015/08/18/ruby-2-1-7-released/ 2015-09-22 11:14:50 +09:30
Jim Stallings
98581801c3 GS-658 - i18n automation POC 2015-09-19 17:45:31 -04:00
Jim Stallings
93f9435fb9 GS-658: sort locale keys, add rake task for it 2015-09-19 16:24:01 -04:00
Cesy
46ee2168e1 Merge pull request #831 from CloCkWeRX/add_selenium
Add additional capyabara driver options
2015-09-16 11:59:22 +01:00
Cesy
5dd52ba17f Merge pull request #830 from CloCkWeRX/sprellin
Fix minor typo in specs
2015-09-16 11:52:30 +01:00
Daniel O'Connor
78a65f26c6 Add configuration into example file 2015-09-16 14:16:42 +09:30
Daniel O'Connor
f81666da5e And cleanup authentications 2015-09-15 12:58:35 +09:30
Daniel O'Connor
4a1bc9f6c0 Avoid test data conflicts and update expectations 2015-09-15 12:44:12 +09:30
Daniel O'Connor
0652c40c52 Avoid test data conflicts causing signup to act as signin-for-existing 2015-09-15 12:34:20 +09:30
Daniel O'Connor
a99145b705 Implement pending spec 2015-09-15 12:27:17 +09:30
Daniel O'Connor
222f875c42 Add more coverage of various scenarios and expected behaviours 2015-09-15 12:26:32 +09:30
Daniel O'Connor
dc983d4863 Add more coverage of various scenarios and expected behaviours 2015-09-15 12:24:37 +09:30
Daniel O'Connor
7256c28038 Refactor to a separate class, containing domain logic 2015-09-15 12:13:47 +09:30
Daniel O'Connor
021cb4f93b Use #{ENV['GROWSTUFF_SITE_NAME']} 2015-09-15 11:38:20 +09:30
Daniel O'Connor
83929cc8ee Add the ability to run feature tests via selenium if you configure it, or run specs with GROWSTUFF_CAPYBARA_DRIVER=selenium bundle exec rake spec:features/ 2015-09-15 11:28:30 +09:30
Daniel O'Connor
00ca01dc33 Add coverage of the most basic scenarios around sign up and login 2015-09-15 11:20:33 +09:30
Daniel O'Connor
a49f359f9e Fix minor typo in specs 2015-09-15 10:40:41 +09:30
Daniel O'Connor
be87d2861a Upgrade database cleaner gem, so that https://github.com/DatabaseCleaner/database_cleaner/pull/364 is available to us. 2015-09-15 10:29:29 +09:30
Cesy
481ca79cc1 Merge pull request #825 from sksavant/pr_member_notify
Notify members when mentioned in a post
2015-09-11 11:26:52 +01:00
Savant Krishna
346979c640 Merge remote-tracking branch 'upstream/dev' into pr_member_notify 2015-09-09 21:30:45 -04:00
Mackenzie
ec891fc0b2 Merge pull request #821 from CloCkWeRX/fix_empty_garden
Fix #818 by removing the .thumbnail around the button.
2015-09-09 16:07:02 -04:00
pozorvlak
ef6dd88b1e Merge pull request #820 from CloCkWeRX/fix_popover_better
Fix #819 by removing the popover behaviour for a standard avatar
2015-09-09 20:04:55 +00:00
twconquest
b2f3755196 Additional config fix to point to correct list id 2015-09-09 19:48:35 +00:00
pozorvlak
5884718fd0 Merge pull request #824 from sksavant/member_quicklink_md
Quick links to members in markdown
2015-09-09 17:46:24 +00:00
Savant Krishna
0c315981df Merge remote-tracking branch 'upstream/dev' into member_quicklink_md
Conflicts:
	lib/haml/filters/growstuff_markdown.rb
2015-09-07 20:08:57 -04:00
Savant Krishna
342323e566 Add test for trying to quicklink non-existent @ member 2015-09-07 20:05:24 -04:00
pozorvlak
d7582625c5 Merge pull request #828 from sksavant/csv_planting_fix
Fix bug #827 : Error in generating csv file for plantings with owner filter
2015-09-07 15:40:26 +00:00
pozorvlak
1cb4181ffc Merge pull request #826 from sksavant/escape_crop_link
Fix #721 : Escape quick crop link in markdown
2015-09-07 15:39:43 +00:00
Savant Krishna
9e7a80cb86 Fix bug #827 : Error in generating csv file for plantings with owner filter 2015-09-07 04:01:20 -04:00
Savant Krishna
a8924f95a7 Escape member links for [name](member) and @name using backslash
Change regex to lookforward

When escaping \@name remove \
2015-09-06 05:41:35 -04:00
Savant Krishna
7afd38a1ee Fix #721 : Escape quick crop link in markdown
Lookahead in markdown to verify \ is not present

Test for escaping crop link
2015-09-06 04:20:14 -04:00
Savant Krishna
1908f670d9 Tests for feature #505 : Notifying members when mentioned 2015-09-06 14:41:04 +10:00
Savant Krishna
7ef1eb5852 Create a notification to all members mentioned in a post : Feature #505 2015-09-06 14:41:04 +10:00
Savant Krishna
f36e9d726e Change @ regex to match alphanumeric or _ and modify test string 2015-09-06 14:35:35 +10:00
Savant Krishna
0adb24fa4d Add quick member link help to markdown help 2015-09-06 09:10:18 +10:00
Savant Krishna
aacf7b1f09 Modify regex to include @ in the group 2015-09-05 11:05:53 +10:00
Savant Krishna
b74d89c482 Tests for member quicklinks and @member links 2015-09-04 13:23:10 +10:00
Savant Krishna
3e8f017ad0 Modify markdown to render quick links to members using [name](member) or @name : Feature #504 2015-09-04 12:50:42 +10:00
Cesy
2e45857e1f Merge pull request #823 from jestallin/658_pages_and_links
GS-658 - internationalize header links and some page titles
2015-09-03 10:16:07 +01:00
Jim Stallings
b8b511e747 GS-658 - use yaml anchor for duplicate values 2015-08-30 11:02:47 -04:00
Jim Stallings
85f7ca4058 GS-658 - internationalize drop down links and page titles 2015-08-29 18:39:38 -04:00
Daniel O'Connor
ff779b6679 Trial rendering as comma separated 2015-08-29 07:51:53 +09:30
Daniel O'Connor
f357916779 For more accurate specs, explicitly target the login-name container 2015-08-29 07:49:55 +09:30
pozorvlak
1c4d740217 Merge pull request #822 from cesy/phantomjs
Adding commentary to test for clarification of non-JS version
2015-08-28 13:17:53 +00:00
Cesy
fbb442dfee Adding commentary to test for clarification of non-JS version 2015-08-28 13:00:38 +00:00
Daniel O'Connor
631747e919 Add a trailing sentence. 2015-08-27 15:26:40 +09:30
Daniel O'Connor
ff00b2c985 Fix #818 and layout of show garden page 2015-08-27 15:25:16 +09:30
Daniel O'Connor
a0cdf3a8b2 Fix #818 by removing the .thumbnail around the button. Also rearrange some of the headings (sizing) and controls (add new garden) to be more clearly not a tab. 2015-08-27 15:12:05 +09:30
Daniel O'Connor
c87a5f2d6b Fix #819 by removing the popover behaviour for a standard avatar; and putting the stats onto the card. 2015-08-27 14:35:15 +09:30
Daniel O'Connor
c09b0a0341 Merge branch 'dev' into add_facebook_signup 2015-08-27 12:19:48 +09:30
Daniel O'Connor
8a739b31a1 Minor style 2015-08-27 12:18:09 +09:30
Daniel O'Connor
afec210219 #645 #556 Add facebook links 2015-08-27 12:02:48 +09:30
Daniel O'Connor
dafee90b24 #645 #556 Add facebook auth management 2015-08-27 11:56:37 +09:30
Daniel O'Connor
f6790a5f9b #556 When an avatar is set from an oauth provider, don't encourage the user to update gravatar. 2015-08-27 11:52:49 +09:30
Daniel O'Connor
4983a6dfb3 #556 Improve user avatar sizing 2015-08-27 11:42:36 +09:30
Daniel O'Connor
c4c477fdd8 Merge branch 'add_facebook_signup' into dev 2015-08-27 11:31:07 +09:30
Daniel O'Connor
20b89f0d2f #556 Default to the oauth provided image on account creation 2015-08-27 11:27:15 +09:30
pozorvlak
53ed4f5b24 Merge pull request #810 from cesy/phantomjs
Turn on Phantom JS for all tests
2015-08-26 23:14:43 +00:00
Cesy
3300c303be Merge pull request #817 from CloCkWeRX/add_member_preferred_image
Add member preferred image - not accessible to users yet, prep for pulling from facebook
2015-08-26 10:30:45 +01:00
Daniel O'Connor
e84aaeb56d #509 Refactor the rendering of image_with_popover as well (size is *never* defined, so have defaulted it explicitly to 150) 2015-08-26 10:33:12 +09:30
Daniel O'Connor
cad361ed7a #509 Update expectations, they were slightly different to what the test tool claimed they would be. 2015-08-25 00:57:39 +09:30
Daniel O'Connor
1187719e7b #509 Add some basic test coverage 2015-08-25 00:51:13 +09:30
Daniel O'Connor
859cf7f215 #509 Add support for a non gravatar profile image. Assumed to be the same dimensions as a gravatar pic 2015-08-25 00:32:17 +09:30
Daniel O'Connor
6d97a060c3 #509 Add support for a non gravatar profile image. Assumed to be the same dimensions as a gravatar pic 2015-08-25 00:32:06 +09:30
pozorvlak
fc04dde1e8 Merge pull request #814 from CloCkWeRX/fix_facebook_logo_733
Add correct prefix to fix facebook share icon
2015-08-24 09:47:32 +01:00
Daniel O'Connor
9564866f6d #645 Avoid collisions by using a 20 character random string as a fallback 2015-08-24 17:33:28 +09:30
Daniel O'Connor
e3c52b1a56 #733 Render as a 'website' 2015-08-24 16:56:35 +09:30
Daniel O'Connor
3258a6754c #733 Render only one image, and do it with a full URL 2015-08-24 16:46:42 +09:30
Daniel O'Connor
db876ff107 #733 Add the correct RDFa prefix 2015-08-24 16:38:00 +09:30
Daniel O'Connor
994296640b #645 Implement all of finish signup, fix an edge case of an authentication without a member, fix error messages on failed oauth. 2015-08-24 16:20:39 +09:30
Daniel O'Connor
9a68c7e1c3 #645 Add a 'finish signup' flow 2015-08-24 11:41:36 +09:30
Daniel O'Connor
ec597d4e6e #645 Fix minor logic error 2015-08-24 11:23:41 +09:30
twconquest
2882e3d1a5 Correct Gibbon list id to point to correct list 2015-08-21 19:29:03 +00:00
Daniel O'Connor
86e9cd0ec6 #645 Improve error handling and login_name generation. Annoyingly still a change of collisions. 2015-08-21 13:43:58 +09:30
Daniel O'Connor
3a05f75ab0 #645 Add notes around permissions/scopes of later interest 2015-08-21 13:43:24 +09:30
Daniel O'Connor
34b4d30014 #645 Enable account creation or authorisation from a facebook signin (and should work for others with minimal extra work) 2015-08-21 13:22:49 +09:30
Daniel O'Connor
89b6c47bfb #645 Configure devise / omniauth in only one spot, to avoid CSRF errors 2015-08-21 12:21:55 +09:30
Daniel O'Connor
70f48108b4 #645 Add handling for facebook 2015-08-21 12:21:23 +09:30
Daniel O'Connor
df5689ec18 #645 Rename 2015-08-21 11:36:26 +09:30
Daniel O'Connor
22d72b13d5 #645 Add example keys 2015-08-21 11:36:17 +09:30
Daniel O'Connor
dee7ff34c9 #645 Indicate that a member is omniauthable, so devise knows to render sign-in-with-facebook 2015-08-21 11:36:04 +09:30
Daniel O'Connor
07eb305992 #645 Ask for name, email address only 2015-08-21 11:25:57 +09:30
Daniel O'Connor
c7f0076ee6 #645 Add facebook omniauth middleware 2015-08-21 11:21:44 +09:30
Daniel O'Connor
93bc5255e7 #645 Add facebook omniauth provider 2015-08-21 11:21:30 +09:30
Cesy
b87194336f Wrangler has different name in tests, fixing failing test 2015-08-20 14:16:39 +00:00
Cesy
0e98f84da7 Fixing admin tests where you need to click on navmenu with JS 2015-08-20 14:06:21 +00:00
Cesy
b9ce3d4fe6 Revert "Adding ids to navbar so PhantomJS can find them"
Not needed - test issue was caused by wrong link text
This reverts commit d65ab59d35.
2015-08-20 13:59:37 +00:00
Cesy
d65ab59d35 Adding ids to navbar so PhantomJS can find them 2015-08-20 13:36:13 +00:00
Cesy
65e0752376 RSS feeds don't need JS 2015-08-20 13:07:25 +00:00
Cesy
3251dd1c54 Merge branch 'js_all_the_features' of github.com:pozorvlak/growstuff into phantomjs
Conflicts:
	spec/features/admin/forums_spec.rb
	spec/features/crops/alternate_name_spec.rb
	spec/features/crops/crop_detail_page_spec.rb
	spec/features/member_profile_spec.rb
	spec/features/rss/members_spec.rb
	spec/features/scientific_name_spec.rb
	spec/features/signin_spec.rb
	spec/features/signup_spec.rb
2015-08-20 12:09:18 +00:00
pozorvlak
c404d8220d Merge pull request #791 from cesy/cachethumbnails
Cache thumbnails
2015-08-19 15:11:16 +01:00
Cesy
48409698ab Merge pull request #787 from twconquest/show-roles
Show roles in member profile page
2015-08-19 14:13:32 +01:00
pozorvlak
4d7c4f38ae Merge pull request #804 from cesy/issue658i18n
Issue #658 i18n
2015-08-17 19:52:10 +01:00
twconquest
c2e4686a23 Add negative tests for roles on profiles 2015-08-17 18:29:00 +00:00
twconquest
24df32ba7f Merge upstream/dev into show-roles and re-add myself to CONTRIBUTORS.md
Conflicts:
	CONTRIBUTORS.md
2015-08-17 17:48:50 +00:00
Cesy
744caef4f2 Merge pull request #806 from CloCkWeRX/bump_ruby_2_1_6
Upgrade to ruby 2.1.6 for CVE-2015-1855
2015-08-13 09:06:48 +01:00
Daniel O'Connor
5cac8743f8 Upgrade to ruby 2.1.6 for CVE-2015-1855: Ruby OpenSSL Hostname Verification 2015-08-13 15:06:56 +10:00
pozorvlak
9c4d83dad3 Merge pull request #801 from CloCkWeRX/fix_cve_2015_2963
Fix CVE-2015-2963,  CVE-2015-3448, CVE-2015-1820 & CVE-2015-1840
2015-08-12 17:08:27 +01:00
Cesy
fd3e69c9ab Removing footer translation as it's now in the CMS 2015-08-12 14:57:13 +00:00
Cesy
b6dfeb980c i18n example 2015-08-12 14:56:36 +00:00
Cesy
e8266480e5 Adding bootstrap-accessibility plugin 2015-08-12 14:17:41 +00:00
Cesy
e784ec9b33 Making it trigger the crop thumbnail cache properly 2015-08-12 11:45:18 +00:00
Cesy
1df0c36e72 Keying the cache correctly 2015-08-12 10:49:48 +00:00
Cesy
a5e7a8d315 Cache crop thumbnails 2015-08-12 10:49:48 +00:00
Daniel O'Connor
cafd49c143 Name: jquery-rails
Version: 3.1.2
Advisory: CVE-2015-1840
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/ruby-security-ann/XIZPbobuwaY
Title: CSRF Vulnerability in jquery-ujs and jquery-rails
Solution: upgrade to >= 4.0.4, ~> 3.1.3
2015-08-12 16:59:14 +09:30
Daniel O'Connor
7c7c66348c Name: rest-client
Version: 1.7.2
Advisory: CVE-2015-3448
Criticality: Unknown
URL: http://www.osvdb.org/show/osvdb/117461
Title: Rest-Client Gem for Ruby logs password information in plaintext
Solution: upgrade to >= 1.7.3

Name: rest-client
Version: 1.7.2
Advisory: CVE-2015-1820
Criticality: Unknown
URL: https://github.com/rest-client/rest-client/issues/369
Title: rubygem-rest-client: session fixation vulnerability via Set-Cookie headers in 30x redirection responses
Solution: upgrade to >= 1.8.0
2015-08-12 16:57:58 +09:30
Daniel O'Connor
00ae4ed49f Name: paperclip
Version: 4.2.1
Advisory: CVE-2015-2963
Criticality: Medium
URL: https://robots.thoughtbot.com/paperclip-security-release
Title: Paperclip Gem for Ruby vulnerable to content type spoofing
Solution: upgrade to >= 4.2.2
2015-08-12 16:23:48 +09:30
Cesy
12a1484a26 Merge pull request #800 from CloCkWeRX/fix_all_checkbox_labels
Fix more checkbox labels in registration and email editing
2015-08-11 09:51:05 +01:00
Cesy
5bacdb71cc Merge pull request #798 from CloCkWeRX/cve-2015-3226
Minor rails version upgrade to apply security fixes
2015-08-11 08:23:58 +01:00
Cesy
6565e79057 Merge pull request #797 from CloCkWeRX/minor_usability_checkbox_login
Style checkbox for 'remember me'
2015-08-11 08:21:39 +01:00
Cesy
f4e53a58de Merge pull request #799 from CloCkWeRX/patch-1
Update CONTRIBUTORS.md
2015-08-11 08:17:38 +01:00
Daniel O'Connor
97cf1347d5 Fix clickable area for checkboxes in email editing 2015-08-11 13:45:47 +09:30
Daniel O'Connor
367e298d48 Fix clickable area for checkboxes in registration 2015-08-11 13:44:17 +09:30
Daniel O'Connor
e765387e22 Update CONTRIBUTORS.md 2015-08-11 10:31:43 +09:30
Daniel O'Connor
7b30c4237b Name: activesupport
Version: 4.1.9
Advisory: CVE-2015-3227
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/rubyonrails-security/bahr2JLnxvk
Title: Possible Denial of Service attack in Active Support
Solution: upgrade to >= 4.2.2, ~> 4.1.11, ~> 3.2.22

Name: activesupport
Version: 4.1.9
Advisory: CVE-2015-3226
Criticality: Unknown
URL: https://groups.google.com/forum/#!topic/ruby-security-ann/7VlB_pck3hU
Title: XSS Vulnerability in ActiveSupport::JSON.encode
Solution: upgrade to >= 4.2.2, ~> 4.1.11
2015-08-11 10:28:07 +09:30
Daniel O'Connor
b788cb44ef Remember that we're working in haml, not slim. 2015-08-11 10:23:50 +09:30
Daniel O'Connor
f61e2438e8 Style checkbox for 'remember me' and allow it to be clickable (minor usability/mobile UI annoyance) 2015-08-10 16:08:09 +09:30
pozorvlak
e503b1079d Merge pull request #796 from cesy/issue677
Fix #677 by adding organic/GMO/heirloom to CSV and RSS
2015-08-06 14:54:10 +01:00
pozorvlak
ccca343959 Merge pull request #795 from cesy/issue788
Fix issue #788 with uncaught nil
2015-08-06 14:46:53 +01:00
pozorvlak
63de10efd4 Merge pull request #794 from Growstuff/revert-793-revert-790-homepagetests
Fixing #790 properly - caching posts on homepage
2015-08-06 14:30:04 +01:00
Cesy
17c5fd61a3 Fix #677 by adding organic/GMO/heirloom to CSV and RSS 2015-08-06 12:23:00 +00:00
Cesy
44b8500fa8 Fix issue #788 with uncaught nil 2015-08-06 12:12:29 +00:00
Cesy
5a12b47c7c Revert "Revert "Fixing relative caching of post summary on homepage, fixed #789"" 2015-08-06 12:37:59 +01:00
Cesy
3db13785a1 Merge pull request #792 from cesy/removing775
Revert "Merge pull request #775 from pozorvlak/speed_up_homepage"
2015-08-06 12:37:35 +01:00
Cesy
69d94f7deb Merge pull request #793 from Growstuff/revert-790-homepagetests
Revert "Fixing relative caching of post summary on homepage, fixed #789" that wasn't ready to merge yet
2015-08-06 12:36:54 +01:00
Cesy
1ec188c793 Revert "Fixing relative caching of post summary on homepage, fixed #789" 2015-08-06 12:36:21 +01:00
Cesy
438b2444df Merge pull request #790 from cesy/homepagetests
Fixing relative caching of post summary on homepage, fixed #789
2015-08-06 12:34:15 +01:00
Cesy
de981689fc Revert "Merge pull request #775 from pozorvlak/speed_up_homepage"
This reverts commit fa50ff47bb, reversing
changes made to 5b19d236d0.

Once fixed, please read https://www.kernel.org/pub/software/scm/git/docs/howto/revert-a-faulty-merge.html carefully to get it back in properly.
2015-08-06 10:56:46 +00:00
Cesy
0681fac406 Correcting view test for posts 2015-08-06 09:51:14 +00:00
Cesy
9682300b85 Merge pull request #785 from sha1sum/notification_pagination
Resolved #562 - Pagination of notifications.
2015-08-06 10:40:02 +01:00
Cesy
6f95f1fecf Clarifying comment 2015-08-06 09:20:06 +00:00
Cesy
43fe29f113 Fixing relative caching of post summary on homepage, fixed #789 2015-08-06 09:18:32 +00:00
Cesy
fa50ff47bb Merge pull request #775 from pozorvlak/speed_up_homepage
Speed up homepage by calculating "interesting" things more efficiently
2015-08-05 19:18:56 +01:00
Cesy
5b19d236d0 Merge pull request #783 from pozorvlak/remove_last_count_calls
Replace the last few .count and .length calls with .size where possible
2015-08-05 18:57:04 +01:00
Cesy
cad2c90a4f Merge pull request #784 from pozorvlak/fail_noisily_if_no_secret
Check existence of secret token before using it.
2015-08-05 16:03:31 +01:00
Anthony Atkinson
919c25ca67 Fixing notifications index view spec to be compatible with new Kaminari pagination. 2015-08-01 11:58:13 -04:00
Anthony Atkinson
29f3cc3238 Updating new test additions and edits to features/harvests with Rspec3 Ruby2 syntax. 2015-08-01 11:39:51 -04:00
Anthony Atkinson
bc9a025788 Merge branch 'dev' into notification_pagination 2015-08-01 11:38:01 -04:00
Anthony Atkinson
a593aa2a4b Merge remote-tracking branch 'upstream/dev' into dev 2015-08-01 11:37:01 -04:00
pozorvlak
de63fdc952 Merge pull request #786 from sha1sum/open_service_in_footer
Resolves #617 - Open Service graphic link in footer
2015-07-28 22:00:19 +01:00
twconquest
e7d2ae2c40 Add myself to CONTRIBUTORS.md 2015-07-28 19:50:35 +00:00
twconquest
1019834c41 Merge branch 'dev' into show-roles
Conflicts:
	spec/features/member_profile_spec.rb
2015-07-28 19:42:55 +00:00
twconquest
362f7a78b1 Add feature test for showing roles 2015-07-28 19:33:05 +00:00
Anthony Atkinson
a2eb568eac Merge remote-tracking branch 'upstream/master' into dev 2015-07-25 14:09:06 -04:00
Anthony Atkinson
9d62c012f1 Resolves #617 - Open Service graphic link in footer 2015-07-25 13:34:16 -04:00
Anthony Atkinson
cbb50df8d0 Resolved #562 - Pagination of notifications. 2015-07-25 13:18:30 -04:00
Miles Gould
91a128ae7e Check existence of secret token before using it.
People were forgetting to create config/environment.yml, which meant
that RAILS_SECRET_TOKEN wasn't being set, which meant that all tests
involving notifications failed. Unfortunately, the resulting wall of
error messages (https://gist.github.com/sha1sum/5debae6b700ff8fc0c76)
did not make the root cause remotely clear, leading to much confusion
and head-scratching all round.

This commit checks for the existence of RAILS_SECRET_TOKEN and fails
with an informative error message if it's missing.
2015-07-24 15:16:31 +01:00
Miles Gould
d9dd797c33 Merge branch 'pr/782' into dev 2015-07-24 11:09:35 +01:00
Miles Gould
f970fc4db2 Fix another whitespace problem. 2015-07-24 11:09:22 +01:00
Miles Gould
8873986562 Merge branch 'pr/779' into dev 2015-07-24 11:05:21 +01:00
Miles Gould
40b5a47aae Remove trailing whitespace 2015-07-23 23:22:45 +01:00
Miles Gould
f29c0ad085 Replace .length calls with .size 2015-07-23 23:21:55 +01:00
Miles Gould
96b0198d41 Replace remaining calls to count() with size()
The couple that aren't removed are required: for instance, there's a
Crop.count method, but no Crop.size method.
2015-07-23 23:05:39 +01:00
Miles Gould
48649d1986 Clarify comment on an order-dependent feature test 2015-07-23 22:00:06 +01:00
Miles Gould
9e2e93b544 Remove the last few .shoulds from spec/features 2015-07-23 21:57:22 +01:00
Miles Gould
1f0f55dc81 Merge branch 'pr/781' into dev 2015-07-23 19:55:57 +01:00
Mackenzie Morgan
e3738ca0c6 whitespace tab/space correction 2015-07-23 13:56:23 -04:00
Mackenzie Morgan
b0d4f9c731 switch homepage and members/ page member thumbnails to be a flexbox layout so it's more responsive. Fixes #780 2015-07-23 13:56:07 -04:00
Mackenzie
83b54365ba Merge pull request #768 from GabrielSandoval/gab/harvests
Created card based template for harvests, seeds, gardens, etc. Fixes #518, Fixes #517, and Fixes #570
2015-07-23 13:40:30 -04:00
Anthony Atkinson
5a33b2b754 Creating a directory for gardens under spec/features (to stay consistent with other features) and moving the creation specs from spec/gardens_spec.rb to spec/gardens/adding_gardens_spec.rb.
Also added the required and optional field tests for Garden form.
2015-07-23 11:42:04 -04:00
Anthony Atkinson
69cb87fd0f Test that required and optional fields are displaying properly on Seed form. 2015-07-23 11:36:54 -04:00
Anthony Atkinson
bc058b9152 Missed a few optional field placeholders on Seed form. 2015-07-23 11:36:40 -04:00
Anthony Atkinson
efd6328436 Test for required and optional field display on Harvest form. 2015-07-23 11:32:06 -04:00
Anthony Atkinson
19adabc55f Test for required and optional field display on Planting form. 2015-07-23 11:27:17 -04:00
Anthony Atkinson
ccde5b230b Comments for reasoning behind adding bangs to let statements. 2015-07-23 10:12:03 -04:00
Anthony Atkinson
33f28d1727 Two tests required bangs on let statements in order to pass after refactoring. 2015-07-23 10:07:10 -04:00
AELOGICA
aa3cf729c8 Added feature tests for on gardens, seeds and harvests for the card based thumbnails 2015-07-23 15:44:27 +08:00
AELOGICA
611adc0728 Fixed test errors for seeds and garden thumbnails. 2015-07-23 15:44:26 +08:00
AELOGICA
a97acfb1ca Fixed display of edit glyphicon based on edit priviledge. 2015-07-23 15:44:26 +08:00
AELOGICA
7e03ef1687 Fixed display of plantings on gardens thumbnail. 2015-07-23 15:44:26 +08:00
AELOGICA
c12791e428 Created card-based thumbnails for Seeds and Gardens page. 2015-07-23 15:44:25 +08:00
AELOGICA
bbe7d967b4 Changed px to em and used truncate instead of srolling for long harvest descriptions. 2015-07-23 15:44:25 +08:00
AELOGICA
f5336bd8f8 Created card based template for harvests. 2015-07-23 15:44:25 +08:00
Anthony Atkinson
5a35a3da01 Initial rendition of feature test upgrade to Ruby 2.x and Rspec 3.x syntax. 2015-07-22 19:48:41 -04:00
Anthony Atkinson
fad9eddbc4 Addition of guard gem to assist in quicker testing. 2015-07-22 16:00:45 -04:00
Anthony Atkinson
044f62eae2 Rubymine .gitignore additions. 2015-07-22 15:54:09 -04:00
Anthony Atkinson
4786e3e087 Marking required and optional fields on Garden form. 2015-07-22 11:07:32 -04:00
Anthony Atkinson
715a004b13 Marking required and optional fields on Seed form. Purposefully marked required those select fields which have no blank option. 2015-07-22 11:05:21 -04:00
Anthony Atkinson
96a007ef3b Marking required and optional fields on Harvest form. 2015-07-22 11:02:46 -04:00
Anthony Atkinson
a03d044049 Make a reusable helper for the "* denotes a required field" help text and change the Planting form to use the helper. 2015-07-22 10:59:47 -04:00
Anthony Atkinson
9a6c32fe6d Planting form with required fields marked and optional fields with "optional" placeholders or select options. 2015-07-22 10:52:08 -04:00
Anthony Atkinson
fc33269f47 Reusable class for adding a 1em bottom margin to a block and .red class for red foreground color. 2015-07-22 10:51:37 -04:00
Anthony Atkinson
a80001ffe7 Schema update after migration. 2015-07-22 10:39:02 -04:00
Anthony Atkinson
30032f5527 Add a red asterisk via CSS after all .form-group labels with the .required class. 2015-07-22 10:38:41 -04:00
Anthony Atkinson
fa8b10af58 New contributor! 2015-07-22 10:37:54 -04:00
Anthony Atkinson
9c469fb217 .gitignore additions for users of Rubymine. 2015-07-22 10:05:04 -04:00
pozorvlak
6b944e145e Merge pull request #778 from GabrielSandoval/gab/names
Added multiple forms for scientific and alternate names on crop creation  (Fixes #615)
2015-07-17 20:25:04 +01:00
AELOGICA
7748c40ccf Added jacarandang to contributors 2015-07-17 09:16:31 +08:00
Jace Monje
745281545a added test for role checking on view 2015-07-17 09:06:18 +08:00
AELOGICA
7b3aefacd3 Hidden the +/- buttons by dby default, making them visible via JavaScript code. 2015-07-17 07:55:03 +08:00
AELOGICA
134465d023 Fixed feature errors and removed failing deprecated tests 2015-07-17 07:31:53 +08:00
AELOGICA
a581b759a3 Added tests for creating crops with multiple scientific and alternate names 2015-07-17 07:31:53 +08:00
AELOGICA
734b57e395 Fixed feature test errors 2015-07-17 07:31:53 +08:00
AELOGICA
12d151b68c Added multiple forms for scientific and alternate names on crop creation 2015-07-17 07:31:51 +08:00
AELOGICA
472acd0e81 Polished UI of added forms for alternate names 2015-07-17 07:31:51 +08:00
AELOGICA
7f88b167b4 Added dynamic adding and removing additional scientific names 2015-07-17 07:31:51 +08:00
Miles Gould
897eac4fae Merge branch 'pr/727' into dev 2015-07-17 00:31:00 +01:00
Miles Gould
41ab646b20 Added @manmeetsingh to CONTRIBUTORS.md 2015-07-16 23:58:57 +01:00
pozorvlak
8c017b24e0 Merge pull request #774 from jacarandang/signout
[#568] Signout redirects to last page visited
2015-07-16 23:22:03 +01:00
pozorvlak
12e3351c77 Merge pull request #777 from GabrielSandoval/gab/member_links
Added link to owner's profile from seeds', plantings', and harvests' index page (Fixes #569)
2015-07-16 23:14:44 +01:00
AELOGICA
85e4708b71 Changed plantings_by_owner_path to seeds_by_owner_path on misc_seeds_spec.rb 2015-07-16 08:06:01 +08:00
AELOGICA
0816b6b114 Added link to owner's profile from seeds', plantings', and harvests' index 2015-07-13 10:42:06 +08:00
Jym Paul A. Carandang
91b5c3e798 Added test for signount redirection 2015-07-13 09:52:05 +08:00
Miles Gould
fc1dc0e4c3 Remove unused Planting#interesting? method. 2015-07-11 14:32:27 +01:00
Miles Gould
9e7957709d Remove BUNDLED BY line from Gemfile.lock
This keeps getting removed by some automatic process, and it's
cluttering up my `git diff` output.
2015-07-11 14:32:27 +01:00
Miles Gould
492bdd915f Move the rest of Planting.interesting into the DB
We could maybe make it a scope at this point...
2015-07-11 14:32:27 +01:00
Miles Gould
07c976b1fc Filter plantings-with-photos in the DB, not Ruby. 2015-07-11 14:32:27 +01:00
Miles Gould
2faada7f14 Find interesting crops using DB queries 2015-07-11 14:32:27 +01:00
pozorvlak
133a67a8f2 Merge pull request #764 from GabrielSandoval/gab/places
Fixes #720 - Places show nearby seeds, members, and plantings.
2015-07-10 16:26:25 +01:00
pozorvlak
16dd1e5183 Merge pull request #772 from GabrielSandoval/gab/planting_icons
Added sunniness icons on plantings/_thumbnail and show page
2015-07-10 13:04:23 +01:00
AELOGICA
4193e38034 Fixed feature test errors on garden/show page. 2015-07-10 15:43:08 +08:00
AELOGICA
9eaaa8856f Added row divs for members/_gardens, gardens/show, planting/index page. 2015-07-10 15:27:34 +08:00
AELOGICA
3ea9f2b5f2 Applied the responsive planting thumbnail to plantings/index page. 2015-07-10 15:18:39 +08:00
AELOGICA
723329ac49 Made the plantings/_thumbnail partial flexible for small and large screen sizes. 2015-07-10 15:11:15 +08:00
AELOGICA
89424b931b Replaced 'sunniness_not specified.png' icon with a darker one. 2015-07-10 13:17:43 +08:00
Jym Paul A. Carandang
9f3d3b2b8f Signout redirects to last page visited 2015-07-10 12:51:36 +08:00
AELOGICA
80c1e1bf23 Removed the column headers of planting thumbnails. 2015-07-10 11:25:05 +08:00
AELOGICA
01e676678c Removed the '#' column on plantings/_thumbnail partial. 2015-07-10 11:25:05 +08:00
AELOGICA
43d7c36fc5 Created feature tests for showing nearby plantings, seeds, and members on search 2015-07-10 11:25:05 +08:00
AELOGICA
6a6f83c6a4 Added feature request #720 2015-07-10 11:25:05 +08:00
gabrielsandoval
f73bb81eb6 Made sunniness icons transparent 2015-07-10 11:17:11 +08:00
AELOGICA
0407df880b Added feature tests for sunniness icons for plantings page. 2015-07-10 11:17:11 +08:00
AELOGICA
20219e23dc Added sunniness icons on plantings/_thumbnail and show page 2015-07-10 11:17:11 +08:00
pozorvlak
49bbbeb431 Merge pull request #769 from jacemonje/new-navbar
Redesigned the navbar
2015-07-10 00:24:57 +01:00
pozorvlak
82bc07ccd0 Merge pull request #762 from CjayBillones/refactor-spec-models
Refactor spec/models
2015-07-10 00:24:00 +01:00
Cesy
212651a279 Merge pull request #730 from korabh/dev
Add background to thumbnails
2015-07-09 14:24:41 +01:00
Korab Hoxha
1568f4b7d8 Update _avatar.html.haml 2015-07-09 12:14:37 +02:00
Cesy
b7706d0064 Merge pull request #771 from pozorvlak/remove_release_8_tasks
Remove one-off tasks that were run for Release 8.
2015-07-09 10:23:25 +01:00
Cesy
3a232e1d08 Merge pull request #708 from oshiho3/629-thumbnails-of-crops-on-post
#629 Thumbnails of crops on post
2015-07-09 10:20:58 +01:00
Korab Hoxha
a27d273978 Remove 'img-rounded' 2015-07-09 02:27:07 +02:00
Korab Hoxha
4e7b0cf698 Remove img-rounded 2015-07-09 02:26:48 +02:00
Miles Gould
28ac7ff886 Remove one-off tasks that were run for Release 8.
The ElasticSearch index task was run, but failed because we didn't have
an ElasticSearch instance to run it against.
2015-07-09 01:06:39 +01:00
Jace Monje
fa0cb55789 fixed errors in tests 2015-07-09 08:01:58 +08:00
pozorvlak
42ffc49d74 Merge pull request #770 from pozorvlak/secret_token_for_staging
Set staging secret key from environment
2015-07-09 00:54:56 +01:00
Miles Gould
d4d210447a Set staging secret key from environment 2015-07-09 00:47:11 +01:00
Jace Monje
7232f4614c refactored tests
fixed tests
2015-07-09 07:37:29 +08:00
Jace Monje
b9a29115a2 new navbar 2015-07-09 07:14:49 +08:00
Cjay
23dbfea05a Fix spec/models/ability_spec.rb
-	Changed notification into a variable scope
- Removed let(:cw_ability) and let(:admin_ability) and just used ability
2015-07-09 07:06:21 +08:00
Miles Gould
3259291eea Merge remote-tracking branch 'upstream/pr/698' into dev 2015-07-08 23:20:16 +01:00
pozorvlak
0d0042dba8 Merge pull request #761 from CjayBillones/refactor-spec-support
Refactor spec/support
2015-07-08 22:07:25 +01:00
pozorvlak
edcbc939e3 Merge pull request #728 from oshiho3/575-one-click-email-unsubscribe
#575 One click email unsubscribe
2015-07-08 22:06:29 +01:00
Cjay
c568498941 Refactor spec/models
- Changed before(:each) into let
- Changed :admin_ability and :cw_ability into :ability
2015-07-09 02:21:10 +08:00
Cjay
c6c8492528 Fix changes in spec/support 2015-07-09 01:59:34 +08:00
Cesy
3420f18fb9 Merge pull request #703 from soborok/issue-610
resolved issue #610 to show only current plantings
2015-07-08 17:54:30 +01:00
Mackenzie
377a54e692 Merge pull request #765 from GabrielSandoval/gab/seeds
Added feature and test for request displaying available seed count on crop page. Fixes #549
2015-07-08 11:23:01 -04:00
Jace Monje
8c1d88b663 added the admin/wrangler role check on member profile page 2015-07-08 12:07:37 +08:00
AELOGICA
c746c6d6d7 Added feature and test for request #549 2015-07-08 08:35:45 +08:00
AELOGICA
7607daa83a Added feature and test for request #549 2015-07-08 08:16:32 +08:00
Miles Gould
f11c1b3d54 Merge branch 'pr/759' into dev 2015-07-08 00:32:02 +01:00
pozorvlak
fc44e87fb9 Merge pull request #763 from CjayBillones/refactor-spec-helpers
Refactor spec/helpers
2015-07-07 11:56:52 +01:00
pozorvlak
ccc63381a6 Merge pull request #753 from CjayBillones/dev
Show edited date/time on posts/comments and Show last login date on member profile
2015-07-07 11:30:08 +01:00
Mackenzie
9b64f5fec1 Merge pull request #758 from GabrielSandoval/gab/days_before_maturity
Gab/days before maturity (#678)  Thank you! That haml looks much better.
2015-07-06 22:31:45 -04:00
AELOGICA
e138b3e8ab Converted html tables to CSS classes 2015-07-07 10:08:50 +08:00
AELOGICA
92db75b3d8 Converted the ul's in the plantings thumbnail partial to definition lists 2015-07-07 08:34:03 +08:00
AELOGICA
755a60447f Made the plantings/_thumbnail partial to contain only a single object. 2015-07-07 08:20:43 +08:00
Gabriel
b599818512 Delete _thumbnail.html.haml_spec.rb 2015-07-07 08:20:43 +08:00
AELOGICA
0a2d0d499c Removed unneeded methods on the plantings helper 2015-07-07 08:20:43 +08:00
AELOGICA
e638acd2de Refactored further on plantings/show page 2015-07-07 08:20:43 +08:00
AELOGICA
8d5367be9a Refactored code and replaced the plantings/tumbnail view. 2015-07-07 08:20:43 +08:00
AELOGICA
516274b2b7 Added feature more feature tests on plantings creation for progress bars' status 2015-07-07 08:20:43 +08:00
AELOGICA
f13a66391c Fixed errors where progress bars does not show 100% when a planting is marked as finished. 2015-07-07 08:20:43 +08:00
AELOGICA
b01385a1e4 Added some tests on the days before maturity feature 2015-07-07 08:20:43 +08:00
AELOGICA
4ca4d6b030 Fixed error where progress bars do not change upon update 2015-07-07 08:20:43 +08:00
AELOGICA
3181c97a2a Added the mark as finished button on the index page. 2015-07-07 08:20:42 +08:00
AELOGICA
372a7f080d Added the days before maturity feature #678 2015-07-07 08:20:42 +08:00
Cjay Billones
29a8628c42 Refactor spec/helpers
Change before(:each) into let in spec/helpers
2015-07-07 07:38:06 +08:00
pozorvlak
6d81ef198c Merge pull request #760 from CjayBillones/refactor-rspec
Refactor spec tests
2015-07-06 22:22:17 +01:00
Cjay Billones
e94cbcef02 Refactor spec
Refactor spec by changing before(:each) into let
2015-07-06 10:56:31 +08:00
Katy Ereira
9304e44c08 Add Maccath tnd CjayBillones to contributors list 2015-07-03 08:45:16 +08:00
Maccath
3a9077050e Add placeholder to harvest screen's plant part select box. 2015-07-03 08:30:04 +08:00
Cjay
64cf71ab4f Fix test for comments 2015-07-02 19:01:32 +08:00
Cjay
3fb9283ca7 Add tests for posts 2015-07-02 18:54:17 +08:00
Cjay
a73d492062 Add tests for comment 2015-07-02 18:53:54 +08:00
Cjay
2528d8af8a Show edited date/time on posts/comments 2015-07-02 18:53:18 +08:00
Cjay
10cb6c18aa Show last login date on member profile 2015-07-02 18:52:11 +08:00
Cjay
34e61082b9 Add config/application.yml in gitignore
Included config/application.yml in gitignore since it contains personal configuration of developer.
2015-07-02 18:51:05 +08:00
Cjay
b868364e96 Fix merge conflict in contributors 2015-07-02 18:50:30 +08:00
pozorvlak
45c0adb044 Merge pull request #757 from CjayBillones/code-refactoring
[Refactoring] Replace .count and .length with .size for collections
2015-07-02 11:12:44 +01:00
Cjay Billones
6c72345d26 Fix test 2015-07-02 11:57:45 +08:00
pozorvlak
4648464fb5 Merge pull request #751 from GabrielSandoval/search_form
Added search form on the places index page.
2015-07-01 17:43:36 +01:00
AELOGICA
429e54733d Moved the geocoder stub to ./cofig/environments/test.rb 2015-07-01 10:57:28 +08:00
pozorvlak
daa8717807 Merge pull request #744 from andrba/currency_spec_refactoring
#558 Currency refactoring in specs.
2015-06-26 13:18:26 +01:00
Andrey
44b260b1e8 Currency refactoring in specs. 2015-06-26 15:54:37 +10:00
AELOGICA
9bd7448ae6 Added the feature test for searching places 2015-06-26 09:17:08 +08:00
Cjay Billones
bb88041fef [Refactoring] Replace .count and .length with .size for collections
Improved program efficiency (in querying in particular) by replacing .count and .length with .size for collections.

Fix error in refactoring

Reverted some .size into .count
2015-06-25 12:09:03 +08:00
AELOGICA
87f1c6c26d Added an alert for empty string search. 2015-06-23 14:33:13 +08:00
gabrielsandoval
0e2a5fd205 Added search form on the places index page. 2015-06-21 15:24:07 +08:00
Miles Gould
5bb04dc1a4 Merge branch 'pr/745' into dev 2015-06-16 19:54:33 +01:00
Mackenzie
7cedd98b71 Merge pull request #746 from achalc/fix-fb-thumbnail
added growstuff-apple-touch-icon-precomposed.png to meta partial
2015-06-13 00:22:45 -04:00
Mackenzie
2209d65aa6 Merge pull request #748 from wingyu/dev
Issue #713:  Added flash message when photos deleted
2015-06-12 23:50:11 -04:00
Mackenzie
ba906868d8 Merge pull request #747 from mauricio-gonzalez/add_autofocus_post_field
[#478] autofocus subject input
2015-06-12 23:38:41 -04:00
Andrey
4cb3444dcd Adding myself to contributors 2015-06-09 17:47:21 +10:00
Vincent Wong
60df62f3fa added flash message when deleting messages 2015-06-06 14:36:03 +10:00
Mauricio
e3a620a109 [#478] autofocus subject input 2015-06-02 23:21:18 -06:00
Achal Channarasappa
3476d58642 added growstuff-apple-touch-icon-precomposed.png to meta partial 2015-06-02 20:52:03 -05:00
pozorvlak
a7feac3740 Merge pull request #742 from maco/dev
Moving myself to the committers section
2015-06-01 15:55:03 +01:00
Andrey
ad5730a81c Removed excessive example from notification controller specs 2015-05-27 12:08:30 +10:00
Andrey
e35ebab380 Reply to notification action 2015-05-27 11:56:24 +10:00
Shiho Takagi
3b42806b77 Modified wordings 2015-05-22 13:46:19 +10:00
Mackenzie Morgan
c5fbda0223 cleaning up inadvertent schema change 2015-05-20 17:10:22 -04:00
Mackenzie Morgan
38dbdc8307 Moving myself (maco) to the committer section, since I was given commit bit a couple months back 2015-05-20 17:08:21 -04:00
Skud
f830ed1cf2 Merge pull request #706 from tygriffin/deprecated-test-warning
add deprecation notice to all controller and view specs
2015-05-20 10:17:15 +10:00
Skud
66402e5471 Merge pull request #731 from oshiho3/578-database-seeding-improvement
#578 More extensive database seeding - bulk creating members, gardens and plantings
2015-05-20 10:10:48 +10:00
Skud
8410b6db1e Merge pull request #700 from sksavant/photo_linkback
Linkbacks in photo view page to harvest and gardens
2015-05-20 10:08:33 +10:00
Skud
aef4800ad3 Merge pull request #737 from soborok/issue-610-solved
resolved issue-610 to display only active planting
2015-05-20 10:08:11 +10:00
Skud
a3b9c50fea Merge pull request #723 from cesy/moretests
More tests
2015-05-20 10:06:18 +10:00
Skud
add275e772 Merge pull request #710 from cesy/secrets
Switching to new secrets format
2015-05-20 10:05:46 +10:00
Skud
9a2818baa9 Merge pull request #729 from oshiho3/621-crop-varieties-sidebar
#621 Crop varieties sidebar
2015-05-20 10:05:04 +10:00
Skud
c47a1bc361 Merge pull request #740 from yez/feature/robots-dissalow-on-staging
Feature/robots dissalow on staging
2015-05-20 09:57:28 +10:00
Skud
e04f78d42d Merge pull request #741 from pozorvlak/upgrade_poltergeist
Upgrade poltergeist to v1.6.
2015-05-20 09:56:24 +10:00
Skud
d6b83454fe Merge pull request #732 from Growstuff/dev
Production push (release 8): request crops, search sci/alt names, garden photos, and more
2015-05-20 09:55:34 +10:00
Miles Gould
8ce7c25374 Upgrade poltergeist to v1.6.
Poltergeist v1.5.1 is nearly a year old, and relies on PhantomJS 1.8,
which is 2.5 years old and increasingly hard to find in OS package
managers.
2015-05-06 12:15:22 +01:00
Jake Yesbeck
c1ab161b89 Added self to Contributors.md per guidelines 2015-05-05 09:18:32 -07:00
Jake Yesbeck
0d55b54371 Use a constant for the default robots.txt filename 2015-05-05 09:05:00 -07:00
Jake Yesbeck
46ac06698a Additional test for nonsense subdomain 2015-05-05 09:02:42 -07:00
Jake Yesbeck
81ce6ed8a3 Make sure file exists before attempting to render it 2015-05-05 08:58:33 -07:00
Jake Yesbeck
0f8d1e7db1 Change the render to render the file directly
Also assert that the response is the actual file contents
instead of mocking the method call
2015-05-04 23:37:40 -07:00
Jake Yesbeck
507e5a0ebc Robots controller and custom robots.txt files
New route to /robots.txt and some specific logic to switch
on if the subdomain is staging or not.

Staging will not allow any crawlers at all, production does not
have any current limitations
2015-05-04 23:11:41 -07:00
soborok
76608a981c resolved issue-610 to display only active planting 2015-04-07 13:10:33 -05:00
Gabrielle DeWitt
81d2f9829e Updated Contributors 2015-04-04 12:01:51 -07:00
Gabrielle DeWitt
b7d7f6896e Updated Helper Spec to Match Coding Standards
Replaced before and should with let and
expect, respectively.

Issue #633
2015-04-04 12:01:43 -07:00
Gabrielle DeWitt
88e8e3a59e Added Helper for See Who's Planted Link Text
Quantity and planted_from are not required
to add a planting. This change handles
the cases where one or both attributes are
missing.

Fixes #633
2015-04-04 11:51:59 -07:00
Shiho Takagi
d95bd0e063 Skip all user confirmation 2015-04-04 23:22:21 +11:00
Shiho Takagi
0c80a00f31 Pupulate sunniness and planted_from field on planting. 2015-04-04 22:56:35 +11:00
Shiho Takagi
1fe9a7d5e0 Merge branch 'dev' of https://github.com/Growstuff/growstuff into 578-database-seeding-improvement 2015-04-04 09:12:20 +11:00
Korab Hoxha
bfb4053bb4 Change to "img-rounded" 2015-03-25 16:05:30 +01:00
Korab Hoxha
2aad8a0ed0 Change to "img-rounded" 2015-03-25 16:05:07 +01:00
Korab Hoxha
7c1cce40b2 Update leaflet_overrides.css.less 2015-03-25 15:50:43 +01:00
Skud
d7ef598654 Merge pull request #726 from maco/approved_crops
Crop accept/reject notification improvements
2015-03-18 12:42:06 +11:00
Mackenzie Morgan
bd0da36d63 reverse the rejection_explanation logic to not use != 2015-03-17 21:23:54 -04:00
Mackenzie Morgan
6dedf1b030 add test for crop.rejection_explanation function 2015-03-16 23:07:17 -04:00
Shiho Takagi
c253c86787 minor improvements 2015-03-17 11:40:32 +11:00
Shiho Takagi
59d823ff8b bulk creating members, gardens and plantings 2015-03-17 02:07:43 +11:00
Korab Hoxha
c8903ba25f "img-circle" for users 2015-03-15 02:43:43 +01:00
Korab Hoxha
3a5cf37dc0 "img-circle" class for members gravatar 2015-03-13 12:58:06 +01:00
Korab Hoxha
8631b1fc99 Add background to thumbnail 2015-03-13 11:33:20 +01:00
Shiho Takagi
0c6b6e0e0e added show all/less toggle button 2015-03-12 13:49:37 +11:00
Shiho Takagi
9f33f497bc improved coding 2015-03-11 13:06:23 +11:00
Mackenzie Morgan
920ca2948b add helper function for crop rejection explanation and use it on both notifier and status message 2015-03-09 00:50:34 -04:00
Shiho Takagi
ad6c1ba2dc tiding up the code 2015-03-08 15:10:30 +11:00
Shiho Takagi
674d78721d Merge branch '575-one-click-email-unsubscribe' of https://github.com/oshiho3/growstuff into 575-one-click-email-unsubscribe 2015-03-08 14:29:56 +11:00
Shiho Takagi
3a1bd78252 Merge branch '575-one-click-email-unsubscribe' of https://github.com/oshiho3/growstuff into 575-one-click-email-unsubscribe 2015-03-08 14:29:28 +11:00
Manmeet Singh
b9b2f4a57e Placing cursor in textarea on page load of write post and write comment views 2015-03-07 16:36:15 +05:30
Marlena Compton
71c0bff3e0 add comments explaining each file per pull request 2015-03-06 07:03:06 -08:00
Shiho Takagi
e4e9b63e4d Merge branch '575-one-click-email-unsubscribe' of https://github.com/oshiho3/growstuff into 575-one-click-email-unsubscribe 2015-03-06 11:13:49 +11:00
Shiho Takagi
40adc379ae Merge branch 'dev' of https://github.com/Growstuff/growstuff into 575-one-click-email-unsubscribe 2015-03-06 10:51:09 +11:00
Mackenzie Morgan
9e53105f43 make language for crop accept/reject friendlier and if reason for rejection is 'other', give the rejection notes 2015-03-04 22:02:35 -05:00
Mackenzie
6505254e6c Merge pull request #724 from tygriffin/pending-rejected-sci-alt-names
Pending rejected sci alt names
2015-03-04 20:17:33 -05:00
Mackenzie Morgan
2d73dd2869 remove pending/rejected crops from browse and test that, change links on wrangling page to go directly to crop edit and update tests for that 2015-03-04 13:13:35 +11:00
Shiho Takagi
2abe6d7d12 show thumbnail even when there is no photo 2015-03-04 12:53:08 +11:00
Marlena Compton
c7a71381b7 write test for tooltips 2015-03-03 06:49:16 -08:00
Marlena Compton
5a1fd19abc move bar color into the data 2015-03-03 05:49:13 -08:00
Marlena Compton
a48a6da494 refactored graph scale into width scale and height scale 2015-02-28 15:50:27 -08:00
Taylor Griffin
ead9a250af test that status message appears when rejected / pending 2015-02-27 07:56:30 +11:00
Taylor Griffin
3a9ec8cf6d include crop approval status in sci and alt names 2015-02-27 07:39:07 +11:00
Cesy Avon
8990e803a0 Increasing coverage of plantings controller 2015-02-26 17:28:26 +00:00
Marlena Compton
b0a803a7a5 add h2 for sunniness chart and crop map 2015-02-26 06:41:24 -08:00
Marlena Compton
6e4bb58dfd change color when hovering over a bar 2015-02-26 06:26:38 -08:00
Marlena Compton
66b0f139a9 add tooltip to show data values 2015-02-26 06:07:23 -08:00
pozorvlak
c76e9ccbf6 Merge pull request #722 from maco/approved_crops
remove pending/rejected crops from browse and test that, change links on...
2015-02-25 20:18:26 +00:00
Shiho Takagi
375f647e2d Merge branch 'dev' of https://github.com/Growstuff/growstuff into 575-one-click-email-unsubscribe 2015-02-25 16:50:30 +11:00
Mackenzie Morgan
1b62c5cb97 remove pending/rejected crops from browse and test that, change links on wrangling page to go directly to crop edit and update tests for that 2015-02-25 00:05:56 -05:00
Shiho Takagi
0f52ea5aad one click unsubscription 2015-02-25 10:26:04 +11:00
Cesy Avon
2740b5e47b Correcting the environment variable name for secret token so Heroku is not impacted 2015-02-23 13:37:43 +00:00
Shiho Takagi
3894127f5c Merge branch 'dev' of https://github.com/Growstuff/growstuff into 629-thumbnails-of-crops-on-post 2015-02-23 21:44:01 +11:00
Shiho Takagi
17ccea4b28 moving photo on posts/show view 2015-02-23 21:43:03 +11:00
Mackenzie
7bca5c8845 Merge pull request #715 from Skud/requestcrops
Improvements to crop requests
2015-02-20 22:11:28 -05:00
Mackenzie
017df0484c Merge pull request #716 from oshiho3/PT80956846_crop_search
exclude unapproved crops from search
2015-02-20 22:04:53 -05:00
Shiho Takagi
d338bab82b travis to test both with and without elasticsearch 2015-02-18 16:18:24 +11:00
Shiho Takagi
35f8c126b6 using scope for searching only approved records 2015-02-18 15:38:28 +11:00
Shiho Takagi
eafe90e295 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-02-18 11:37:30 +11:00
Shiho Takagi
7b911034b8 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-02-18 11:37:11 +11:00
Shiho Takagi
798b89db11 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-02-18 11:36:21 +11:00
Shiho Takagi
506e3e550c update sql search to excludes unapproved crops 2015-02-18 11:26:14 +11:00
Shiho Takagi
8ab3167a28 update sql search to excludes unapproved crops 2015-02-18 11:15:15 +11:00
Shiho Takagi
436e7e3c59 Merge branch 'dev' of https://github.com/Growstuff/growstuff into PT80956846_crop_search 2015-02-18 10:33:48 +11:00
Skud
9f1091a1c8 Merge pull request #717 from maco/cms
change footer section names to generic footer1, footer2, footer3
2015-02-18 08:20:58 +11:00
Mackenzie Morgan
3b1e855da3 change footer section names to generic footer1, footer2, footer3 because we're going to CMS mode 2015-02-17 13:51:06 -05:00
Savant Krishna
da95581099 :using size instead of count 2015-02-17 21:35:57 +05:30
Mackenzie
d7f8bff17a Merge pull request #714 from Skud/search_tweaks
Fixed various problems with searches
2015-02-17 09:15:25 -05:00
Shiho Takagi
a7caa2fbaa Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search
Conflicts:
	spec/models/crop_spec.rb
2015-02-18 00:49:21 +11:00
Shiho Takagi
b215ef03c7 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search
Conflicts:
	spec/models/crop_spec.rb
2015-02-18 00:47:46 +11:00
Shiho Takagi
3cbbbc79fb Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search
Conflicts:
	spec/models/crop_spec.rb
2015-02-18 00:39:56 +11:00
Shiho Takagi
eb5e9e926b fixing Travis CI error 2015-02-18 00:37:58 +11:00
Shiho Takagi
ef2d1eb683 fixing Travis CI error 2015-02-18 00:17:53 +11:00
Shiho Takagi
965f87393d Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search
Conflicts:
	spec/models/crop_spec.rb
2015-02-17 23:56:26 +11:00
Shiho Takagi
023333b15f exclude unapproved crops from search 2015-02-17 23:52:02 +11:00
Shiho Takagi
2241a760c2 exclude unapproved crops from search 2015-02-17 23:33:39 +11:00
Skud
e4dabd1725 Fix action links in sidebar - can't do stuff if not approved 2015-02-17 20:54:16 +11:00
Skud
1dfac3fb2f Improving crop request form 2015-02-17 20:44:24 +11:00
Skud
d0f856d389 Fixed various problems with search matching 2015-02-17 19:20:25 +11:00
Mackenzie
ac6aa730c1 Merge pull request #711 from maco/cms
move cms admin to /admin/cms at skud's request
2015-02-17 00:30:38 -05:00
Mackenzie Morgan
cd12412b46 move cms admin to /admin/cms at skud's request 2015-02-16 23:19:25 -05:00
Miles Gould
9e146cde18 Merge branch 'dev' into js_all_the_features 2015-02-16 14:42:30 +00:00
Cesy Avon
9b195d1d2e Fixing line break 2015-02-16 13:42:57 +00:00
Cesy Avon
eb76db93e4 Switching to new secrets format as per http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml 2015-02-16 13:34:37 +00:00
Cesy Avon
6f80102f79 Adding autoloaded crop factory for later testing 2015-02-16 12:27:18 +00:00
Shiho Takagi
90ca5ec13b added thumbnails of crops mentioned on post page 2015-02-13 23:39:31 +11:00
Taylor Griffin
28288c51fe Merge pull request #707 from oshiho3/PT80956846_crop_search
fixing issue with 1)paginating crop search and 2)crop name autocomplete
2015-02-13 06:11:29 +11:00
Shiho Takagi
70cdab96c4 fixing issue with 1)paginating crop search and 2)crop name autocomplete 2015-02-12 23:00:04 +11:00
Taylor Griffin
e906d293a2 Merge pull request #702 from tygriffin/request-crop-links
Request crop links
2015-02-12 22:25:54 +11:00
Taylor Griffin
abdc43ef40 Merge pull request #705 from oshiho3/PT80956846_crop_search
Fixes and improvement
2015-02-12 22:25:08 +11:00
Shiho Takagi
3ed7edbfbf merge 2015-02-12 21:09:42 +11:00
Taylor Griffin
95974ab21b add deprecation not to all controller and view specs 2015-02-12 19:52:53 +11:00
Shiho Takagi
7e9f18e89e Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-02-12 16:42:55 +11:00
Shiho Takagi
e09f050088 updated the crop search query for more accurate search 2015-02-12 16:42:36 +11:00
Shiho Takagi
5bfab90b5b updated the crop search query for more accurate search 2015-02-12 16:31:57 +11:00
Nell Taylor & Heejin Park
7a064c0667 Added 'current' scope to show only current plantings on gardens/index view and added accompanying view test 2015-02-10 15:02:10 -06:00
Marlena Compton
567562f132 fix merge conflicts in gemfile.lock 2015-02-10 06:44:22 -08:00
Marlena Compton
39feeb94d0 merge in changes from dev branch 2015-02-10 06:28:47 -08:00
Yoong Kang Lim
75ac2081b0 Merge branch 'dev' into likeable
Conflicts:
	db/schema.rb
2015-02-10 22:57:28 +11:00
Yoong Kang Lim
36a94156c1 Merge branch 'dev' into likeable
Conflicts:
	db/schema.rb
2015-02-10 22:54:45 +11:00
Taylor Griffin
3289e7b950 Merge branch 'dev' of https://github.com/Growstuff/growstuff into fix-request-new-crop 2015-02-10 22:12:40 +11:00
Taylor Griffin
102763f2ab link to new crop request form 2015-02-10 22:12:22 +11:00
Skud
09a78d4661 Merge pull request #701 from Skud/search_tweaks
Search tweaks
2015-02-10 20:57:32 +11:00
Skud
e0d8126514 Merge pull request #694 from maco/cms
Add comfortable mexican sofa CMS to growstuff & make footer use it
2015-02-10 20:53:50 +11:00
Savant Krishna
1c9081e788 remove duplicate test in views 2015-02-10 20:52:42 +11:00
Skud
5cceb2c4ff Merge pull request #699 from tygriffin/fix-request-new-crop
Fix request new crop
2015-02-10 20:52:37 +11:00
Skud
66fcad69fa Paginate search results, make sexy subtitles 2015-02-10 20:48:36 +11:00
Yoong Kang Lim
e3db003bbc Added tests for the concern and member model 2015-02-10 20:18:26 +11:00
Savant Krishna
9bcd2d0aa6 Test for linkback of photos to harvest/garden/planting 2015-02-10 20:01:43 +11:00
Taylor Griffin
2ab73d3df6 call site name from inside signature partial 2015-02-10 19:59:42 +11:00
Taylor Griffin
623dbdd418 fix search deleting crops 2015-02-10 19:58:43 +11:00
Skud
78c4fc36b1 Paginate search results
... and include total number in subtitle
2015-02-10 19:26:07 +11:00
Skud
9ccef5471f Added search form to crop search result page 2015-02-10 19:18:57 +11:00
Skud
0fc4c3cb4d Made search result page show a suitable title 2015-02-10 19:07:50 +11:00
Taylor Griffin
c61f7b8e72 pass locals into signature partial properly 2015-02-10 18:52:24 +11:00
Taylor Griffin
b81e034254 tweak permissions for alternate names just like sci names 2015-02-10 18:38:32 +11:00
Taylor Griffin
07f7572b13 extract email signature into partial 2015-02-10 18:33:54 +11:00
Taylor Griffin
2697fea249 tests back to green 2015-02-09 22:41:35 +11:00
Taylor Griffin
cbb4f9d7ac add rejection notes 2015-02-09 22:17:32 +11:00
Taylor Griffin
0dbc2e1964 prevent users from seeing sci names of crops unless approved 2015-02-09 21:52:52 +11:00
Taylor Griffin
319fc12ebb add crop must be approved validation 2015-02-09 21:13:25 +11:00
Taylor Griffin
2db7bf638b improve copy for new request email 2015-02-09 20:41:28 +11:00
Savant Krishna
36a9514add linkback for harvests and gardens as well : Fixing #679 2015-02-09 17:59:31 +11:00
Skud
497121a221 Merge pull request #695 from sksavant/member_sort
Functionality to sort members by recently joined : Issue #550
2015-02-09 17:53:11 +11:00
Savant Krishna
e17a3a2ab1 Addition to Contributors list 2015-02-09 17:47:31 +11:00
Savant Krishna
49a5a26f17 Functionality to sort members by recently joined : Issue #550 2015-02-09 17:47:25 +11:00
Mackenzie Morgan
b66b8263c1 resolving schema merge 2015-02-09 00:06:18 -05:00
Mackenzie Morgan
c3429cc0f3 adding admin access test for cms, and changing the cms admin path, and adding a link for it to the admin page, and updating the navbar so i can actually target the sign-in link in the test. also removing sample fixture gencode from cms installation 2015-02-09 00:05:02 -05:00
Skud
f7a2ec2054 Merge pull request #676 from pozorvlak/seed_properties
New seed properties: days until maturity, organic, GMO, heirloom
2015-02-09 14:07:20 +11:00
Skud
95ecdad024 Merge pull request #650 from robertlandreaux/add-crop-wrangling-link
add wrangle crop button to browse crops page
2015-02-09 14:06:28 +11:00
Miles Gould
e6cbbb3e3d Use fieldset instead of abusing .input-group.
As discussed in
https://github.com/Growstuff/growstuff/pull/676#issuecomment-73072087
and following comments by @maco and @Skud.
2015-02-07 13:23:31 +00:00
robertlandreaux
b78ccaa097 fix crop_wrangling_button_spec.rb 2015-02-06 21:57:47 -05:00
robertlandreaux
593d6e7ec1 Merge branch 'dev' of https://github.com/Growstuff/growstuff into add-crop-wrangling-link 2015-02-06 21:29:18 -05:00
Skud
4c6b96e590 Merge pull request #687 from tygriffin/crop-request
Crop request
2015-02-06 13:55:08 +11:00
Taylor Griffin
8631c78f9a Merge branch 'dev' of https://github.com/Growstuff/growstuff into crop-request 2015-02-06 07:36:52 +11:00
Taylor Griffin
a69ad34359 add link to search crops 2015-02-06 07:36:43 +11:00
Taylor Griffin
1099e4c9fe update copy for new / edit crop form 2015-02-06 07:34:01 +11:00
Skud
3a53f4f8a8 Merge pull request #686 from yoongkang/mydev
Allow the planting reminder spec to test links in emails properly
2015-02-05 13:53:17 +11:00
Yoong Kang Lim
33a66dce1f Starting stages of a like feature for posts. 2015-02-05 00:54:31 +11:00
Taylor Griffin
076a6cc1df catch up with upstream dev 2015-02-04 21:41:42 +11:00
Taylor Griffin
b842bff9cb wip: fix misc tests 2015-02-04 18:36:14 +11:00
Taylor Griffin
80a28085f1 make pending crops unviewable to regular members 2015-02-04 14:44:12 +11:00
Taylor Griffin
0dd8cbccf0 refactor default scope on crop 2015-02-04 14:21:35 +11:00
Taylor Griffin
abece6473b make rejected and pending crops viewable on wrangle crops page 2015-02-04 14:18:10 +11:00
Taylor Griffin
ff1b941690 validate that a crop hasn't already been rejected or approved 2015-02-04 06:56:51 +11:00
Skud
85a6eb6195 Merge pull request #693 from maco/standard_weights
make the one-off save the si weight
2015-02-03 20:10:37 +11:00
Mackenzie Morgan
87bfceb035 make the one-off save the si weight 2015-02-02 23:49:07 -05:00
Mackenzie Morgan
b95975d632 swap footer over to CMS snippets and set CMS to use Devise for auth 2015-02-02 23:47:53 -05:00
Mackenzie Morgan
075cdb8272 Merge branch 'dev' of github.com:growstuff/growstuff into cms 2015-02-02 23:11:51 -05:00
Taylor Griffin
7db4dee61a add alert on crop show when rejected 2015-02-03 13:30:21 +11:00
Taylor Griffin
0993917dc6 define approval status options in model 2015-02-03 13:28:44 +11:00
Taylor Griffin
d6cb20e2c4 make reasons for rejection a select input 2015-02-03 13:27:41 +11:00
Taylor Griffin
3e65656c7b add meta data to crop pending alert 2015-02-03 13:25:14 +11:00
Taylor Griffin
47dc94f820 reason_for_rejection is required if marked as rejected 2015-02-03 13:18:59 +11:00
Miles Gould
c1870d46a2 Merge branch 'dev' into seed_properties
Conflicts:
	db/schema.rb
2015-02-02 17:45:49 +00:00
pozorvlak
1988c22626 Merge pull request #692 from Skud/elasticsearch-test-failures
Fixed test failure if elasticsearch isn't present in test env
2015-02-02 17:00:53 +00:00
Yoong Kang Lim
a795d452c6 Remove redundant have_content expectations 2015-02-02 21:15:46 +11:00
Shiho Takagi
656b0e44d8 fixing issue with elasticsearch option false in dev 2015-02-02 18:40:24 +11:00
Skud
af39df5e0c Fixed test failure if elasticsearch isn't present in test env 2015-02-02 18:20:16 +11:00
Mackenzie Morgan
1f23e1a646 merge from upstream 2015-02-01 22:08:28 -05:00
Skud
ca47127197 Merge pull request #684 from maco/standard_weights
Standard weights for harvests
2015-02-02 14:06:39 +11:00
Mackenzie Morgan
7ca89908cd merge from upstream 2015-02-01 22:00:52 -05:00
Mackenzie Morgan
2c94f61843 use %0.3f instead of %0.2f so we get to gram-granularity, and don't duplicate code 2015-02-01 21:59:33 -05:00
Mackenzie Morgan
7326acba81 add cms routes 2015-02-01 21:56:06 -05:00
Skud
77b4b76f14 Merge pull request #648 from oshiho3/PT80956846_crop_search
PT80956846 crop search

Fixes #649 as well.

Notes for deployment:

Edit config/application.yml to include GROWSTUFF_ELASTICSEARCH: "true" for dev and prod

Run:

    figaro heroku:set -e staging --app growstuff-staging
    heroku addons:add bonsai --app growstuff-staging

(or prod as appropriate)
Note: if you get a heap of figaro errors, you probably need to quote the value strings in your application.yml (especially numeric ones).

Now I'm ready to actually merge.  The indexing will happen as part of deploy-tasks.sh.
2015-02-02 11:14:16 +11:00
Miles Gould
eca27d18ea Reword "days until maturity" on seed form. 2015-02-01 18:14:25 +00:00
Taylor Griffin
2f67ffd2f8 fix regressions 2015-02-02 00:01:49 +11:00
Taylor Griffin
40d13fadb3 write feature spec for requesting a crop 2015-02-01 23:29:31 +11:00
Taylor Griffin
3791f4aa6f validate wikipedia url only if crop is approved 2015-02-01 22:43:48 +11:00
Yoong Kang Lim
79c60dc7c7 Allow the planting reminder spec to test links in emails properly 2015-02-01 22:26:44 +11:00
Miles Gould
5035b65883 Fix stupid call-nonexistent-method bug in tests. 2015-02-01 10:11:55 +00:00
Taylor Griffin
4211ebec76 add request notes to crop request 2015-02-01 17:56:51 +11:00
Taylor Griffin
d02edc3dd1 don't show sci name fields to regular users in crop form 2015-02-01 17:42:21 +11:00
Taylor Griffin
e86200b942 requester receives a message when crop request is rejected 2015-02-01 17:32:49 +11:00
Taylor Griffin
776b5450f9 requester receives email when crop request is approved 2015-02-01 17:20:48 +11:00
Taylor Griffin
c80b42d9bc change from approved boolean to approval_status string 2015-02-01 16:52:31 +11:00
Mackenzie Morgan
6aa37e6e26 adding CMS via comfortable mexican sofa gem 2015-02-01 00:27:04 -05:00
Miles Gould
089a3d5c24 Merge branch 'dev' into seed_properties
Conflicts:
	db/schema.rb
2015-02-01 00:03:10 +00:00
Miles Gould
1741567e19 Add tests for display of date ranges.
They fail for me with the error

undefined method `days_until_harvest_min=' for #<Seed:0x0000000b8dfcd8>
2015-01-31 23:59:27 +00:00
Mackenzie Morgan
de5b16e384 back to kg for si weight, also now adding si_weight to the csv correctly 2015-01-31 18:35:29 -05:00
Taylor Griffin
a8c203aea0 send emails to all crop wranglers when a new crop is requested 2015-02-01 09:32:50 +11:00
Marlena Compton
a013385d35 add bits to get the labels in the right place 2015-01-31 08:02:51 -08:00
Shiho Takagi
2aa30475e9 merge 2015-02-01 00:14:52 +11:00
Shiho Takagi
9a5e15b292 index when sci name or alt name is updated 2015-01-31 23:59:46 +11:00
Mackenzie Morgan
bb9695b272 add check for nil to set_si_weights and the corresponding deploy script and update test 2015-01-31 00:45:31 -05:00
Mackenzie Morgan
d436fd86f8 use ruby-units to handle conversion. note: the deploy task isn't working and i don't know why 2015-01-31 00:22:35 -05:00
Mackenzie Morgan
3f393b0937 moving si_weight population to one-off 2015-01-30 23:17:42 -05:00
Mackenzie Morgan
fb271633d9 Merge branch 'dev' of github.com:growstuff/growstuff into standard_weights 2015-01-30 22:48:50 -05:00
Taylor Griffin
e40fad76fd exclude pending approval crops from default crops scope 2015-01-31 10:39:17 +11:00
Taylor Griffin
41db12d8d7 pending approval crops appear on crops wrangle page 2015-01-31 10:36:02 +11:00
Taylor Griffin
28d29291a7 any member can create a crop at least provisionally 2015-01-31 10:03:44 +11:00
Taylor Griffin
22e0379769 give crops a requester 2015-01-31 09:54:59 +11:00
pozorvlak
b60bbbcb4e Merge pull request #682 from maco/dev
fixing harvest csv so it doesn't error
2015-01-30 15:54:58 +00:00
Mackenzie Morgan
0da121a48d adding test for harvest csv 2015-01-29 22:27:09 -05:00
Skud
6b6ffd6e58 Merge pull request #653 from rocky-jaiswal/issues/625_add_context_for_logged_out_users
Show friendly message to unregistered users who view posts.
2015-01-30 12:37:48 +11:00
Rocky Jaiswal
21dbf87ab9 Merge branch 'issues/625_add_context_for_logged_out_users' of github.com:rocky-jaiswal/growstuff into issues/625_add_context_for_logged_out_users 2015-01-29 12:03:40 +01:00
Rocky Jaiswal
a5fcd9f860 Merge branch 'dev' of github.com:Growstuff/growstuff into issues/625_add_context_for_logged_out_users 2015-01-29 12:03:27 +01:00
Rocky Jaiswal
2853bf5c70 Merge pull request #1 from Skud/rocky-jaiswal-issues/625_add_context_for_logged_out_users
Rocky jaiswal issues/625 add context for logged out users
2015-01-29 12:02:19 +01:00
Mackenzie Morgan
2d55d88db8 fixing harvest csv so it doesn't error 2015-01-29 00:49:23 -05:00
Mackenzie Morgan
2567e7cd74 adding tests (not passing, need to figure out saving mid-test), fixing before_save, adding CSV column, and adding task to set the si_weight throughout the db 2015-01-29 00:27:53 -05:00
Mackenzie Morgan
e2bac619b7 Merge branch 'dev' of github.com:growstuff/growstuff into standard_weights 2015-01-28 23:10:10 -05:00
Mackenzie Morgan
0bdab0d9fc basics of harvest standardized weights 2015-01-28 23:00:16 -05:00
Skud
e55fe55dc7 Merge pull request #680 from maco/garden_photos
Garden photos
2015-01-29 09:48:39 +11:00
Marlena Compton
ba7ef3c85d all charts tests passing WOOT 2015-01-28 05:16:23 -08:00
Mackenzie Morgan
5a474d523c merge from upstream 2015-01-27 22:35:19 -05:00
Marlena Compton
73e144278e added chart to the page 2015-01-27 07:26:31 -08:00
Mackenzie Morgan
d126392ee2 display garden photos on member page garden tabs too 2015-01-27 00:58:44 -05:00
Mackenzie Morgan
c38dc4661d basics of garden photos 2015-01-27 00:54:05 -05:00
Mackenzie Morgan
675ac5a03f add before_save for harvest weight and index for harvest photos 2015-01-26 22:26:21 -05:00
Miles Gould
233f9dfd88 Split "days until maturity" into min and max fields. 2015-01-26 19:20:33 +00:00
Shiho Takagi
b414598b07 adding comments for search options 2015-01-26 22:50:47 +11:00
Shiho Takagi
2c4e768a3a fixing wrong file name 2015-01-26 22:30:19 +11:00
Marlena Compton
e3d2a90af8 all tests by the y test is passing 2015-01-25 12:45:36 -08:00
Shiho Takagi
04d61bd040 deployment sript 2015-01-25 16:18:26 +11:00
Shiho Takagi
5a96b7efd6 adding a rake task to generate elasticsearch index 2015-01-25 15:47:40 +11:00
Marlena Compton
1d5466fdfd all but one test passing and seeing that I need a how separate y scale 2015-01-24 16:23:09 -08:00
Miles Gould
329e147add Show new seed props in detail page 2015-01-24 12:34:14 +00:00
Miles Gould
334b5bf63f Test new seed properties on detail page 2015-01-24 12:34:09 +00:00
Miles Gould
58940a6765 Add new seed properties to feature. 2015-01-24 12:13:57 +00:00
Miles Gould
2442539e1b Allow feature tests and unicorn to run at the same time 2015-01-24 12:08:02 +00:00
Miles Gould
b56237115e Add form and controller for new seed properties 2015-01-24 12:01:11 +00:00
Miles Gould
038192095d Validate all numeric fields as being >= 0. 2015-01-24 11:54:17 +00:00
Miles Gould
9a18b4b62b Add new properties to seeds
Added days_until_maturity, gmo, organic and heirloom properties; added
validation and tests for the last three.
2015-01-24 11:31:35 +00:00
Skud
c6f5abc036 Made info alerts be green like Growstuff is green 2015-01-24 21:07:41 +11:00
Skud
ad76a04e8f Fixed misnamed feature test 2015-01-24 21:07:27 +11:00
Skud
0b70be4939 Merge branch 'issues/625_add_context_for_logged_out_users' of https://github.com/rocky-jaiswal/growstuff into rocky-jaiswal-issues/625_add_context_for_logged_out_users 2015-01-24 20:45:14 +11:00
pozorvlak
da2590791e Merge pull request #665 from pozorvlak/500_on_follow
Fix the 500 server error when you try to follow another user
2015-01-23 23:45:03 +00:00
Marlena Compton
a749a9ca63 all tests working but 2 about to monkey with data again 2015-01-23 06:33:03 -08:00
Miles Gould
79a7958519 Don't try to load a Follow before it's been created. 2015-01-23 11:39:20 +00:00
Miles Gould
f4d452f3bc Turn on PhantomJS for Follows features. 2015-01-23 11:39:20 +00:00
Miles Gould
d08e2f09db Add feature test for 500-on-follow error
This doesn't actually catch the problem; I'm committing it so other
people can see it and suggest ways of making it stronger.
2015-01-23 11:39:20 +00:00
pozorvlak
d5cc3f300a Merge pull request #664 from pozorvlak/travis_containers
Deployment from Travis containers
2015-01-23 11:00:11 +00:00
Skud
1982cecc31 Merge pull request #673 from tygriffin/sci-names-permitted-params
Sci names permitted params
2015-01-23 13:40:47 +11:00
Taylor Griffin
2f05f1dbdb raise exceptions on unpermitted params in staging 2015-01-23 13:22:52 +11:00
Taylor Griffin
a67a55c599 add scientific name to crops create feature spec 2015-01-23 13:21:47 +11:00
Taylor Griffin
253b5a3f85 define permitted param for nested attribute 2015-01-23 13:20:37 +11:00
Taylor Griffin
45aaf31722 Merge branch 'dev' of https://github.com/Growstuff/growstuff into sci-names-permitted-params 2015-01-23 13:19:33 +11:00
Taylor Griffin
d0b9917e84 Merge pull request #671 from Growstuff/revert-669-sci-names-permitted-params
Revert "Sci names permitted params"
2015-01-23 13:14:42 +11:00
Taylor Griffin
32dcacf9ba copy schema from last known correct version 2015-01-23 13:14:13 +11:00
Taylor Griffin
0e0c309c15 Revert "Sci names permitted params" 2015-01-23 11:42:42 +11:00
Miles Gould
6d1385f00c Turn on PhantomJS for all feature tests. 2015-01-22 23:55:20 +00:00
pozorvlak
dabfeeea3c Merge pull request #669 from tygriffin/sci-names-permitted-params
Sci names permitted params
2015-01-22 23:46:27 +00:00
Taylor Griffin
20b9996f14 raise exceptions on unpermitted parameters in staging 2015-01-23 10:15:06 +11:00
Taylor Griffin
1ea5257da4 include sci names in create crop feature spec 2015-01-23 09:56:23 +11:00
Taylor Griffin
3c360ab1b8 specify permitted params for nested attributes 2015-01-23 09:22:13 +11:00
pozorvlak
b1c60572ef Merge pull request #668 from cesy/moretests
More tests
2015-01-22 22:01:23 +00:00
Cesy Avon
14ad572f18 Adding test for products 2015-01-22 16:21:10 +00:00
pozorvlak
1481d01cf8 Merge pull request #667 from cesy/moretests
More tests
2015-01-22 15:42:11 +00:00
Cesy Avon
492781ea3d The test that's currently failing on some branches 2015-01-22 14:40:11 +00:00
Cesy Avon
542d978d9c Adding extra tests for crop wrangling 2015-01-22 14:24:03 +00:00
Cesy Avon
c893dcd271 Moving file to sensible location for crop wrangling test 2015-01-22 14:19:47 +00:00
Miles Gould
57552455e3 Get Heroku app from .travis.yml 2015-01-21 09:13:07 +00:00
Skud
fe69e2f11d Merge pull request #663 from rocky-jaiswal/minor/less_verbose_dev_logging
Add quiet_assets to reduce noise in dev environment.
2015-01-21 18:36:33 +11:00
Shiho Takagi
684a3d2229 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-21 16:50:45 +11:00
Shiho Takagi
3d738e1b7c Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-21 16:50:21 +11:00
Shiho Takagi
a5daa156ab Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-21 16:48:59 +11:00
Shiho Takagi
018b2b4711 elasticsearch to be turned off as a default in dev and test 2015-01-21 16:47:22 +11:00
Shiho Takagi
d12ec968c4 elasticsearch to be turned off as a default in dev and test 2015-01-21 16:44:59 +11:00
Miles Gould
531a0bd9ea Roll our own heroku maintenance:(on|off) script
This allows us to use maintenance mode without installing the full
Heroku toolbelt, which we can't do on the (much faster!) container-based
infrastructure.

We add a (temporary) deployment to my sandbox from the travis_containers
branch: muckingabout with one branch for both container-based and
VM-based approaches was starting to get confusing.
2015-01-21 00:36:47 +00:00
Rocky Jaiswal
7950c577e9 Add quiet_assets to reduce noise in dev environment. 2015-01-20 19:45:29 +01:00
Rocky Jaiswal
3bc77f9b09 Merge branch 'dev' of github.com:Growstuff/growstuff into issues/625_add_context_for_logged_out_users 2015-01-20 19:15:23 +01:00
Rocky Jaiswal
05260c05c2 incorporating feedback comments for showing message for logged out users. 2015-01-20 19:14:50 +01:00
Rocky Jaiswal
d0ea54237e increase font-weight for urls in alerts. 2015-01-20 19:14:04 +01:00
Robert Landreaux
f404d54d02 update crop_wrangling_button_spec.rb 2015-01-20 12:08:58 -05:00
Miles Gould
5a2d9eabf4 Turn on Bundler caching on Travis 2015-01-20 09:16:00 +00:00
Miles Gould
1b936100e7 Trying out container-based Travis. 2015-01-20 08:47:06 +00:00
Miles Gould
34ea6eb37f Turning on maintenance mode for deploys, attempt 3 2015-01-20 08:20:44 +00:00
Miles Gould
2c006ec430 Remove stray "app: tranquil-basin" 2015-01-20 08:17:41 +00:00
Shiho Takagi
f541261e43 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-20 13:20:56 +11:00
Shiho Takagi
f910fdfa73 use elasticsearch for auto-suggest 2015-01-20 13:20:13 +11:00
Miles Gould
72f86c4ad0 Don't auto-deploy to production.
We need this to be stable and tested on staging (including environment
variables and maintenance mode) before we turn it on for production.
2015-01-19 23:59:27 +00:00
pozorvlak
0cb192ce36 Merge pull request #647 from Skud/followability
Tidied up authorization around follows
2015-01-19 23:46:55 +00:00
Miles Gould
3aadc5d68f Deploy to different apps based on branch 2015-01-19 23:05:15 +00:00
Miles Gould
1387f381d2 Run migrations and scripts on successful build. 2015-01-19 21:52:38 +00:00
pozorvlak
7257f2e557 Merge pull request #655 from cesy/issue640mincontainer
Issue #640 mincontainer
2015-01-19 21:29:46 +00:00
Miles Gould
025bfdb4b0 Test deployment with Travis. 2015-01-19 21:22:07 +00:00
Robert Landreaux
1a50566328 modify test, still needs work 2015-01-19 11:14:36 -05:00
Marlena Compton
6d8817d1fe fixing tests but some of them are green and render is working 2015-01-19 07:34:15 -08:00
Cesy Avon
ae914daa0c Whitespace and commenting 2015-01-19 13:56:06 +00:00
Cesy Avon
b984475335 Changing percentage so it doesn't get too tall 2015-01-19 13:54:13 +00:00
Cesy Avon
59f5101858 Issue 640 corrected code 2015-01-19 13:50:32 +00:00
Cesy Avon
e7d3e4d6dd Issue 640 container min-height setting up id 2015-01-19 13:25:16 +00:00
Shiho Takagi
79e1835216 use elasticsearch for auto-suggest 2015-01-19 15:45:59 +11:00
Robert Landreaux
e4072fb395 write 'crop_wrangling_button_spec.rb', fix previous issue 2015-01-18 23:25:38 -05:00
Shiho Takagi
666d6dac48 adding elasticsearch service to Travis 2015-01-19 15:24:11 +11:00
Skud
ea5b340933 Merge pull request #654 from Growstuff/dev
Hotfix: fix CSS for homepage and browse crops
2015-01-19 10:25:48 +11:00
Rocky Jaiswal
534c299383 Show friendly message to unregistered users who view posts.
https://github.com/Growstuff/growstuff/issues/625
2015-01-18 20:28:00 +01:00
Shiho Takagi
99eb33ccbb clearning up the code 2015-01-18 12:23:54 +11:00
Robert Landreaux
760e5ca74e remove failing line and add '- if can? :wrangle, Crop' 2015-01-17 12:21:01 -05:00
Shiho Takagi
cd57c9cd34 updated test so elasticsearch index is deleted before every test 2015-01-18 00:24:51 +11:00
Shiho Takagi
2a184bcb2e updated test spec for improved elasticsearch syncing method 2015-01-18 00:20:50 +11:00
Taylor Griffin
df63819602 Merge pull request #652 from Skud/cropcss
Fixed CSS errors with text wrapping
2015-01-17 23:15:31 +11:00
Skud
628d5b24c1 Fixed CSS errors with text wrapping 2015-01-17 21:27:08 +11:00
Shiho Takagi
8221d5b441 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-17 19:16:04 +11:00
Shiho Takagi
ad7cfdabd0 cleaning up the code 2015-01-17 19:11:07 +11:00
Shiho Takagi
4237dfb269 cleaning up the code 2015-01-17 18:28:45 +11:00
Robert Landreaux
c512b079fa add wrangle crop button to browse crops page 2015-01-17 00:20:11 -05:00
Shiho Takagi
b4cd151a03 merge from upstream 2015-01-17 14:09:45 +11:00
pozorvlak
eab958eac4 Merge pull request #646 from Skud/imgrounded
got rid of all img-rounded classes
2015-01-16 15:34:10 +00:00
Skud
17e94e01d0 Tidied up authorization around follows 2015-01-17 00:57:05 +11:00
Shiho Takagi
6451077d1d Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-17 00:40:02 +11:00
Shiho Takagi
ce265e281a cleaning up the code 2015-01-17 00:37:37 +11:00
Shiho Takagi
f4511c79e6 cleaning up the code 2015-01-17 00:35:57 +11:00
Shiho Takagi
06c7703628 auto-suggest to use existing search 2015-01-17 00:31:01 +11:00
Shiho Takagi
619e8590c8 updated test spec for view change 2015-01-17 00:29:11 +11:00
Shiho Takagi
88efcf4da6 updated test spec for view change 2015-01-17 00:25:34 +11:00
Shiho Takagi
556ba33172 updated crop search view 2015-01-17 00:09:39 +11:00
Skud
9d7b939d42 got rid of all img-rounded classes 2015-01-16 23:24:54 +11:00
Shiho Takagi
0bea278c5c Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-16 23:10:28 +11:00
Shiho Takagi
65814f1ef6 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-16 23:10:08 +11:00
Skud
1a7fc57f66 Merge pull request #643 from Growstuff/dev
Production push: release 7
2015-01-16 22:24:08 +11:00
Shiho Takagi
db0eb3e4da Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-16 22:20:36 +11:00
Skud
175996ce90 Merge pull request #637 from pozorvlak/update_contributors
Update CONTRIBUTORS.md with the current committers
2015-01-16 22:09:42 +11:00
Shiho Takagi
323f635b7b Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-16 22:03:01 +11:00
pozorvlak
f70f82014f Merge pull request #642 from Skud/release7_tweaks
Release7 tweaks
2015-01-16 11:02:31 +00:00
Skud
8756808444 Show members on homepage 3-across (not 2-across) 2015-01-16 21:47:24 +11:00
Skud
bb6e798bce Fix stylesheets for various thumbnail displays 2015-01-16 21:46:44 +11:00
Skud
a5c226d128 Tweaked homepage crop display to match resized columns
- made columns 8/4 rather than 6/6
- show 8 interesting crops, not 12
- show 6 recent plantings, not 4
- use crop thumbnail with visible name/info/etc, rather than popup
version
- tweaked aforementioned thumbnail to have no border, and centre-align
the text
2015-01-16 21:37:15 +11:00
Shiho Takagi
729dba8e0b Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-16 10:30:15 +11:00
Shiho Takagi
85c3e74cdd Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-16 10:29:39 +11:00
Miles Gould
c7bcbf6323 Update CONTRIBUTORS.md with the current committers 2015-01-15 14:49:12 +00:00
pozorvlak
f3302a9e30 Merge pull request #636 from rocky-jaiswal/upgrade/update_rails_4_1_9
Upgrade/update rails 4 1 9
2015-01-15 14:42:31 +00:00
Rocky Jaiswal
1e331fc19d adding rocky jaiswal in contributors. 2015-01-15 15:25:42 +01:00
Rocky Jaiswal
31a7011260 update to latest patch on rails 4.1 2015-01-15 15:25:21 +01:00
pozorvlak
181c36cdc9 Merge pull request #635 from tygriffin/fix-cache-key
Fix cache key
2015-01-15 11:37:24 +00:00
Taylor Griffin
36ac0b75e7 decoy commit to test if travis / phantomjs error was spurious 2015-01-15 22:23:27 +11:00
Shiho Takagi
f9cec41360 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-15 21:44:57 +11:00
Shiho Takagi
19dcf6f3d5 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-15 21:44:04 +11:00
Taylor Griffin
d5aef16860 add comment 2015-01-15 21:35:10 +11:00
Shiho Takagi
1d28c30680 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search 2015-01-15 21:33:22 +11:00
Shiho Takagi
9a3c4e69e8 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search
Conflicts:
	app/models/crop.rb
2015-01-15 21:32:46 +11:00
Taylor Griffin
55ba535353 pass in additional parameters to make a more uniquely identifying cache key 2015-01-15 21:21:40 +11:00
Shiho Takagi
56025d3d33 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search
Conflicts:
	app/models/crop.rb
2015-01-15 19:34:25 +11:00
Shiho Takagi
59cae7a8ce Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search
Conflicts:
	app/models/crop.rb
2015-01-15 19:33:27 +11:00
Shiho Takagi
9a9f859b70 Merge branch 'PT80956846_crop_search' of https://github.com/oshiho3/growstuff into PT80956846_crop_search
Conflicts:
	app/models/crop.rb
2015-01-15 19:31:14 +11:00
Shiho Takagi
ba3a1f6298 Integrate Elasticsearch and implement crop search against scientific_name 2015-01-15 19:28:28 +11:00
Shiho Takagi
10e6e7c3cb Integrate Elasticsearch and implement crop search against scientific_name 2015-01-15 19:05:02 +11:00
Taylor Griffin
a510489570 Merge pull request #631 from Skud/newfooter
New footer
2015-01-14 22:45:41 +11:00
Taylor Griffin
fcbc6002d1 Merge pull request #623 from pozorvlak/seo_crop_detail_page
Add SEO-friendly language to the crop detail page
2015-01-14 22:40:25 +11:00
Marlena Compton
1a845fdabc xscale working 2015-01-13 21:40:31 -08:00
Skud
eeb48e2ad6 Removed sidebar from homepage.
Also removed extraneous view tests for things we no longer have.
2015-01-13 20:13:33 +11:00
Skud
b114ed2414 Improved sitewide footer (fixes #526) 2015-01-13 20:07:59 +11:00
Skud
1064f39020 Merge pull request #626 from pozorvlak/authentications_page_die_die_die
Remove authentications page and extraneous routes
2015-01-13 10:39:06 +11:00
Skud
b5a460a1b7 Merge pull request #624 from pozorvlak/inflections
Add inflections for irregular plural crop names
2015-01-13 10:38:58 +11:00
pozorvlak
9a961b80e5 Merge pull request #627 from tygriffin/seed-by-env
don't load test and admin users in staging
2015-01-12 13:55:37 +00:00
Taylor Griffin
7bc05fa118 typo 2015-01-12 22:16:42 +11:00
Taylor Griffin
f7af7e649d update comment to reflect code changes 2015-01-12 20:13:00 +11:00
Taylor Griffin
4efb93ea45 don't load test and admin users in staging 2015-01-12 07:48:48 +11:00
Miles Gould
a5edb6497c Display lack-of-posts nicely on crop page. 2015-01-11 12:08:57 +00:00
Miles Gould
d6314ea9a1 SEO: add crop name everywhere 2015-01-11 12:08:57 +00:00
Miles Gould
c244ca672f Add tests for SEO of crop detail page 2015-01-11 12:08:57 +00:00
Miles Gould
401777cc4c Add some irregular plurals. 2015-01-11 12:02:02 +00:00
Miles Gould
7ef8afb1ba Tests for crop inflections 2015-01-11 12:02:02 +00:00
Miles Gould
e25bb5578a Remove extraneous authentication routes. 2015-01-11 11:57:13 +00:00
Miles Gould
401f3e176e Remove the authentications index page 2015-01-11 11:57:13 +00:00
Taylor Griffin
10ae117914 Merge pull request #451 from tygriffin/rails4-upgrade
Rails4 upgrade
2015-01-11 21:12:44 +11:00
Taylor Griffin
86cea2ad9f add current_password to permitted params 2015-01-11 14:55:12 +11:00
Taylor Griffin
ccef46a5cf add more permitted parameters to member update 2015-01-11 14:32:19 +11:00
Taylor Griffin
c803da3dfa fix planted_at on planting create bug 2015-01-11 14:00:51 +11:00
Taylor Griffin
02ff45f705 broaden seeding for staging env 2015-01-11 09:41:04 +11:00
Taylor Griffin
8a05a959c3 remove depricated method 2015-01-10 15:46:36 +11:00
Taylor Griffin
e5d407b1ce replace depricated method 2015-01-10 15:35:54 +11:00
Taylor Griffin
5cd53be5be change post route to get per omniauth docs 2015-01-10 14:59:04 +11:00
Taylor Griffin
c6cc8ee6bb configure devise account update for strong parameters 2014-12-31 18:32:37 +11:00
Marlena Compton
e52c4f7d4b add group for graph and transform to accommodate labels 2014-12-22 10:24:33 -08:00
Taylor Griffin
eaf4ea04ac Merge branch 'dev' of https://github.com/Growstuff/growstuff into rails4-upgrade 2014-12-20 20:45:13 +11:00
Taylor Griffin
007f7112a7 replaced caching using observers with a key-based (and simplified) caching system 2014-12-19 21:17:43 +11:00
Taylor Griffin
f62fd8484a get rid of annoying warning about doubly loaded files when running tests 2014-12-15 21:13:22 +11:00
Taylor Griffin
849bdac81b include module that holds expire_fragment method 2014-12-15 21:02:44 +11:00
Taylor Griffin
c1d2f2c9cc resolve conflicts 2014-12-15 07:17:11 +11:00
Marlena Compton
5f435b1e82 fix conflict in contributors file 2014-12-14 10:15:05 -08:00
Taylor Griffin
d92d22d99c include ActionController::Caching in Sweeper class 2014-12-14 21:03:10 +11:00
Taylor Griffin
8829acba3f removed depricated method 2014-12-14 15:54:43 +11:00
Taylor Griffin
66c4a19ad6 revert to previous smtp settings 2014-12-14 15:41:29 +11:00
Taylor Griffin
a65b78084f change staging smtp settings 2014-12-14 15:36:56 +11:00
Taylor Griffin
cdaa9c03a2 Merge branch 'rails4-upgrade' 2014-12-14 14:51:36 +11:00
Taylor Griffin
a35a573b2b update follow member code to be rails 4 compatible 2014-12-14 14:51:18 +11:00
Marlena Compton
f608685ac8 add names to contributors 2014-12-12 13:36:11 -08:00
Taylor Griffin
314cdc687a precompiled assets 2014-12-12 22:00:30 +11:00
Taylor Griffin
df3b300967 remove '/assets' from references to assets 2014-12-12 21:31:22 +11:00
Marlena Compton
dbbd37e59e BarGroup uses data object 2014-12-06 21:30:38 -08:00
Marlena Compton
482650dec6 bar label group and all tests passing 2014-12-06 21:16:22 -08:00
Marlena Compton
cc22b87cf1 barlabelgroup tests passing still horizontalbargraph tests to fix 2014-12-06 08:30:49 -08:00
Taylor Griffin
d174f25d03 order messages to be most recent 2014-11-30 16:06:06 +11:00
Taylor Griffin
cf7ead3d84 Merge branch 'dev' of https://github.com/Growstuff/growstuff into rails4-upgrade 2014-11-30 14:36:10 +11:00
Taylor Griffin
18c40809a6 Merge branch 'dev' of https://github.com/Growstuff/growstuff into rails4-upgrade 2014-11-29 22:20:58 +11:00
Marlena Compton
8826b0137a changed growtuff to growstuff which fixed tests 2014-11-26 13:55:27 -08:00
Marlena Compton
d4d76b2e8d committing tests classes I thought I committed earlier :/ 2014-11-26 13:48:22 -08:00
Marlena Compton
994ee18f13 Merge remote-tracking branch 'upstream/master' 2014-11-23 14:36:21 -08:00
Taylor Griffin
c83b01bbb7 catch up with dev 2014-11-18 22:59:43 +11:00
Taylor Griffin
fb595de457 edited configuration and dependencies 2014-11-18 22:24:58 +11:00
Taylor Griffin
acbd3f9a9e implement strong parameters instead of protected attributes 2014-11-18 20:08:54 +11:00
Taylor Griffin
98c1680138 handle misc deprications 2014-11-17 07:16:02 +11:00
Taylor Griffin
0ffe9adc86 tests are green 2014-11-16 21:40:43 +11:00
Taylor Griffin
56b4f8a221 mimick old FriendlyId behavior when calling find on a model - therefore, Model.find not Model.friendly.find (this probably needs review) 2014-11-16 20:21:34 +11:00
Taylor Griffin
f1945151c7 update RSpec true / false matchers 2014-11-16 14:40:50 +11:00
Taylor Griffin
cc31e864d5 update webrat and webrat matchers 2014-11-16 14:31:33 +11:00
Taylor Griffin
868e5c2079 upgrade jquery-ui-rails gem and config 2014-11-16 12:41:57 +11:00
Taylor Griffin
70185156aa use lambda instead of just relation in names scope 2014-11-16 12:11:56 +11:00
Taylor Griffin
7fc886f43c implement custom Sweeper class as stop gap against errors when running specs 2014-11-16 12:01:27 +11:00
Taylor Griffin
8e79199766 wip: upgrading rspec 2014-11-15 22:55:37 +11:00
Taylor Griffin
40a88b5b09 tests run but fail like whoa 2014-11-15 21:44:55 +11:00
Taylor Griffin
c6f56a23d6 Adds binstubs for rails and rake 2014-11-13 07:26:10 +11:00
Marlena Compton
80532e94f1 Merge remote-tracking branch 'origin/dev' 2014-09-11 06:46:41 -07:00
1058 changed files with 17752 additions and 61326 deletions

44
.codeclimate.yml Normal file
View File

@@ -0,0 +1,44 @@
engines:
rubocop:
enabled: true
scss-lint:
enabled: true
shellcheck:
enabled: true
eslint:
enabled: true
coffeelint:
enabled: true
brakeman:
enabled: true
bundler-audit:
enabled: true
duplication:
enabled: true
config:
languages:
- ruby
- javascript
exclude_fingerprints:
- 16dbcb58d6caa7ccfe241417831ecfa6
- 7d7dca4f27f50e3084f203280073cc74
fixme:
enabled: true
exclude_fingerprints: # rubocop_todo filename
- 63b8552079d106832fbe281566b6d028
- d38afbaaea3ecaa9a4cf046b07a01cec
- 57ff3968fd371d3e1f75c237d6c78acf
ratings:
paths:
- "**.rb"
- "**.js"
- "**.coffee"
- "**.sass"
- "**.haml"
- Gemfile.lock
exclude_paths:
- config/
- db/
- spec/
- public/
- app/assets/stylesheets/bootstrap-accessibility.css

4
.gitignore vendored
View File

@@ -8,8 +8,12 @@ coverage
*~
*.DS_Store
config/application.yml
config/database.yml
credentials*.sh
Pathogen:
custom_plan.rb
zeus.json
.bundle
.idea/**
public/**
node_modules

9
.haml-lint.yml Normal file
View File

@@ -0,0 +1,9 @@
linters:
LineLength:
max: 120
InstanceVariables:
enabled: false
IdNames:
enabled: false
ConsecutiveComments:
enabled: false

3
.mention-bot Normal file
View File

@@ -0,0 +1,3 @@
{
"userBlacklist": ["tygriffin","oshiho3"]
}

104
.overcommit.yml Normal file
View File

@@ -0,0 +1,104 @@
---
# Use this file to configure the Overcommit hooks you wish to use. This will
# extend the default configuration defined in:
# https://github.com/brigade/overcommit/blob/master/config/default.yml
#
# At the topmost level of this YAML file is a key representing type of hook
# being run (e.g. pre-commit, commit-msg, etc.). Within each type you can
# customize each hook, such as whether to only run it on certain files (via
# `include`), whether to only display output if it fails (via `quiet`), etc.
#
# For a complete list of hooks, see:
# https://github.com/brigade/overcommit/tree/master/lib/overcommit/hook
#
# For a complete list of options that you can use to customize hooks, see:
# https://github.com/brigade/overcommit#configuration
#
# Uncomment the following lines to make the configuration take effect.
PreCommit:
ALL:
quiet: false
problem_on_unmodified_line: warn
RuboCop:
enabled: true
command: ['bundle', 'exec', 'rubocop', '-D', '--rails']
TrailingWhitespace:
enabled: true
exclude:
- '**/db/structure.sql' # Ignore trailing whitespace in generated files
CoffeeLint:
enabled: true
on_fail: warn
command: ['npm', 'run', 'coffeelint']
HardTabs:
enabled: true
AuthorEmail:
enabled: false
AuthorName:
enabled: false
CssLint:
enabled: true
exclude:
- '**/bootstrap.min.css'
command: ['npm', 'run', 'csslint']
HamlLint:
enabled: true
requires_files: true
on_warn: fail
command: ['bundle', 'exec', 'haml-lint', 'app/views']
JsonSyntax:
enabled: true
BundleOutdated:
enabled: true
on_warn: warn
BundleAudit:
enabled: true
on_warn: warn
JsHint:
enabled: true
exclude:
- 'app/assets/**'
- 'spec/javascripts/support/vendor/**'
- '**/bootstrap*'
command: ['npm', 'run', 'jshint']
ScssLint:
enabled: true
RailsSchemaUpToDate:
enabled: true
MergeConflicts:
enabled: true
YamlLint:
enabled: true
PostCommit:
GitGuilt:
enabled: true
command: ['npm', 'run', 'git-guilt']
PostCheckout:
ALL:
quiet: false
BundleInstall:
enabled: true
RailsSchemaUpToDate:
enabled: true
PostMerge:
BundleInstall:
enabled: true
RailsSchemaUpToDate:
enabled: true
# PrePush:
# ALL:
# on_warn: fail # Treat all warnings as failures
# quiet: false
# # Brakeman:
# # enabled: true
# RSpec:
# enabled: true
# command: ['bundle', 'exec', 'rspec', '--fail-fast']
#
# IndexTags:
# enabled: true # Generate a tags file with `ctags` each time HEAD changes

1
.rspec
View File

@@ -1 +1,2 @@
--color
--require spec_helper

67
.rubocop.yml Normal file
View File

@@ -0,0 +1,67 @@
inherit_from: .rubocop_todo.yml
AllCops:
Include:
- 'Rakefile'
- 'config.ru'
- 'lib/**/*.rake'
Exclude:
- 'db/schema.rb'
- 'vendor/**/*'
Rails:
Enabled: true
Style/FileName:
Exclude:
- 'Gemfile'
- 'Gemfile.lock'
Style/StringLiterals:
Enabled: false
Style/MultilineMethodCallIndentation:
EnforcedStyle: indented
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
# SupportedStyles: with_first_parameter, with_fixed_indentation
Style/AlignParameters:
EnforcedStyle: with_fixed_indentation
Metrics/LineLength:
Max: 120
# See https://github.com/bbatsov/rubocop/issues/3629
Rails/HttpPositionalArguments:
Enabled: false
Style/Documentation:
Enabled: false
Style/FrozenStringLiteralComment:
Enabled: false
# Configuration parameters: Include.
# Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb
Rails/Output:
Exclude:
- 'config/unicorn.rb'
- 'db/seeds.rb'
Metrics/BlockLength:
Exclude:
- 'spec/**/*'
- '**/*.rake'
- 'config/**/*.rb'
# Remove the following once the code style matches
Metrics/MethodLength:
Max: 34
Metrics/AbcSize:
Max: 32
Metrics/ClassLength:
Max: 207
Metrics/CyclomaticComplexity:
Max: 11
Metrics/PerceivedComplexity:
Max: 9

316
.rubocop_todo.yml Normal file
View File

@@ -0,0 +1,316 @@
# This configuration was generated by
# `rubocop --auto-gen-config --no-offense-counts`
# on 2017-03-01 11:18:11 +1300 using RuboCop version 0.47.1.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
Lint/AmbiguousRegexpLiteral:
Exclude:
- 'spec/controllers/admin/orders_controller_spec.rb'
- 'spec/controllers/orders_controller_spec.rb'
- 'spec/features/cms_spec.rb'
- 'spec/lib/haml/filters/escaped_markdown_spec.rb'
- 'spec/lib/haml/filters/growstuff_markdown_spec.rb'
- 'spec/models/comment_spec.rb'
- 'spec/models/planting_spec.rb'
- 'spec/views/members/show.rss.haml_spec.rb'
- 'spec/views/posts/show.html.haml_spec.rb'
Lint/HandleExceptions:
Exclude:
- 'lib/tasks/testing.rake'
# Cop supports --auto-correct.
# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
Lint/UnusedBlockArgument:
Exclude:
- 'app/controllers/crops_controller.rb'
- 'app/controllers/sessions_controller.rb'
- 'config/unicorn.rb'
- 'lib/haml/filters/growstuff_markdown.rb'
# Cop supports --auto-correct.
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
Lint/UnusedMethodArgument:
Exclude:
- 'app/controllers/application_controller.rb'
- 'app/controllers/passwords_controller.rb'
- 'app/controllers/registrations_controller.rb'
- 'app/validators/approved_validator.rb'
- 'spec/views/plantings/show.html.haml_spec.rb'
Lint/Void:
Exclude:
- 'spec/models/crop_spec.rb'
- 'spec/models/garden_spec.rb'
- 'spec/models/post_spec.rb'
# Cop supports --auto-correct.
Performance/StringReplacement:
Exclude:
- 'spec/rails_helper.rb'
Rails/FilePath:
Exclude:
- 'spec/rails_helper.rb'
Rails/OutputSafety:
Exclude:
- 'app/helpers/application_helper.rb'
- 'app/helpers/auto_suggest_helper.rb'
- 'app/helpers/gardens_helper.rb'
# Configuration parameters: Blacklist.
# Blacklist: decrement!, decrement_counter, increment!, increment_counter
# toggle!, touch, update_all, update_attribute, update_column, update_columns,
# update_counters
Rails/SkipsModelValidations:
Exclude:
- 'app/controllers/plantings_controller.rb'
- 'db/seeds.rb'
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: strict, flexible
Rails/TimeZone:
Exclude:
- 'spec/controllers/accounts_controller_spec.rb'
- 'spec/factories/member.rb'
- 'spec/factories/post.rb'
- 'spec/models/post_spec.rb'
- 'spec/views/plantings/index.html.haml_spec.rb'
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: always, conditionals
Style/AndOr:
Exclude:
- 'config/unicorn.rb'
- 'lib/tasks/growstuff.rake'
Style/AsciiComments:
Exclude:
- 'config/initializers/comfortable_mexican_sofa.rb'
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: percent_q, bare_percent
Style/BarePercentLiterals:
Exclude:
- 'app/helpers/auto_suggest_helper.rb'
- 'spec/support/feature_helpers.rb'
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, ProceduralMethods, FunctionalMethods, IgnoredMethods.
# SupportedStyles: line_count_based, semantic, braces_for_chaining
# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
# FunctionalMethods: let, let!, subject, watch
# IgnoredMethods: lambda, proc, it
Style/BlockDelimiters:
Exclude:
- 'app/controllers/members_controller.rb'
- 'spec/controllers/order_items_controller_spec.rb'
- 'spec/features/notifications_spec.rb'
- 'spec/models/ability_spec.rb'
- 'spec/models/comment_spec.rb'
- 'spec/models/follow_spec.rb'
- 'spec/models/member_spec.rb'
- 'spec/models/planting_spec.rb'
- 'spec/models/post_spec.rb'
- 'spec/views/crops/edit.html.haml_spec.rb'
# Cop supports --auto-correct.
Style/BlockEndNewline:
Exclude:
- 'app/controllers/members_controller.rb'
- 'spec/models/ability_spec.rb'
- 'spec/models/member_spec.rb'
- 'spec/models/planting_spec.rb'
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: nested, compact
Style/ClassAndModuleChildren:
Exclude:
- 'app/controllers/admin/orders_controller.rb'
- 'lib/actions/oauth_signup_action.rb'
- 'lib/haml/filters/escaped_markdown.rb'
- 'lib/haml/filters/growstuff_markdown.rb'
# Cop supports --auto-correct.
Style/ClassMethods:
Exclude:
- 'app/models/planting.rb'
# Cop supports --auto-correct.
Style/ColonMethodCall:
Exclude:
- 'spec/lib/haml/filters/escaped_markdown_spec.rb'
- 'spec/lib/haml/filters/growstuff_markdown_spec.rb'
# Cop supports --auto-correct.
# Configuration parameters: Keywords.
# Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW
Style/CommentAnnotation:
Exclude:
- 'app/controllers/crops_controller.rb'
# Cop supports --auto-correct.
Style/EachForSimpleLoop:
Exclude:
- 'spec/models/crop_spec.rb'
- 'spec/views/home/_crops.html.haml_spec.rb'
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: compact, expanded
Style/EmptyMethod:
Exclude:
- 'app/controllers/accounts_controller.rb'
- 'app/controllers/photos_controller.rb'
- 'app/controllers/plant_parts_controller.rb'
- 'app/controllers/posts_controller.rb'
- 'app/controllers/products_controller.rb'
- 'app/controllers/roles_controller.rb'
- 'app/controllers/scientific_names_controller.rb'
- 'app/controllers/seeds_controller.rb'
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: format, sprintf, percent
Style/FormatString:
Exclude:
- 'app/helpers/application_helper.rb'
- 'spec/helpers/application_helper_spec.rb'
- 'spec/views/shop/index_spec.rb'
Style/IdenticalConditionalBranches:
Exclude:
- 'app/controllers/follows_controller.rb'
# Cop supports --auto-correct.
# Configuration parameters: MaxLineLength.
Style/IfUnlessModifier:
Exclude:
- 'app/controllers/shop_controller.rb'
- 'app/helpers/crops_helper.rb'
- 'app/models/planting.rb'
- 'config/initializers/geocoder.rb'
- 'lib/tasks/growstuff.rake'
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: line_count_dependent, lambda, literal
Style/Lambda:
Exclude:
- 'spec/controllers/member_controller_spec.rb'
- 'spec/models/photo_spec.rb'
# Cop supports --auto-correct.
Style/MultilineIfModifier:
Exclude:
- 'spec/rails_helper.rb'
# Cop supports --auto-correct.
Style/MultilineIfThen:
Exclude:
- 'script/check_contributors_md'
Style/MultilineTernaryOperator:
Exclude:
- 'app/controllers/notifications_controller.rb'
- 'app/controllers/order_items_controller.rb'
# Cop supports --auto-correct.
Style/MutableConstant:
Exclude:
- 'app/controllers/members_controller.rb'
- 'app/models/planting.rb'
# Cop supports --auto-correct.
Style/NegatedIf:
Exclude:
- 'app/helpers/crops_helper.rb'
Style/NestedTernaryOperator:
Exclude:
- 'app/controllers/plantings_controller.rb'
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles.
# SupportedStyles: skip_modifier_ifs, always
Style/Next:
Exclude:
- 'lib/tasks/growstuff.rake'
# Cop supports --auto-correct.
Style/NilComparison:
Exclude:
- 'lib/tasks/growstuff.rake'
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, EnforcedStyle, SupportedStyles.
# SupportedStyles: predicate, comparison
Style/NumericPredicate:
Exclude:
- 'spec/**/*'
- 'app/helpers/harvests_helper.rb'
- 'app/helpers/plantings_helper.rb'
- 'lib/tasks/growstuff.rake'
- 'script/check_contributors_md'
# Cop supports --auto-correct.
Style/ParallelAssignment:
Exclude:
- 'app/mailers/notifier.rb'
# Cop supports --auto-correct.
# Configuration parameters: PreferredDelimiters.
Style/PercentLiteralDelimiters:
Exclude:
- 'app/helpers/auto_suggest_helper.rb'
- 'script/check_contributors_md'
- 'spec/features/signin_spec.rb'
- 'spec/features/signout_spec.rb'
# Cop supports --auto-correct.
Style/PerlBackrefs:
Exclude:
- 'lib/haml/filters/growstuff_markdown.rb'
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
# SupportedStyles: slashes, percent_r, mixed
Style/RegexpLiteral:
Exclude:
- 'spec/lib/haml/filters/growstuff_markdown_spec.rb'
- 'spec/rails_helper.rb'
- 'spec/views/devise/registrations/edit_spec.rb'
- 'spec/views/members/index.html.haml_spec.rb'
- 'spec/views/posts/index.html.haml_spec.rb'
- 'spec/views/posts/show.html.haml_spec.rb'
# Cop supports --auto-correct.
# Configuration parameters: SupportedStyles.
# SupportedStyles: use_perl_names, use_english_names
Style/SpecialGlobalVars:
EnforcedStyle: use_perl_names
# Cop supports --auto-correct.
# Configuration parameters: IgnoredMethods.
# IgnoredMethods: respond_to, define_method
Style/SymbolProc:
Exclude:
- 'app/controllers/crops_controller.rb'
- 'lib/tasks/growstuff.rake'
# Cop supports --auto-correct.
Style/UnlessElse:
Exclude:
- 'app/controllers/omniauth_callbacks_controller.rb'
# Cop supports --auto-correct.
# Configuration parameters: SupportedStyles, WordRegex.
# SupportedStyles: percent, brackets
Style/WordArray:
EnforcedStyle: percent
MinSize: 5

View File

@@ -1 +1 @@
2.1.5
2.3.4

View File

@@ -1,12 +1,67 @@
---
sudo: false
language: ruby
env: GROWSTUFF_SITE_NAME="Growstuff (travis)" RAILS_SECRET_TOKEN='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
bundler_args: --without development production staging
cache:
bundler: true
directories:
- travis_phantomjs
- tmp/cache/assets/test/sprockets
env:
matrix:
- GROWSTUFF_ELASTICSEARCH='true' RSPEC_TAG=elasticsearch STATIC_CHECKS=false
- GROWSTUFF_ELASTICSEARCH='false' RSPEC_TAG=~elasticsearch STATIC_CHECKS=false
- STATIC_CHECKS=true
global:
- GROWSTUFF_SITE_NAME="Growstuff (travis)"
- RAILS_SECRET_TOKEN='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
- secure: "Z5TpM2jEX4UCvNePnk/LwltQX48U2u9BRc+Iypr1x9QW2o228QJhPIOH39a8RMUrepGnkQIq9q3ZRUn98RfrJz1yThtlNFL3NmzdQ57gKgjGwfpa0e4Dwj/ZJqV2D84tDGjvdVYLP7zzaYZxQcwk/cgNpzKf/jq97HLNP7CYuf4="
rvm:
- 2.1.5
- 2.3.4
before_install:
- ./script/install_phantomjs;
- export PATH=$PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH
before_script:
- psql -c 'create database growstuff_test;' -U postgres
- bundle exec rake db:create db:migrate db:test:prepare
- set -e
- >
if [ "${STATIC_CHECKS}" = "true" ]; then
./script/install_linters;
else
bundle exec rake assets:precompile;
fi
- set +e
script:
- bundle exec rake db:migrate --trace
- bundle exec rspec spec/
- set -e
- >
if [ "${STATIC_CHECKS}" = "true" ]; then
./script/check_static.rb
else
bundle exec rake db:migrate --trace;
bundle exec rspec --tag $RSPEC_TAG spec/;
bundle exec rake jasmine:ci;
fi;
- set +e
services:
- elasticsearch
before_deploy:
- bundle exec script/heroku_maintenance.rb on
deploy:
provider: heroku
api_key:
secure: "WrQxf0fEKkCdXrjcejurobOnNNz3he4dDwjBbToXbQTQNDObPp7NetJrLsfM8FiUFEeOuvhIHHiDQtMvY720zGGAGxDptvgFS+0QHCUqoTRZA/yFfUmHlG2jROXTzk5uVK0AE4k6Ion5kX8+mM0EnMT/7u+MTFiukrJctSiEXfg="
on:
repo: Growstuff/growstuff
app:
dev: growstuff-staging
master: growstuff-prod
travis_deploy: tranquil-basin-3130
travis_containers: tranquil-basin-3130
run:
- "rake db:migrate"
- "script/deploy-tasks.sh"
- restart
after_deploy:
- bundle exec script/heroku_maintenance.rb off
addons:
code_climate:
repo_token: 462e015bbdaabfb20910fc07f2fea253410ecb131444e00f97dbf32dc6789ca6

7
.yamllint Normal file
View File

@@ -0,0 +1,7 @@
extends: relaxed
rules:
# 80 chars should be enough, but don't fail if a line is longer
line-length:
max: 150
level: warning

View File

@@ -3,11 +3,36 @@ Thanks for contributing to Growstuff!
When you create a pull request, please include the following:
* Mention the issue it solves (eg. #123)
* Your code should follow our [Coding style guide](http://wiki.growstuff.org/index.php/Coding_style_guide)
* Your code should follow our [Coding style guide](https://github.com/Growstuff/growstuff/wiki/Development-process-overview#coding-practices)
* Make sure you have automated tests for your work, where possible.
* Add your name (and that of your pair partner, if any) to [CONTRIBUTORS.md](CONTRIBUTORS.md).
If you would like to discuss your work before submitting a pull request,
please join any of our [Discussion
forums](http://wiki.growstuff.org/index.php/Discussion_forums), where
our dev team will be happy to help you.
All pull requests should pass our automatic continuous integration and style
checks before being merged. You can run tests locally as follows:
- `rake spec` to run all Ruby tests
- `rake spec:models` to run Ruby model tests (or `rake spec:views` for view tests, etc)
- `rake static` to run all static checks (code style, unfixed Git conflicts, etc)
- `rake jasmine:ci` to run JavaScript unit tests in headless mode
- `rake jasmine` to start a server for running JavaScript unit tests in a
browser (eg for debugging). Point your browser at http://localhost:8888 to
run the tests.
- `rspec ./spec/path/to/my_spec.rb` to run all Ruby tests in the file `my_spec.rb`
- `rspec ./spec/path/to/my_spec.rb:45` to run the Ruby test starting on line 45 of
`my_spec.rb`. RSpec will output a list of command-lines in this form for all
failing tests so you can easily re-run particular ones.
- `rspec --only-failures` to re-run all Ruby tests that failed last time.
Growstuff runs several linters and checkers before a change is merged. These
run from overcommit. To automatically run the same linters yourself you can
install overcommit too.
- `./script/install_linters`
You can run `rake -T` to see a list of available Rake tasks. If you can't get
some tests to pass, please submit a pull request anyway - we'll be happy to
help you debug the failures.
If you would like to discuss an idea before submitting a pull request,
please open a [GitHub Issue](https://github.com/growstuff/growstuff/issues),
where our dev team will be happy to help you.

View File

@@ -11,10 +11,12 @@ submit the change with your pull request.
- Alex Bayley / [Skud](https://github.com/Skud)
- Cesy / [cesy](https://github.com/cesy)
- Miles Gould / [pozorvlak](https://github.com/pozorvlak)
- Joseph Caudle / [jcaudle](https://github.com/jcaudle)
- Taylor Griffin / [tygriffin](https://github.com/tygriffin)
- Mackenzie Morgan / [maco](https://github.com/maco)
## Contributors
- Joseph Caudle / [jcaudle](https://github.com/jcaudle)
- Ricky Amianym / [amianym](https://github.com/amianym)
- Juliet Kemp / [julietk](https://github.com/julietk)
- Federico Mena Quintero / [federicomenaquintero](https://github.com/federicomenaquintero)
@@ -22,7 +24,6 @@ submit the change with your pull request.
- Maia Sauren / [sauramaia](https://github.com/sauramaia)
- Norman Ancajas / [nbancajas](https://github.com/nbancajas)
- Jonathan "Duke" Leto / [leto](https://github.com/leto)
- Mackenzie Morgan / [maco](https://github.com/maco)
- Amy Hendrix / [sabreuse](https://github.com/sabreuse)
- CephLPod / [cephLpod](https://github.com/cephLpod/)
- Gemma Mason / [gemmaellen](https://github.com/gemmaellen)
@@ -40,7 +41,6 @@ submit the change with your pull request.
- Marty Hines / [martyhines](https://github.com/martyhines)
- Amelia Greenhall / [ameliagreenhall](https://github.com/ameliagreenhall)
- Barb Natali / [barbnatali](https://github.com/barbnatali)
- Taylor Griffin / [tygriffin](https://github.com/tygriffin)
- Marlena Compton / [Marlena](https://github.com/marlena)
- Elizabeth A. Kari / [catfriend](https://github.com/catfriend)
- Cheri Allen / [cherimarie](https://github.com/cherimarie)
@@ -51,4 +51,36 @@ submit the change with your pull request.
- Yoong Kang Lim / [yoongkang](https://github.com/yoongkang)
- Kevin Yang / [kevieyang](https://github.com/kevieyang)
- Justin Hamman / [juzham](https://github.com/juzham)
- Rocky Jaiswal / [rocky-jaiswal](https://github.com/rocky-jaiswal)
- Robert Landreaux / [robertlandreaux](https://github.com/robertlandreaux)
- Savant Krishna / [sksavant](https://github.com/sksavant)
- Marlena Compton / [marlena](https://github/marlena)
- Ryan Dy / [rdy](https://github/rdy)
- Jake Yesbeck / [yez](https://github.com/yez)
- Mauricio Gonzalez / [mauricio-gonzalez](https://github.com/mauricio-gonzalez)
- Andrey Bazhutkin / [andrba](https://github.com/andrba)
- Gabriel Sandoval / [gabrielsandoval](https://github.com/gabrielsandoval)
- Cjay Billones / [CjayBillones](https://github.com/CjayBillones)
- Katy Ereira / [maccath](https://github.com/maccath)
- Gabrielle DeWitt / [gabrielle27](https://github.com/gabrielle27)
- Manmeet Singh / [manmeetsingh](https://github.com/manmeetsingh)
- Jym Paul Carandang / [jacarandang](https://github.com/jacarandang)
- Anthony Atkinson / [sha1sum](https://github.com/sha1sum)
- Terence Conquest / [twconquest](https://github.com/twconquest)
- Daniel O'Connor / [CloCkWeRX](https://github.com/CloCkWeRX)
- DV Dasari / [dv2](https://github.com/dv2)
- Eric Tillberg / [Thrillberg](https://github.com/Thrillberg)
- Lucas Nogueira / [lucasnogueira](https://github.com/lucasnogueira)
- Charley Lewittes / [ctlewitt](https://github.com/ctlewitt)
- Kristine Nicole Polvoriza / [polveenomials](https://github.com/polveenomials)
- Brenda Wallace / [br3nda](https://github.com/br3nda)
- Jim Stallings / [jestallin](https://github.com/jestallin)
- Alyssa Ransbury / [alran](https://github.com/alran)
- Thomas Countz / [thomascountz](https://github.com/thomascountz)
- Megan Talbot / [meganft](https://github.com/meganft)
- Arun Kumar / [arun1595](https://github.com/arun1595)
- Harry Brodsky / [hbrodsk1](https://github.com/hbrodsk1)
## Bots
- Security and Dependency Updates / [deppbot](https://github.com/deppbot)

View File

@@ -1,4 +0,0 @@
load 'deploy'
# Uncomment if you are using Rails' asset pipeline
# load 'deploy/assets'
load 'config/deploy' # remove this line to skip loading any of the default tasks

198
Gemfile
View File

@@ -1,92 +1,45 @@
# frozen_string_literal: true
source 'https://rubygems.org'
ruby "2.1.5"
ruby '2.3.4'
gem 'rails', '~> 4.2.7'
gem 'bundler', '>=1.1.5'
gem 'rails', '3.2.13'
gem 'rack', '~>1.4.5'
gem 'json', '~>1.7.7'
gem 'coffee-rails', '~> 4.1.0'
gem 'haml'
gem 'leaflet-rails'
gem 'leaflet-markercluster-rails'
gem 'unicorn' # http server
gem 'sass-rails', '~> 5.0.4'
gem 'pg'
# CSS framework
gem 'bootstrap-sass', '~> 3.3.6'
gem 'font-awesome-sass'
gem 'figaro' # for handling config via ENV variables
gem 'uglifier', '~> 2.7.2' # JavaScript compressor
gem 'cancan' # for checking member privileges
gem 'gibbon' # for Mailchimp newsletter subscriptions
gem 'csv_shaper' # CSV export
# vendored activemerchant for testing- needed for bogus paypal
# gateway monkeypatch
gem 'activemerchant', '1.33.0',
:path => 'vendor/gems/activemerchant-1.33.0',
:require => 'active_merchant'
gem 'active_utils', '1.0.5',
:path => 'vendor/gems/active_utils-1.0.5'
group :production, :staging do
gem 'newrelic_rpm'
gem 'dalli'
gem 'memcachier'
gem 'rails_12factor' # supresses heroku plugin injection
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
# CSS preprocessor, used for app/assets/stylesheets/application.css
gem 'sass-rails', '~> 3.2.3'
# CoffeeScript is a Python-like language that compiles to JavaScript
gem 'coffee-rails', '~> 3.2.1'
# less-rails depends on a JavaScript engine; we use therubyracer.
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# long term, we'll probably want node.js for performance, but this will do
# for now as it's easier for new people to install
gem "therubyracer", "~> 0.12", :platforms => :ruby
# libv8 is needed by therubyracer and is a bit finicky
gem 'libv8', '3.16.14.7'
# Another CSS preprocessor, used for Bootstrap overrides
gem "less", '~>2.5.0'
gem "less-rails", '~> 2.5.0'
# CSS framework
gem "less-rails-bootstrap", '~> 3.2.0'
gem 'uglifier', '>= 1.0.3' # JavaScript compressor
gem 'compass-rails', '~> 1.0.3' # Yet Another CSS framework
end
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'js-routes' # provides access to Rails routes in Javascript
gem 'flickraw'
gem 'jquery-rails'
gem 'jquery-ui-rails', '~> 5.0.2'
gem 'js-routes' # provides access to Rails routes in Javascript
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
gem 'cancancan', '~> 1.9' # for checking member privileges
gem 'csv_shaper' # CSV export
gem 'figaro' # for handling config via ENV variables
gem 'gibbon', '~>1.2.0' # for Mailchimp newsletter subscriptions
gem 'leaflet-markercluster-rails'
gem 'leaflet-rails', '~> 0.7.7' # Newer versions break tests - see https://travis-ci.org/CloCkWeRX/growstuff/builds/200984350
gem 'pg'
gem 'ruby-units' # for unit conversion
gem 'unicorn' # http server
# To use Jbuilder templates for JSON
# gem 'jbuilder'
gem 'comfortable_mexican_sofa', '~> 1.12.0' # content management system
# Use unicorn as the app server
# gem 'unicorn'
gem 'bootstrap-kaminari-views' # bootstrap views for kaminari
gem 'kaminari', '~> 0.17.0' # pagination
group :development do
# A debugger and irb alternative. Pry doesn't play nice
# with unicorn, so start a Webrick server when debugging
# with Pry
gem 'pry'
gem 'better_errors'
gem 'binding_of_caller'
gem 'letter_opener'
end
gem 'activemerchant'
gem 'active_utils'
gem 'sidekiq'
# Markdown formatting for updates etc
gem 'bluecloth'
@@ -95,39 +48,96 @@ gem 'bluecloth'
gem 'will_paginate', '~> 3.0'
# user signup/login/etc
gem 'devise', '~> 3.2.0'
gem 'devise', '>= 4.0.0'
# nicely formatted URLs
gem 'friendly_id', '~> 4.0.10'
gem 'friendly_id', '~> 5.0.4'
# gravatars
gem 'gravatar-ultimate'
# For geolocation
gem 'geocoder',
:git => 'https://github.com/alexreisner/geocoder.git',
:ref => '104d46'
gem 'geocoder'
# For easy calendar selection
gem 'bootstrap-datepicker-rails'
# For connecting to other services (eg Twitter)
gem 'omniauth'
gem 'omniauth-twitter'
gem 'omniauth', '~> 1.3'
gem 'omniauth-facebook'
gem 'omniauth-flickr', '>= 0.0.15'
gem 'omniauth-twitter', '~> 1.2'
# For charting data
gem 'd3-rails', '~> 3.5' # 4.* produces Error: <spyOn> : could not find an object to spy upon for linear() - see https://travis-ci.org/Growstuff/growstuff/jobs/204461482
# client for Elasticsearch. Elasticsearch is a flexible
# and powerful, distributed, real-time search and analytics engine.
# An example of the use in the project is fuzzy crop search.
# Project does not use semver, so we want to be in sync with the version of
# elasticsearch we use
# See https://github.com/elastic/elasticsearch-ruby#compatibility
gem "elasticsearch-api", "~> 2.0.0"
gem "elasticsearch-model"
gem "elasticsearch-rails"
gem "hashie", ">= 3.5.3"
gem 'rake', '>= 10.0.0'
group :development, :test do
gem 'byebug' # debugging
gem 'haml-rails' # HTML templating language
gem 'rspec-rails', '~> 2.12.1' # unit testing framework
gem 'database_cleaner', '~> 1.3.0'
gem 'webrat' # provides HTML matchers for view tests
gem 'factory_girl_rails', '~> 4.0' # for creating test data
gem 'coveralls', require: false # coverage analysis
gem 'capybara' # integration tests
gem 'capybara-email' # integration tests for email
gem 'poltergeist', '~> 1.5.1' # for headless JS testing
gem 'i18n-tasks' # adds tests for finding missing and unused translations
# # CMS
# gem 'comfortable_mexican_sofa', '~> 1.12.0'
group :production, :staging do
gem 'bonsai-elasticsearch-rails' # Integration with Bonsa-Elasticsearch on heroku
gem 'dalli'
gem 'memcachier'
gem 'newrelic_rpm'
gem 'rails_12factor' # supresses heroku plugin injection
gem 'sparkpost_rails'
end
group :development do
# A debugger and irb alternative. Pry doesn't play nice
# with unicorn, so start a Webrick server when debugging
# with Pry
gem 'better_errors'
gem 'binding_of_caller'
gem 'guard'
gem 'guard-rspec'
gem 'letter_opener'
gem 'pry'
gem 'quiet_assets'
end
group :development, :test do
gem "active_merchant-paypal-bogus-gateway"
gem 'bullet' # performance tuning by finding unnecesary queries
gem 'byebug' # debugging
gem 'capybara' # integration tests
gem 'capybara-email' # integration tests for email
gem 'capybara-screenshot' # for test debugging
gem 'coveralls', require: false # coverage analysis
gem 'database_cleaner', '~> 1.5.0'
gem 'factory_girl_rails' # for creating test data
gem 'haml-i18n-extractor'
gem 'haml-rails' # HTML templating language
gem 'haml_lint' # Checks haml files for goodness
gem 'i18n-tasks' # adds tests for finding missing and unused translations
gem 'jasmine' # javascript unit testing
gem 'poltergeist' # for headless JS testing
gem 'rainbow', '< 2.2.0' # See https://github.com/sickill/rainbow/issues/44
gem 'rspec-activemodel-mocks'
gem 'rspec-rails' # unit testing framework
gem 'rubocop', '<= 0.47.1', require: false # Pin to rubocop (0.47.1) as 0.48.0 is buggy
gem 'selenium-webdriver'
gem 'webrat' # provides HTML matchers for view tests
end
group :test do
gem 'codeclimate-test-reporter', require: false
end
group :travis do
gem 'heroku-api'
end

View File

@@ -1,320 +1,509 @@
GIT
remote: https://github.com/alexreisner/geocoder.git
revision: 104d466ba7097b7dce5ba19f8e4091b7f69ccdf6
ref: 104d46
specs:
geocoder (1.1.8)
PATH
remote: vendor/gems/active_utils-1.0.5
specs:
active_utils (1.0.5)
activesupport (>= 2.3.11)
i18n
PATH
remote: vendor/gems/activemerchant-1.33.0
specs:
activemerchant (1.33.0)
GEM
remote: https://rubygems.org/
specs:
actionmailer (3.2.13)
actionpack (= 3.2.13)
mail (~> 2.5.3)
actionpack (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
builder (~> 3.0.0)
actionmailer (4.2.8)
actionpack (= 4.2.8)
actionview (= 4.2.8)
activejob (= 4.2.8)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 1.0, >= 1.0.5)
actionpack (4.2.8)
actionview (= 4.2.8)
activesupport (= 4.2.8)
rack (~> 1.6)
rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (4.2.8)
activesupport (= 4.2.8)
builder (~> 3.1)
erubis (~> 2.7.0)
journey (~> 1.0.4)
rack (~> 1.4.5)
rack-cache (~> 1.2)
rack-test (~> 0.6.1)
sprockets (~> 2.2.1)
activemodel (3.2.13)
activesupport (= 3.2.13)
builder (~> 3.0.0)
activerecord (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
arel (~> 3.0.2)
tzinfo (~> 0.3.29)
activeresource (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
activesupport (3.2.13)
i18n (= 0.6.1)
multi_json (~> 1.0)
addressable (2.3.6)
arel (3.0.3)
bcrypt (3.1.9)
better_errors (2.0.0)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
active_link_to (1.0.4)
actionpack
addressable
active_merchant-paypal-bogus-gateway (0.1.0)
activemerchant
active_utils (3.3.3)
activesupport (>= 3.2, < 5.2.0)
i18n
activejob (4.2.8)
activesupport (= 4.2.8)
globalid (>= 0.3.0)
activemerchant (1.64.0)
activesupport (>= 3.2.14, < 5.1)
builder (>= 2.1.2, < 4.0.0)
i18n (>= 0.6.9)
nokogiri (~> 1.4)
activemodel (4.2.8)
activesupport (= 4.2.8)
builder (~> 3.1)
activerecord (4.2.8)
activemodel (= 4.2.8)
activesupport (= 4.2.8)
arel (~> 6.0)
activesupport (4.2.8)
i18n (~> 0.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.5.1)
public_suffix (~> 2.0, >= 2.0.2)
arel (6.0.4)
ast (2.3.0)
autoprefixer-rails (6.7.7.2)
execjs
bcrypt (3.1.11)
better_errors (2.1.1)
coderay (>= 1.0.0)
erubis (>= 2.6.6)
rack (>= 0.9.0)
binding_of_caller (0.7.2)
debug_inspector (>= 0.0.1)
bluecloth (2.2.0)
bootstrap-datepicker-rails (1.3.0.2)
bonsai-elasticsearch-rails (0.2.0)
elasticsearch-model (~> 0)
elasticsearch-rails (~> 0)
bootstrap-datepicker-rails (1.6.4.1)
railties (>= 3.0)
builder (3.0.4)
byebug (3.5.1)
columnize (~> 0.8)
debugger-linecache (~> 1.2)
slop (~> 3.6)
cancan (1.6.10)
capybara (2.4.4)
bootstrap-kaminari-views (0.0.5)
kaminari (>= 0.13)
rails (>= 3.1)
bootstrap-sass (3.3.7)
autoprefixer-rails (>= 5.2.1)
sass (>= 3.3.4)
bootstrap_form (2.6.0)
builder (3.2.3)
bullet (5.5.1)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.10.0)
byebug (9.0.6)
cancancan (1.16.0)
capybara (2.13.0)
addressable
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
xpath (~> 2.0)
capybara-email (2.4.0)
capybara-email (2.5.0)
capybara (~> 2.4)
mail
chunky_png (1.3.3)
capybara-screenshot (1.0.14)
capybara (>= 1.0, < 3)
launchy
childprocess (0.6.3)
ffi (~> 1.0, >= 1.0.11)
climate_control (0.1.0)
cliver (0.3.2)
coderay (1.1.0)
coffee-rails (3.2.2)
cocaine (0.5.8)
climate_control (>= 0.0.3, < 1.0)
codeclimate-test-reporter (1.0.8)
simplecov (<= 0.13)
codemirror-rails (5.16.0)
railties (>= 3.0, < 6.0)
coderay (1.1.1)
coffee-rails (4.1.1)
coffee-script (>= 2.2.0)
railties (~> 3.2.0)
coffee-script (2.3.0)
railties (>= 4.0.0, < 5.1.x)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.8.0)
columnize (0.8.9)
commonjs (0.2.7)
compass (0.12.7)
chunky_png (~> 1.2)
fssm (>= 0.2.7)
sass (~> 3.2.19)
compass-rails (1.0.3)
compass (>= 0.12.2, < 0.14)
coveralls (0.7.1)
multi_json (~> 1.3)
rest-client
simplecov (>= 0.7)
term-ansicolor
thor
csv_shaper (1.1.1)
coffee-script-source (1.12.2)
comfortable_mexican_sofa (1.12.10)
active_link_to (>= 1.0.0)
bootstrap-sass (>= 3.2.0)
bootstrap_form (>= 2.2.0)
codemirror-rails (>= 3.0.0)
coffee-rails (>= 3.1.0)
haml-rails (>= 0.3.0)
jquery-rails (>= 3.0.0)
jquery-ui-rails (>= 5.0.0)
kramdown (>= 1.0.0)
paperclip (>= 4.0.0)
plupload-rails (>= 1.2.1)
rails (>= 4.0.0, < 5.1)
rails-i18n (>= 4.0.0)
sass-rails (>= 4.0.3)
concurrent-ruby (1.0.5)
connection_pool (2.2.1)
coveralls (0.8.19)
json (>= 1.8, < 3)
simplecov (~> 0.12.0)
term-ansicolor (~> 1.3)
thor (~> 0.19.1)
tins (~> 1.6)
csv_shaper (1.3.0)
activesupport (>= 3.0.0)
dalli (2.7.2)
database_cleaner (1.3.0)
d3-rails (3.5.17)
railties (>= 3.1)
dalli (2.7.6)
database_cleaner (1.5.3)
debug_inspector (0.0.2)
debugger-linecache (1.2.0)
devise (3.2.4)
devise (4.2.1)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 3.2.6, < 5)
thread_safe (~> 0.1)
railties (>= 4.1.0, < 5.1)
responders
warden (~> 1.2.3)
diff-lcs (1.1.3)
diff-lcs (1.3)
docile (1.1.5)
easy_translate (0.5.0)
json
thread
thread_safe
elasticsearch (2.0.2)
elasticsearch-api (= 2.0.2)
elasticsearch-transport (= 2.0.2)
elasticsearch-api (2.0.2)
multi_json
elasticsearch-model (0.1.9)
activesupport (> 3)
elasticsearch (> 0.4)
hashie
elasticsearch-rails (0.1.9)
elasticsearch-transport (2.0.2)
faraday
multi_json
erubis (2.7.0)
execjs (2.2.2)
factory_girl (4.5.0)
excon (0.55.0)
execjs (2.7.0)
factory_girl (4.8.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.5.0)
factory_girl (~> 4.5.0)
factory_girl_rails (4.8.0)
factory_girl (~> 4.8.0)
railties (>= 3.0.0)
figaro (1.0.0)
faraday (0.11.0)
multipart-post (>= 1.2, < 3)
ffi (1.9.18)
figaro (1.1.1)
thor (~> 0.14)
flickraw (0.9.8)
friendly_id (4.0.10.1)
activerecord (>= 3.0, < 4.0)
fssm (0.2.10)
gibbon (1.1.4)
flickraw (0.9.9)
font-awesome-sass (4.7.0)
sass (>= 3.2)
formatador (0.2.5)
friendly_id (5.0.5)
activerecord (>= 4.0.0)
geocoder (1.4.3)
gibbon (1.2.1)
httparty
multi_json (>= 1.3.4)
multi_json (>= 1.9.0)
globalid (0.4.0)
activesupport (>= 4.2.0)
gravatar-ultimate (2.0.0)
activesupport (>= 2.3.14)
rack
haml (4.0.5)
guard (2.14.1)
formatador (>= 0.2.4)
listen (>= 2.7, < 4.0)
lumberjack (~> 1.0)
nenv (~> 0.1)
notiffany (~> 0.0)
pry (>= 0.9.12)
shellany (~> 0.0)
thor (>= 0.18.1)
guard-compat (1.2.1)
guard-rspec (4.7.3)
guard (~> 2.1)
guard-compat (~> 1.1)
rspec (>= 2.99.0, < 4.0)
haml (4.0.7)
tilt
haml-rails (0.4)
actionpack (>= 3.1, < 4.1)
activesupport (>= 3.1, < 4.1)
haml (>= 3.1, < 4.1)
railties (>= 3.1, < 4.1)
hashie (3.3.2)
highline (1.6.21)
hike (1.2.3)
httparty (0.11.0)
multi_json (~> 1.0)
multi_xml (>= 0.5.2)
i18n (0.6.1)
i18n-tasks (0.7.8)
haml-i18n-extractor (0.5.9)
activesupport
haml
highline
tilt
trollop (= 1.16.2)
haml-rails (0.9.0)
actionpack (>= 4.0.1)
activesupport (>= 4.0.1)
haml (>= 4.0.6, < 5.0)
html2haml (>= 1.0.1)
railties (>= 4.0.1)
haml_lint (0.24.0)
haml (>= 4.0, < 5.1)
rainbow
rake (>= 10, < 13)
rubocop (>= 0.47.0)
sysexits (~> 1.1)
hashie (3.5.5)
heroku-api (0.4.2)
excon (~> 0.45)
multi_json (~> 1.8)
highline (1.7.8)
html2haml (2.1.0)
erubis (~> 2.7.0)
haml (~> 4.0)
nokogiri (>= 1.6.0)
ruby_parser (~> 3.5)
httparty (0.14.0)
multi_xml (>= 0.5.2)
i18n (0.8.1)
i18n-tasks (0.9.12)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
easy_translate (>= 0.5.0)
erubis
highline
highline (>= 1.7.3)
i18n
slop (>= 3.5.0)
term-ansicolor
terminal-table
journey (1.0.4)
jquery-rails (3.1.2)
railties (>= 3.0, < 5.0)
parser (>= 2.2.3.0)
term-ansicolor (>= 1.3.2)
terminal-table (>= 1.5.1)
jasmine (2.5.2)
jasmine-core (>= 2.5.1, < 3.0.0)
phantomjs
rack (>= 1.2.1)
rake
jasmine-core (2.5.2)
jquery-rails (4.3.1)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-ui-rails (4.1.2)
railties (>= 3.1.0)
js-routes (0.9.9)
jquery-ui-rails (5.0.5)
railties (>= 3.2.16)
js-routes (1.3.3)
railties (>= 3.2)
sprockets-rails
json (1.7.7)
kgio (2.9.2)
json (2.0.4)
jwt (1.5.6)
kaminari (0.17.0)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
kgio (2.11.0)
kramdown (1.13.2)
launchy (2.4.3)
addressable (~> 2.3)
leaflet-markercluster-rails (0.7.0)
railties (>= 3.1)
leaflet-rails (0.7.4)
less (2.5.1)
commonjs (~> 0.2.7)
less-rails (2.5.0)
actionpack (>= 3.1)
less (~> 2.5.0)
less-rails-bootstrap (3.2.0)
less-rails (~> 2.5.0)
letter_opener (1.2.0)
leaflet-rails (0.7.7)
letter_opener (1.4.1)
launchy (~> 2.2)
libv8 (3.16.14.7)
mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
loofah (2.0.3)
nokogiri (>= 1.5.9)
lumberjack (1.0.11)
mail (2.6.4)
mime-types (>= 1.16, < 4)
memcachier (0.0.2)
method_source (0.8.2)
mime-types (1.25.1)
mini_portile (0.6.1)
multi_json (1.10.1)
multi_xml (0.5.5)
netrc (0.8.0)
newrelic_rpm (3.9.7.266)
nokogiri (1.6.5)
mini_portile (~> 0.6.0)
oauth (0.4.7)
omniauth (1.2.2)
hashie (>= 1.2, < 4)
rack (~> 1.0)
omniauth-flickr (0.0.15)
mime-types (3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2016.0521)
mimemagic (0.3.2)
mini_portile2 (2.1.0)
minitest (5.10.1)
multi_json (1.11.3)
multi_xml (0.6.0)
multipart-post (2.0.0)
nenv (0.3.0)
newrelic_rpm (4.1.0.333)
nokogiri (1.7.1)
mini_portile2 (~> 2.1.0)
notiffany (0.1.1)
nenv (~> 0.1)
shellany (~> 0.0)
oauth (0.5.1)
oauth2 (1.3.1)
faraday (>= 0.8, < 0.12)
jwt (~> 1.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
omniauth (1.6.1)
hashie (>= 3.4.6, < 3.6.0)
rack (>= 1.6.2, < 3)
omniauth-facebook (4.0.0)
omniauth-oauth2 (~> 1.2)
omniauth-flickr (0.0.19)
multi_json (~> 1.11.0)
omniauth-oauth (~> 1.0)
omniauth-oauth (1.0.1)
omniauth-oauth (1.1.0)
oauth
omniauth (~> 1.0)
omniauth-twitter (1.1.0)
multi_json (~> 1.3)
omniauth-oauth (~> 1.0)
omniauth-oauth2 (1.4.0)
oauth2 (~> 1.0)
omniauth (~> 1.2)
omniauth-twitter (1.4.0)
omniauth-oauth (~> 1.1)
rack
orm_adapter (0.5.0)
pg (0.17.1)
poltergeist (1.5.1)
paperclip (5.1.0)
activemodel (>= 4.2.0)
activesupport (>= 4.2.0)
cocaine (~> 0.5.5)
mime-types
mimemagic (~> 0.3.0)
parser (2.4.0.0)
ast (~> 2.2)
pg (0.20.0)
phantomjs (2.1.1.0)
plupload-rails (1.2.1)
rails (>= 3.1)
poltergeist (1.14.0)
capybara (~> 2.1)
cliver (~> 0.3.1)
multi_json (~> 1.0)
websocket-driver (>= 0.2.0)
polyglot (0.3.5)
pry (0.10.1)
powerpack (0.1.1)
pry (0.10.4)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
rack (1.4.5)
rack-cache (1.2)
rack (>= 0.4)
rack-ssl (1.3.4)
public_suffix (2.0.5)
quiet_assets (1.1.0)
railties (>= 3.1, < 5.0)
rack (1.6.5)
rack-protection (1.5.3)
rack
rack-test (0.6.2)
rack-test (0.6.3)
rack (>= 1.0)
rails (3.2.13)
actionmailer (= 3.2.13)
actionpack (= 3.2.13)
activerecord (= 3.2.13)
activeresource (= 3.2.13)
activesupport (= 3.2.13)
bundler (~> 1.0)
railties (= 3.2.13)
rails (4.2.8)
actionmailer (= 4.2.8)
actionpack (= 4.2.8)
actionview (= 4.2.8)
activejob (= 4.2.8)
activemodel (= 4.2.8)
activerecord (= 4.2.8)
activesupport (= 4.2.8)
bundler (>= 1.3.0, < 2.0)
railties (= 4.2.8)
sprockets-rails
rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.8)
activesupport (>= 4.2.0.beta, < 5.0)
nokogiri (~> 1.6)
rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.3)
loofah (~> 2.0)
rails-i18n (4.0.9)
i18n (~> 0.7)
railties (~> 4.0)
rails_12factor (0.0.3)
rails_serve_static_assets
rails_stdout_logging
rails_serve_static_assets (0.0.2)
rails_stdout_logging (0.0.3)
railties (3.2.13)
actionpack (= 3.2.13)
activesupport (= 3.2.13)
rack-ssl (~> 1.3.2)
rails_serve_static_assets (0.0.5)
rails_stdout_logging (0.0.5)
railties (4.2.8)
actionpack (= 4.2.8)
activesupport (= 4.2.8)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (>= 0.14.6, < 2.0)
raindrops (0.13.0)
rake (10.4.0)
rdoc (3.12.2)
json (~> 1.4)
ref (1.0.5)
rest-client (1.7.2)
mime-types (>= 1.16, < 3.0)
netrc (~> 0.7)
rspec-core (2.12.2)
rspec-expectations (2.12.1)
diff-lcs (~> 1.1.3)
rspec-mocks (2.12.2)
rspec-rails (2.12.2)
thor (>= 0.18.1, < 2.0)
rainbow (2.1.0)
raindrops (0.18.0)
rake (12.0.0)
rb-fsevent (0.9.8)
rb-inotify (0.9.8)
ffi (>= 0.5.0)
redis (3.3.3)
responders (2.3.0)
railties (>= 4.2.0, < 5.1)
rspec (3.5.0)
rspec-core (~> 3.5.0)
rspec-expectations (~> 3.5.0)
rspec-mocks (~> 3.5.0)
rspec-activemodel-mocks (1.0.3)
activemodel (>= 3.0)
activesupport (>= 3.0)
rspec-mocks (>= 2.99, < 4.0)
rspec-core (3.5.4)
rspec-support (~> 3.5.0)
rspec-expectations (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0)
rspec-mocks (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0)
rspec-rails (3.5.2)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 2.12.0)
rspec-expectations (~> 2.12.0)
rspec-mocks (~> 2.12.0)
sass (3.2.19)
sass-rails (3.2.6)
railties (~> 3.2.0)
sass (>= 3.1.10)
tilt (~> 1.3)
simplecov (0.9.1)
rspec-core (~> 3.5.0)
rspec-expectations (~> 3.5.0)
rspec-mocks (~> 3.5.0)
rspec-support (~> 3.5.0)
rspec-support (3.5.0)
rubocop (0.47.1)
parser (>= 2.3.3.1, < 3.0)
powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
ruby-progressbar (1.8.1)
ruby-units (2.1.0)
ruby_dep (1.5.0)
ruby_parser (3.9.0)
sexp_processor (~> 4.1)
rubyzip (1.2.1)
sass (3.4.23)
sass-rails (5.0.6)
railties (>= 4.0.0, < 6)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
selenium-webdriver (3.3.0)
childprocess (~> 0.5)
rubyzip (~> 1.0)
websocket (~> 1.0)
sexp_processor (4.9.0)
shellany (0.0.1)
sidekiq (4.2.10)
concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0)
rack-protection (>= 1.5.0)
redis (~> 3.2, >= 3.2.1)
simplecov (0.12.0)
docile (~> 1.1.0)
multi_json (~> 1.0)
simplecov-html (~> 0.8.0)
simplecov-html (0.8.0)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.0)
slop (3.6.0)
sprockets (2.2.3)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sprockets-rails (0.0.1)
sprockets (>= 1.0.2)
term-ansicolor (1.3.0)
sparkpost_rails (1.4.0)
rails (>= 4.0, < 5.1)
sprockets (3.7.1)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.2.0)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
sysexits (1.2.0)
term-ansicolor (1.6.0)
tins (~> 1.0)
terminal-table (1.4.5)
therubyracer (0.12.1)
libv8 (~> 3.16.14.0)
ref
thor (0.19.1)
thread (0.1.4)
thread_safe (0.3.4)
tilt (1.4.1)
tins (1.3.3)
treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.42)
uglifier (2.2.1)
terminal-table (1.7.3)
unicode-display_width (~> 1.1.1)
thor (0.19.4)
thread (0.2.2)
thread_safe (0.3.6)
tilt (2.0.7)
tins (1.13.2)
trollop (1.16.2)
tzinfo (1.2.3)
thread_safe (~> 0.1)
uglifier (2.7.2)
execjs (>= 0.3.0)
multi_json (~> 1.0, >= 1.0.2)
unicorn (4.8.3)
json (>= 1.8.0)
unicode-display_width (1.1.3)
unicorn (5.3.0)
kgio (~> 2.6)
rack
raindrops (~> 0.7)
warden (1.2.3)
uniform_notifier (1.10.0)
warden (1.2.7)
rack (>= 1.0)
webrat (0.7.3)
nokogiri (>= 1.2.0)
rack (>= 1.0)
rack-test (>= 0.5.3)
websocket-driver (0.4.0)
will_paginate (3.0.7)
websocket (1.2.4)
websocket-driver (0.6.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2)
will_paginate (3.1.5)
xpath (2.0.0)
nokogiri (~> 1.3)
@@ -322,61 +511,89 @@ PLATFORMS
ruby
DEPENDENCIES
active_utils (= 1.0.5)!
activemerchant (= 1.33.0)!
active_merchant-paypal-bogus-gateway
active_utils
activemerchant
better_errors
binding_of_caller
bluecloth
bonsai-elasticsearch-rails
bootstrap-datepicker-rails
bootstrap-kaminari-views
bootstrap-sass (~> 3.3.6)
bullet
bundler (>= 1.1.5)
byebug
cancan
cancancan (~> 1.9)
capybara
capybara-email
coffee-rails (~> 3.2.1)
compass-rails (~> 1.0.3)
capybara-screenshot
codeclimate-test-reporter
coffee-rails (~> 4.1.0)
comfortable_mexican_sofa (~> 1.12.0)
coveralls
csv_shaper
d3-rails (~> 3.5)
dalli
database_cleaner (~> 1.3.0)
devise (~> 3.2.0)
factory_girl_rails (~> 4.0)
database_cleaner (~> 1.5.0)
devise (>= 4.0.0)
elasticsearch-api (~> 2.0.0)
elasticsearch-model
elasticsearch-rails
factory_girl_rails
figaro
flickraw
friendly_id (~> 4.0.10)
geocoder!
gibbon
font-awesome-sass
friendly_id (~> 5.0.4)
geocoder
gibbon (~> 1.2.0)
gravatar-ultimate
guard
guard-rspec
haml
haml-i18n-extractor
haml-rails
haml_lint
hashie (>= 3.5.3)
heroku-api
i18n-tasks
jasmine
jquery-rails
jquery-ui-rails
jquery-ui-rails (~> 5.0.2)
js-routes
json (~> 1.7.7)
kaminari (~> 0.17.0)
leaflet-markercluster-rails
leaflet-rails
less (~> 2.5.0)
less-rails (~> 2.5.0)
less-rails-bootstrap (~> 3.2.0)
leaflet-rails (~> 0.7.7)
letter_opener
libv8 (= 3.16.14.7)
memcachier
newrelic_rpm
omniauth
omniauth (~> 1.3)
omniauth-facebook
omniauth-flickr (>= 0.0.15)
omniauth-twitter
omniauth-twitter (~> 1.2)
pg
poltergeist (~> 1.5.1)
poltergeist
pry
rack (~> 1.4.5)
rails (= 3.2.13)
quiet_assets
rails (~> 4.2.7)
rails_12factor
rainbow (< 2.2.0)
rake (>= 10.0.0)
rspec-rails (~> 2.12.1)
sass-rails (~> 3.2.3)
therubyracer (~> 0.12)
uglifier (>= 1.0.3)
rspec-activemodel-mocks
rspec-rails
rubocop (<= 0.47.1)
ruby-units
sass-rails (~> 5.0.4)
selenium-webdriver
sidekiq
sparkpost_rails
uglifier (~> 2.7.2)
unicorn
webrat
will_paginate (~> 3.0)
RUBY VERSION
ruby 2.3.4p301
BUNDLED WITH
1.14.6

13
Guardfile Normal file
View File

@@ -0,0 +1,13 @@
guard :rspec,
cmd: 'bundle exec rspec --format documentation',
failed_mode: :keep do
watch(%r{^spec/.+_spec\.rb$})
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/libs/#{m[1]}_spec.rb" }
watch('spec/spec_helper.rb') { "spec" }
# Rails example
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
watch('config/routes.rb') { "spec/routing" }
end

View File

@@ -1,7 +1,8 @@
# Growstuff
[![Build Status](https://travis-ci.org/Growstuff/growstuff.png)](https://travis-ci.org/Growstuff/growstuff)
[![Build Status](https://travis-ci.org/Growstuff/growstuff.svg?branch=dev)](https://travis-ci.org/Growstuff/growstuff)
[![Coverage Status](https://coveralls.io/repos/Growstuff/growstuff/badge.png)](https://coveralls.io/r/Growstuff/growstuff)
[![Code Climate](https://codeclimate.com/github/Growstuff/growstuff/badges/gpa.svg)](https://codeclimate.com/github/Growstuff/growstuff)
Welcome to the Growstuff project.
@@ -18,8 +19,8 @@ encourage participation from people of all backgrounds and skill levels.
* [Issues](http://github.com/Growstuff/growstuff/issues) (features we're
working on, known bugs, etc)
* [Discussion forums](http://wiki.growstuff.org/index.php/Discussion_forums) (mailing lists, IRC, etc)
* [Wiki](http://wiki.growstuff.org/) (general documentation)
* [IRC](https://webchat.freenode.net/) growstuff channel (general chat, brainstorming and troubleshooting) or [Gitter](https://gitter.im/Growstuff/growstuff)
* [Wiki](https://github.com/Growstuff/growstuff/wiki) (general documentation, etc. Help by migrating from the [old wiki](https://web.archive.org/web/*/wiki.growstuff.org))
## For coders
@@ -27,10 +28,9 @@ Growstuff is built in Ruby on Rails and also uses JavaScript for
frontend features. We welcome contributions -- see
[CONTRIBUTING](CONTRIBUTING.md) for details.
* To set up your development environment, see [Getting started](http://wiki.growstuff.org/index.php/Development/Getting_Started).
* We encourage [pair programming](http://wiki.growstuff.org/index.php/Pairing), especially for newer developers. [Find a pair programming partner.](http://talk.growstuff.org/t/find-a-pair-programming-partner/13)
* Drop in to one of our [discussion forums](http://wiki.growstuff.org/index.php/Discussion_forums) to chat to other developers, get help, etc.
* You may also be interested in our [API](http://wiki.growstuff.org/index.php/API).
* To set up your development environment, see [Getting started](https://github.com/Growstuff/growstuff/wiki/New-contributor-guide).
* We encourage [pair programming](http://wiki.growstuff.org/index.php/Pairing), especially for newer developers.
* You may also be interested in our [API](https://github.com/Growstuff/growstuff/wiki/API).
## For designers, writers, researchers, data wranglers, and other contributors
@@ -39,22 +39,23 @@ your skills and interests.
You might like to check out:
* The [Get Involved](http://wiki.growstuff.org/index.php/Get_involved)
* The [New Contributor Guide](https://github.com/Growstuff/growstuff/wiki/New-contributor-guide)
page on our wiki, which has lots of detail for different areas
* [Growstuff Talk](http://talk.growstuff.org/) especially the [Idea category](http://talk.growstuff.org/c/idea)
Here on Github, you might find these useful:
* [Waffle](http://waffle.io/Growstuff/growstuff) has stories in "ready" that can be worked on.
* [needs: design](https://github.com/Growstuff/growstuff/labels/needs:%20design) - tasks requiring high-level design
* [needs: visual design](https://github.com/Growstuff/growstuff/labels/needs:%20visual design) - tasks requiring visual/graphical design
* [needs: documentation](https://github.com/Growstuff/growstuff/labels/needs:%20documentation)
* [needs: data](https://github.com/Growstuff/growstuff/labels/needs:%20data) - tasks requiring data entry, data design, data import, or similar
* [curated:beginner](https://github.com/Growstuff/growstuff/labels/curated:%20beginner) - tasks that are ideal for beginner programmers or people new to the project
Feel free to comment on any of the issues you find there, or open up a broader conversation on [Growstuff Talk](http://talk.growstuff.org).
Feel free to comment on any of the issues on [Github](https://github.com/Growstuff/growstuff/issues).
## Contact
For more information about this project, contact [info@growstuff.org](mailto:info@growstuff.org).
You can also contact us on [Twitter](http://twitter.com/growstufforg/) or
[Facebook](https://www.facebook.com/pages/Growstuff/1531133417099494).
[Facebook](https://www.facebook.com/pages/Growstuff/1531133417099494) or [Github](https://github.com/Growstuff/growstuff/issues)..

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 572 B

After

Width:  |  Height:  |  Size: 613 B

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@@ -5,17 +5,15 @@
jQuery ->
el = $('.append-date')
el.datepicker({'format': 'yyyy-mm-dd'})
href = el.attr('href')
originalText = el.text()
el.click (e) ->
e.stopPropagation()
e.preventDefault()
originalText = $(this).text()
href = $(this).attr('href')
$(this).text('Confirm without date')
$(this).bind('click.confirm', (e) ->
@@ -31,6 +29,8 @@ jQuery ->
el.one 'changeDate', ->
date = $(this).datepicker('getDate')
href = $(this).attr('href')
url = "#{href}&planting[finished_at]=#{date}"
link = $("<a href='#{url}' data-method='put'></a>")

View File

@@ -15,8 +15,7 @@
//= require js-routes
//= require jquery
//= require jquery_ujs
//= require jquery.ui.autocomplete
//= require twitter/bootstrap
//= require_tree .
//= require jquery-ui/autocomplete
//= require bootstrap-sprockets
//= require bootstrap-datepicker
//= require_tree .

View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
# Custom JS for the admin area

View File

@@ -1,6 +1,9 @@
//= require graphs/horizontal_bar_graph
if (document.getElementById("cropmap") !== null) {
mapbox_map_id = "<%= Rails.env == 'test' ? 0 : Growstuff::Application.config.mapbox_map_id %>";
mapbox_base_url = "https://c.tiles.mapbox.com/v3/" + mapbox_map_id + "/{z}/{x}/{y}.png";
mapbox_access_token = "<%= Rails.env == 'test' ? 0 : Growstuff::Application.config.mapbox_access_token %>";
mapbox_base_url = "http://a.tiles.mapbox.com/v4/" + mapbox_map_id + "/{z}/{x}/{y}.png?access_token=" + mapbox_access_token;
L.Icon.Default.imagePath = '/assets'
@@ -47,3 +50,42 @@ function showCropMap(cropmap) {
cropmap.addLayer(markers);
}
function plantingStats(crop) {
var sunniness_counts = { 'empty': 0, 'sun': 0, 'semi-shade': 0, 'shade': 0 };
$.each(crop.plantings, function(i, planting) {
if (planting.sunniness) {
sunniness_counts[planting.sunniness]++;
} else {
sunniness_counts['Empty']++;
}
});
return [
{name: 'Empty', value: sunniness_counts['empty']},
{name: 'Sun', value: sunniness_counts['sun']},
{name: 'Semi-shade', value: sunniness_counts['semi-shade']},
{name: 'Shade', value: sunniness_counts['shade']}
];
}
if ($("#sunchart")[0] !== null) {
var HorizontalBarGraph = growstuff.HorizontalBarGraph;
$.getJSON(location.pathname + '.json', function (crop) {
data = {
bars: plantingStats(crop),
bar_color: 'steelblue',
width: {size: 300, scale: 'linear'},
height: {size: 100, scale: 'ordinal'},
//left is used to shift the bars over so that there is
//room for the labels
margin: {top: 0, right: 0, bottom: 0, left: 100}
};
var graph = new HorizontalBarGraph(data);
graph.render(d3.select($('#sunchart')[0]));
});
}
$('.btn.toggle.crop-hierarchy').click(function () {
$('.toggle.crop-hierarchy').toggleClass('hide');
});

View File

@@ -9,11 +9,11 @@ jQuery ->
finished = $('#planting_finished_at')
if @checked
if previousValue.length
date = previousValue
date = previousValue
finished.val(date)
else
finished.trigger('focus')
else
previousValue = finished.val()
finished.val('')
)
)

View File

@@ -0,0 +1,50 @@
//= require graphs/width_scale
//= require graphs/height_scale
(function(){
'use strict';
/*
This represents bars for a bar graph.
Currently these are used for HorizontalBarGraph.
*/
var growstuff = (window.growstuff = window.growstuff || {});
var WidthScale = growstuff.WidthScale;
var HeightScale = growstuff.HeightScale;
function BarGroup(data) {
this._data = data;
}
BarGroup.prototype.render = function(root){
var data = this._data;
var bars = this._data.bars;
var widthScale = new WidthScale(data).render();
var heightScale = new HeightScale(data).render();
return root.append('g')
.attr("class", "bar")
.selectAll("rect")
.data(bars.map(function(bar) { return bar.value; }))
.enter()
.append("rect")
.attr("y", function(d, i){
return heightScale(i);
})
.attr("height", heightScale.rangeBand())
.attr("fill", data.bar_color)
.attr("width", function(d){
return widthScale(d);
})
.append("title")
.text(function(d){
return 'This value is ' + d + '.';
});
};
growstuff.BarGroup = BarGroup;
}());

View File

@@ -0,0 +1,40 @@
(function() {
'use strict';
/*
This file draws the labels to the left of each bar.
*/
var growstuff = (window.growstuff = window.growstuff || {});
function BarLabelGroup(data) {
this._data = data;
}
BarLabelGroup.prototype.render = function(d3){
var bars = this._data.bars;
//vvcopy pasta from spike vv -- this is a good candidate for refactor
var barHeight = 40;
return d3.append('g')
.attr("class", "bar-label")
.selectAll("text")
.data(bars.map(function(bar){ return bar.name;}))
.enter()
.append("text")
.attr('x', -80)
.attr('y', function(d, i){
//shrink the margin between each label to give them an even spread with
//bars
var barLabelSpread = 2/3;
//move them downward to line up with bars
var barLabelTopEdge = 17;
return i * barHeight * (barLabelSpread) + barLabelTopEdge;
})
.text(function(d){return d;});
};
growstuff.BarLabelGroup = BarLabelGroup;
}());

View File

@@ -0,0 +1,29 @@
//=require d3
/*
Height Scale is used to map the number of bars to the display size of
the svg
*/
(function(){
'use strict';
var growstuff = (window.growstuff = window.growstuff || {});
function HeightScale(data){
this._data = data;
}
HeightScale.prototype.render = function(){
var data = this._data;
var scaleType = data.height.scale;
var axisSize = data.height.size;
return d3.scale[scaleType]()
.domain(d3.range(data.bars.length))
.rangeRoundBands([0, data.height.size], 0.05, 0);
};
growstuff.HeightScale = HeightScale;
}());

View File

@@ -0,0 +1,51 @@
//= require d3
//= require graphs/bar_group
//= require graphs/bar_label_group
/*
Horizontal Bar Graph represents sum total of the graph including all of the parts:
Bars
Bar Labels
The main dimensions of the graph are rendered here.
*/
(function() {
'use strict';
var growstuff = (window.growstuff = window.growstuff || {});
var BarGroup = growstuff.BarGroup;
var BarLabelGroup = growstuff.BarLabelGroup;
function HorizontalBarGraph(data) {
this._data = data;
this._d3 = d3;
}
HorizontalBarGraph.prototype.render = function(root) {
var bars = this._data.bars;
var width = this._data.width;
var height = this._data.height;
var barLabelGroup = new BarLabelGroup(this._data);
var margin = this._data.margin;
var barGroup = new BarGroup(this._data);
var svg = root
.append("svg")
.attr("width", width.size + margin.left + margin.right)
.attr("height", height.size + margin.top + margin.bottom)
.append("g")
.attr("class","bar-graph")
.attr("transform","translate(" + margin.left + "," + margin.top + ")");
barGroup.render(svg);
barLabelGroup.render(svg);
return svg;
};
growstuff.HorizontalBarGraph = HorizontalBarGraph;
}());

View File

@@ -0,0 +1,33 @@
//=require d3
/*
Width scale is used to map the value for the length of each bar
to the display size of the svg
*/
(function(){
'use strict';
var growstuff = (window.growstuff = window.growstuff || {});
function WidthScale (data){
this._data = data;
}
WidthScale.prototype.render = function() {
var data = this._data;
var scaleType = data.width.scale;
var axisSize = data.width.size;
return d3.scale[scaleType]()
.domain([0, this.getMaxValue()])
.range([0, axisSize]);
};
WidthScale.prototype.getMaxValue = function(){
return d3.max(this._data.bars.map(function(bar) { return bar.value; }));
};
growstuff.WidthScale = WidthScale;
}());

View File

@@ -1,6 +1,7 @@
if (document.getElementById("membermap") !== null) {
mapbox_map_id = "<%= Rails.env == 'test' ? 0 : Growstuff::Application.config.mapbox_map_id %>";
mapbox_base_url = "https://c.tiles.mapbox.com/v3/" + mapbox_map_id + "/{z}/{x}/{y}.png";
mapbox_access_token = "<%= Rails.env == 'test' ? 0 : Growstuff::Application.config.mapbox_access_token %>";
mapbox_base_url = "http://a.tiles.mapbox.com/v4/" + mapbox_map_id + "/{z}/{x}/{y}.png?access_token=" + mapbox_access_token;
L.Icon.Default.imagePath = '/assets'

View File

@@ -1,7 +1,8 @@
if (document.getElementById("placesmap") !== null) {
places_base_path = "/places";
mapbox_map_id = "<%= Rails.env == 'test' ? 0 : Growstuff::Application.config.mapbox_map_id %>";
mapbox_base_url = "https://c.tiles.mapbox.com/v3/" + mapbox_map_id + "/{z}/{x}/{y}.png";
mapbox_access_token = "<%= Rails.env == 'test' ? 0 : Growstuff::Application.config.mapbox_access_token %>";
mapbox_base_url = "http://a.tiles.mapbox.com/v4/" + mapbox_map_id + "/{z}/{x}/{y}.png?access_token=" + mapbox_access_token;
nominatim_base_url = 'http://nominatim.openstreetmap.org/search/';
nominatim_user_agent_email = "<%= Rails.env == 'test' ? 0 : Growstuff::Application.config.user_agent_email %>";

View File

@@ -0,0 +1,18 @@
$(document).ready(function () {
$('.post-like').show();
$('.post-like').on('ajax:success', function(event, data) {
var like_control = $('#post-' + data.id + ' .post-like');
$('#post-' + data.id + ' .like-count').text(data.description);
if (data.liked_by_member) {
like_control.data("method", "delete");
like_control.attr("href", data.url);
like_control.text("Unlike");
} else {
like_control.data("method", "post");
like_control.attr("href", '/likes.json?post_id=' + data.id);
like_control.text("Like");
}
});
});

View File

@@ -4,3 +4,41 @@
jQuery ->
$('.add-datepicker').datepicker('format' : 'yyyy-mm-dd')
$('#add-sci_name-row').css("display", "inline-block")
$('#remove-sci_name-row').css("display", "inline-block")
$("#add-alt_name-row").css("display", "inline-block")
$("#remove-alt_name-row").css("display", "inline-block")
$ ->
sci_template = "<div id='sci_template[INDEX]' class='template col-md-12'><div class='col-md-2'><label>Scientific name INDEX:</label></div><div class='col-md-8'><input name='sci_name[INDEX]' class='form-control', id='sci_name[INDEX]')'></input><span class='help-block'>Scientific name of crop.</span></div><div class='col-md-2'></div></div>"
sci_index = $('#scientific_names .template').length + 1
$('#add-sci_name-row').click ->
compiled_input = $(sci_template.split("INDEX").join(sci_index))
$('#scientific_names').append(compiled_input)
sci_index = sci_index + 1
$('#remove-sci_name-row').click ->
if (sci_index > 2)
sci_index = sci_index - 1
tmp = 'sci_template[' + sci_index + ']'
element = document.getElementById(tmp)
element.remove()
alt_template = "<div id='alt_template[INDEX]' class='template col-md-12'><div class='col-md-2'><label>Alternate name INDEX:</label></div><div class='col-md-8'><input name='alt_name[INDEX]' class='form-control', id='alt_name[INDEX]')'></input><span class='help-block'>Alternate name of crop.</span></div><div class='col-md-2'></div></div>"
alt_index = $('#alternate_names .template').length + 1
$('#add-alt_name-row').click ->
compiled_input = $(alt_template.split("INDEX").join(alt_index))
$('#alternate_names').append(compiled_input)
alt_index = alt_index + 1
$('#remove-alt_name-row').click ->
if (alt_index > 2)
alt_index = alt_index - 1
tmp = 'alt_template[' + alt_index + ']'
element = document.getElementById(tmp)
console.log("%s",tmp)
element.remove()

View File

@@ -1,14 +0,0 @@
/*
* This is a manifest file that'll automatically include all the stylesheets available in this directory
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
* the top of the compiled file, but it's generally better to create a new file per style scope.
*= require_self
*= require jquery.ui.autocomplete
*= require bootstrap-datepicker
*= require leaflet
*= require leaflet.markercluster
*= require leaflet.markercluster.default
*= require custom_bootstrap/custom_bootstrap
*= require overrides.css
*= require_tree .
*/

View File

@@ -0,0 +1,8 @@
@import 'jquery-ui/autocomplete'
@import 'bootstrap-datepicker'
@import 'leaflet'
@import 'leaflet.markercluster'
@import 'leaflet.markercluster.default'
@import 'custom_bootstrap/custom_bootstrap'
@import 'overrides'
@import 'graphs'

View File

@@ -0,0 +1 @@
.btn:focus{outline:dotted 2px #000}div.active:focus{outline:dotted 1px #000}a:focus{outline:dotted 1px #000}.close:hover,.close:focus{outline:dotted 1px #000}.nav>li>a:hover,.nav>li>a:focus{outline:dotted 1px #000}.carousel-inner>.item{position:absolute;top:-999999em;display:block;-moz-transition:ease-in-out 0.6s left;-o-transition:ease-in-out 0.6s left;-webkit-transition:ease-in-out 0.6s left;transition:ease-in-out 0.6s left}.carousel-inner>.active{top:0}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{position:relative}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.alert-success{color:#2d4821}.alert-info{color:#214c62}.alert-warning{color:#6c4a00;background-color:#f9f1c6}.alert-danger{color:#d2322d}.alert-danger:hover{color:#a82824}

View File

@@ -0,0 +1 @@
// custom CSS for admin area

View File

@@ -1,56 +0,0 @@
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// !!! AUTOMATICALLY GENERATED FILE. DO NOT MODIFY !!!
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// Core variables and mixins
@import "twitter/bootstrap/variables.less";
@import "custom_bootstrap/variables.less"; // Modify this for custom colors, font-sizes, etc
@import "twitter/bootstrap/mixins.less";
@import "custom_bootstrap/mixins.less"; // Modify this for custom mixins
// Reset and dependencies
@import "twitter/bootstrap/normalize.less";
@import "twitter/bootstrap/print.less";
@import "twitter/bootstrap/glyphicons.less";
// Core CSS
@import "twitter/bootstrap/scaffolding.less";
@import "twitter/bootstrap/type.less";
@import "twitter/bootstrap/code.less";
@import "twitter/bootstrap/grid.less";
@import "twitter/bootstrap/tables.less";
@import "twitter/bootstrap/forms.less";
@import "twitter/bootstrap/buttons.less";
// Components
@import "twitter/bootstrap/component-animations.less";
@import "twitter/bootstrap/dropdowns.less";
@import "twitter/bootstrap/button-groups.less";
@import "twitter/bootstrap/input-groups.less";
@import "twitter/bootstrap/navs.less";
@import "twitter/bootstrap/navbar.less";
@import "twitter/bootstrap/breadcrumbs.less";
@import "twitter/bootstrap/pagination.less";
@import "twitter/bootstrap/pager.less";
@import "twitter/bootstrap/labels.less";
@import "twitter/bootstrap/badges.less";
@import "twitter/bootstrap/jumbotron.less";
@import "twitter/bootstrap/thumbnails.less";
@import "twitter/bootstrap/alerts.less";
@import "twitter/bootstrap/progress-bars.less";
@import "twitter/bootstrap/media.less";
@import "twitter/bootstrap/list-group.less";
@import "twitter/bootstrap/panels.less";
@import "twitter/bootstrap/responsive-embed.less";
@import "twitter/bootstrap/wells.less";
@import "twitter/bootstrap/close.less";
// Components w/ JavaScript
@import "twitter/bootstrap/modals.less";
@import "twitter/bootstrap/tooltip.less";
@import "twitter/bootstrap/popovers.less";
@import "twitter/bootstrap/carousel.less";
// Utility classes
@import "twitter/bootstrap/utilities.less";
@import "twitter/bootstrap/responsive-utilities.less";

View File

@@ -0,0 +1,59 @@
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// !!! AUTOMATICALLY GENERATED FILE. DO NOT MODIFY !!!
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// Core variables and mixins
@import "bootstrap-sprockets"
@import "bootstrap/variables"
// Modify this for custom colors, font-sizes, etc
@import "custom_bootstrap/variables"
@import "bootstrap/mixins"
// Modify this for custom mixins
@import "custom_bootstrap/mixins"
// Reset and dependencies
@import "bootstrap/normalize"
@import "bootstrap/print"
@import "bootstrap/glyphicons"
// Core CSS
@import "bootstrap/scaffolding"
@import "bootstrap/type"
@import "bootstrap/code"
@import "bootstrap/grid"
@import "bootstrap/tables"
@import "bootstrap/forms"
@import "bootstrap/buttons"
// Components
@import "bootstrap/component-animations"
@import "bootstrap/dropdowns"
@import "bootstrap/button-groups"
@import "bootstrap/input-groups"
@import "bootstrap/navs"
@import "bootstrap/navbar"
@import "bootstrap/breadcrumbs"
@import "bootstrap/pagination"
@import "bootstrap/pager"
@import "bootstrap/labels"
@import "bootstrap/badges"
@import "bootstrap/jumbotron"
@import "bootstrap/thumbnails"
@import "bootstrap/alerts"
@import "bootstrap/progress-bars"
@import "bootstrap/media"
@import "bootstrap/list-group"
@import "bootstrap/panels"
@import "bootstrap/responsive-embed"
@import "bootstrap/wells"
@import "bootstrap/close"
// Components w/ JavaScript
@import "bootstrap/modals"
@import "bootstrap/tooltip"
@import "bootstrap/popovers"
@import "bootstrap/carousel"
// Utility classes
@import "bootstrap/utilities"
@import "bootstrap/responsive-utilities"

View File

@@ -1,54 +0,0 @@
// Use this file to override Twitter Bootstrap variables or define own variables.
// Import original variables so they can be used in overrides
@import "twitter/bootstrap/variables.less";
// Base colours
@beige: #f3f1ee;
@brown: #413f3b;
@green: #5f8e43;
@blue: #2f4365;
@red: #8e4d43;
@orange: #b2685c;
@yellow: #b2935c;
@body-bg: @beige;
@text-color: @brown;
@link-color: @green;
@brand-primary: @green;
@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
@font-family-serif: Georgia, "Times New Roman", Times, serif;
@font-family-mono: Monaco, Menlo, Consolas, "Courier New", monospace;
@font-size-base: 14px;
@font-family-base: @font-family-sans-serif;
@line-height-base: 1.5;
@alt-font-family: @font-family-serif;
@headings-font-family: @font-family-sans-serif;
@headings-font-weight: bold; // instead of browser default, bold
@headings-color: inherit; // empty to use BS default, @textColor
// Hero unit
@jumbotron-bg: darken(@body-bg, 10%);
// Nav bar
@navbar-default-bg: @brown;
@navbar-default-bg-highlight: @brown;
@navbar-default-color: @beige;
@navbar-default-link-color: darken(@beige, 20%);
@navbar-default-link-hover-color: @beige;
@navbar-default-link-active-color: @beige;
@navbar-default-brand-color: lighten(@green, 20%);
// Top nav collapse threshold
@grid-float-breakpoint: @screen-md-min;
@dropdown-bg: lighten(@beige, 10%);
@dropdown-link-color: @brown;
@dropdown-link-hover-color: @brown;
@dropdown-link-hover-bg: lighten(@green, 50%);

View File

@@ -0,0 +1,55 @@
// Use this file to override Twitter Bootstrap variables or define own variables.
// Import original variables so they can be used in overrides
//@import 'bootstrap/variables.scss'
// Base colours
$beige: #f3f1ee
$brown: #413f3b
$green: #5f8e43
$blue: #2f4365
$red: #8e4d43
$orange: #ffa500
$yellow: #b2935c
$body-bg: $beige
$text-color: $brown
$link-color: $green
$graph-hover: $orange
$brand-primary: $green
$font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif
$font-family-serif: Georgia, "Times New Roman", Times, serif
$font-family-mono: Monaco, Menlo, Consolas, "Courier New", monospace
$font-size-base: 14px
$font-family-base: $font-family-sans-serif
$line-height-base: 1.5
$alt-font-family: $font-family-serif
$headings-font-family: $font-family-sans-serif
$headings-font-weight: bold // instead of browser default, bold
$headings-color: inherit // empty to use BS default, $textColor
// Hero unit
$jumbotron-bg: darken($body-bg, 10%)
// Nav bar
$navbar-default-bg: $brown
$navbar-default-bg-highlight: $brown
$navbar-default-color: $beige
$navbar-default-link-color: darken($beige, 20%)
$navbar-default-link-hover-color: $beige
$navbar-default-link-active-color: darken($beige,80%)
$navbar-default-brand-color: lighten($green, 20%)
// Top nav collapse threshold
$grid-float-breakpoint: $screen-md-min
$dropdown-bg: lighten($beige, 10%)
$dropdown-link-color: $brown
$dropdown-link-hover-color: $brown
$dropdown-link-hover-bg: lighten($green, 50%)

View File

@@ -0,0 +1,2 @@
.bar rect:hover
fill: $graph-hover

View File

@@ -1,3 +0,0 @@
.leaflet-popup-content-wrapper, .leaflet-popup-tip {
border: none;
}

View File

@@ -0,0 +1,10 @@
.leaflet-popup-content-wrapper,
.leaflet-popup-tip
border: none
.thumbnail
background: #fff !important
border: solid 1px whitesmoke
.thumbnail .crop-thumbnail .cropinfo
padding-top: 14px

View File

@@ -1,263 +0,0 @@
@import "twitter/bootstrap/bootstrap";
@import "custom_bootstrap/variables";
// this padding needs to be done before the responsive stuff is imported
body {
// modifying this for our promotional banner. can be replaced after if
// needed.
// padding-top: @navbar-height + 15px;
padding-top: @navbar-height;
}
//@import "twitter/bootstrap/responsive";
// Set the correct sprite paths
@iconSpritePath: asset-path("twitter/bootstrap/glyphicons-halflings");
@iconWhiteSpritePath: asset-path("twitter/bootstrap/glyphicons-halflings-white");
// Set the Font Awesome (Font Awesome is default. You can disable by commenting below lines)
@fontAwesomeEotPath: asset-url("fontawesome-webfont.eot");
@fontAwesomeEotPath_iefix: asset-url("fontawesome-webfont.eot#iefix");
@fontAwesomeWoffPath: asset-url("fontawesome-webfont.woff");
@fontAwesomeTtfPath: asset-url("fontawesome-webfont.ttf");
@fontAwesomeSvgPath: asset-url("fontawesome-webfont.svg#fontawesomeregular");
// Font Awesome
//@import "fontawesome/font-awesome";
// Glyphicons
//@import "twitter/bootstrap/sprites.less";
.list-inline > li.first {
padding-left: 0px;
}
h2 {
font-size: 150%;
}
/*
#subtitle {
color: lighten(@brown, 30%);
margin-top: 0px;
padding-top: 0px;
padding-left: 1em;
font-style: italic;
font-weight: normal;
}
*/
h3 {
font-size: 120%;
}
.main {
padding-right: 1em;
}
.sidebar {
margin-left: -1px;
border-left: 1px solid darken(@beige, 10%);
padding-left: 1em;
}
// this is used for eg. crops and members index pages
.six-across:nth-child(6n+1) {
margin-left: 0px
}
.three-across:nth-child(3n+1) {
margin-left: 0px;
clear: both;
}
// let's condense the hero unit a little
.jumbotron {
padding-top: 30px;
padding-bottom: 30px;
}
// info under the main heading on homepage
.jumbotron .info {
padding-top: 15px;
}
// signup widget on homepage
.jumbotron .signup {
background-color: lighten(@green, 40%);
border: 1px solid lighten(@green, 20%);
border-radius: 6px;
padding: 15px;
text-align: center;
line-height: 200%;
}
// stats shown on homepage. eg. "999 members..."
p.stats {
font-weight: bold;
}
.homepage-members {
height: 100px;
}
.homepage-members:nth-child(odd) {
margin-left: 0px;
}
#placesmap, #cropmap {
height: 500px;
}
#membermap {
height: 250px;
}
.member-location {
font-size: small;
font-style: italic;
}
.member-location a {
color: @brown;
}
.crop-thumbnail {
position:relative;
padding:0;
img {
width:100%;
}
.text {
display:none;
color:#000;
position:absolute;
bottom:0;
background:rgba(0, 0, 0, 0.8);
width:100%;
margin:0;
}
p {
padding:5px;
margin:0;
color:#fff;
}
&:hover {
.text {
display:block;
}
}
}
.member-thumbnail {
img {
height: 85px;
width: 85px;
max-width: 85px
}
}
.thumbnail {
margin-bottom: 1.5em;
.scientific-name small, .crop-name a {
display: inline-block;
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
line-height: 1em;
padding-bottom: 2px;
}
.crop-name a {
padding-top: 2px;
}
.scientific-name small {
margin-bottom: -2px;
}
}
li.crop-hierarchy {
list-style-type: disc;
}
.navbar-brand {
margin: 0px;
padding: 0px;
}
.navbar-bottom {
margin: 40px 0px 0px 0px !important;
}
// navbar centering
footer .navbar .nav {
float: none;
display: inline-block;
*display: inline;
/* ie7 fix */
*zoom: 1;
/* hasLayout ie7 trigger */
vertical-align: top;
> li {
float: none;
display: inline-block;
*display: inline;
/* ie7 fix */
*zoom: 1;
/* hasLayout ie7 trigger */
vertical-align: top;
}
}
.navbar-bottom.navbar {
text-align: center;
border-radius: 0;
}
.crop-image, .member-image {
width: 100%;
height: 100%;
}
// Autosuggest
.ui-autocomplete {
z-index: @zindex-tooltip;
}
// Crowdfunding campaign, Sep-Oct 2014
.crowdfunding-banner {
text-align: center;
font-weight: bold;
background-color: lighten(@green, 30%);
margin-top: 0px;
margin-bottom: 5px;
padding: 15px;
}
.crowdfunding-banner a {
color: @brown;
text-decoration: underline;
}
// Overrides applying only to mobile view. This must be at the end of the overrides file.
@media only screen and (max-width: 767px) {
.sidebar {
margin-left: 0;
border-left: none;
padding-left: 0;
}
#map {
height: 300px;
}
.navbar .nav > li {
display: block;
}
}

View File

@@ -0,0 +1,338 @@
@import "bootstrap-sprockets"
@import "bootstrap"
@import "custom_bootstrap/variables"
// this padding needs to be done before the responsive stuff is imported
body
// modifying this for our promotional banner. can be replaced after if
// needed.
// padding-top: $navbar-height + 15px
padding-top: $navbar-height
//@import "bootstrap/responsive"
// Font Awesome
@import "font-awesome-sprockets"
@import "font-awesome"
// Glyphicons
//@import "bootstrap/glyphicons"
.list-inline > li.first
padding-left: 0px
h2
font-size: 150%
//#subtitle
// color: lighten($brown, 30%)
// font-style: italic
// font-weight: normal
// margin-top: 0px
// padding-left: 1em
// padding-top: 0px
h3
font-size: 120%
.main
padding-right: 1em
.navbar .navbar-form
padding-top: 0
padding-bottom: 0
margin-right: 0
margin-left: 15px
border: 0
-webkit-box-shadow: none
box-shadow: none
.img-responsive
max-width: 100%
height: auto
.sidebar
border-left: 1px solid darken($beige, 10%)
margin-left: -1px
padding-left: 1em
// this is used for eg. crops and members index pages
.six-across:nth-child(6n+1)
margin-left: 0px
.three-across:nth-child(3n+1)
margin-left: 0px
clear: both
// let's condense the hero unit a little
.jumbotron
padding-top: 30px
padding-bottom: 30px
// info under the main heading on homepage
.jumbotron .info
padding-top: 15px
// signup widget on homepage
.jumbotron .signup
background-color: lighten($green, 40%)
border: 1px solid lighten($green, 20%)
border-radius: 6px
line-height: 200%
padding: 15px
text-align: center
// stats shown on homepage. eg. "999 members..."
p.stats
font-weight: bold
.member-cards
display: flex
flex: none
flex-wrap: wrap
justify-content: space-between
.member-thumbnail
padding: .25em
div
width: 5em
display: inline-block
vertical-align: top
.member-thumbnail div~div
padding-left: 1em
width: 15em
.planting
dl.planting-attributes
font-size: 85%
dt
text-align: left
dd
margin-left: auto
@media (min-width: $screen-md-min)
.planting-thumbnail
dl.planting-attributes
font-size: 85%
width: 100%
dt
text-align: left
width: 80px
dd
padding-left: 80px
margin-left: auto
.navbar .navbar-form
width: 250px
#placesmap, #cropmap
height: 500px
#membermap
height: 250px
.location-not-set
height: 250px
width: 100%
background-image: image-url('location-not-set.en.png')
background-repeat: no-repeat
background-position: center
.member-location
font-size: small
font-style: italic
.member-location a
color: $brown
.photo-thumbnail
padding: 0
position: relative
img
width: 100%
.text
display: none
color: #000
position: absolute
bottom: 0
background: rgba(0, 0, 0, 0.8)
width: 100%
margin: 0
p
padding: 5px
margin: 0
color: #fff
&:hover
.text
display: block
.thumbnail
border: none
text-align: center
margin-bottom: 1.5em
.member-thumbnail
text-align: left
img
height: 85px
width: 85px
max-width: 85px
.crop-thumbnail
height: 220px
.cropinfo
display: inline-block
max-width: 100%
white-space: nowrap
line-height: 1em
padding-bottom: 2px
.cropname
overflow: hidden
text-overflow: ellipsis
.scientificname
font-size: small
font-style: italic
overflow: hidden
text-overflow: ellipsis
.plantingcount
font-size: small
.crop-name a
padding-top: 2px
.scientific-name small
margin-bottom: -2px
li.crop-hierarchy
list-style-type: disc
.navbar-brand
margin: 0px
padding: 0px
.navbar-bottom
margin: 40px 0px 0px 0px !important
// footer
footer
#footer1, #footer2, #footer3
text-align: left
padding-top: 1em
padding-bottom: 2em
ul
list-style-type: none
list-style-position: outside
padding-left: 0px
margin-left: 0px
a
color: $navbar-default-link-color
text-decoration: none
a:hover
color: $navbar-default-link-hover-color
a:active
color: $navbar-default-link-active-color
.navbar-bottom.navbar
border-radius: 0
// ensure footer is pushed to bottom of browser window
#maincontainer
min-height: 80%
html, body
height: 100%
.crop-image, .member-image
width: 100%
height: 100%
// Autosuggest
.ui-autocomplete
background: white
z-index: $zindex-tooltip
.alert
a
font-weight: 800
// Overrides applying only to mobile view. This must be at the end of the overrides file.
@media only screen and (max-width: 767px)
.sidebar
margin-left: 0
border-left: none
padding-left: 0
#map
height: 300px
.navbar .nav > li
display: block
.navbar .navbar-form
width: 185px
padding-left: 0
padding-right: 0
/* override "info" alert boxes to be green, not blue, on Growstuff */
$state-info-text: darken($green, 10%)
$state-info-bg: lighten($green, 50%)
/* and set "success" to be the same, as it was just very slightly
* different because the default bootstrap green is slightly different
* from ours */
$state-success-text: darken($green, 10%)
$state-success-bg: lighten($green, 50%)
.hide
display: none
#add-sci_name-row, #remove-sci_name-row, #add-alt_name-row, #remove-alt_name-row
display: none
.panel-footer
height: 6em
.panel
.dl-horizontal
text-overflow: ellipsis
overflow: hidden
.form-group.required .control-label:before
content: "* "
color: red
.margin-bottom
margin-bottom: 1em
.red
color: red
.truncate
overflow: hidden
text-overflow: ellipsis
white-space: nowrap
ul.plantings
list-style-type: none

View File

@@ -0,0 +1,38 @@
module Growstuff
module Constants
class PhotoModels
PLANTING = { type: 'planting', class: 'Planting', relation: 'plantings' }.freeze
HARVEST = { type: 'harvest', class: 'Harvest', relation: 'harvests' }.freeze
GARDEN = { type: 'garden', class: 'Garden', relation: 'gardens' }.freeze
SEED = { type: 'seed', class: 'Seed', relation: 'seeds' }.freeze
ALL = [PLANTING, HARVEST, GARDEN, SEED].freeze
def self.types
ALL.map do |model|
model[:type]
end
end
def self.relations
ALL.map do |model|
model[:relation]
end
end
def self.get_relation(object, type)
relation = ALL.select do |model|
model[:type] == type
end[0][:relation]
object.send(relation)
end
def self.get_item(type)
class_name = ALL.select do |model|
model[:type] == type
end[0][:class]
class_name.constantize
end
end
end
end

View File

@@ -1,2 +0,0 @@
class AboutController < ApplicationController
end

View File

@@ -1,72 +1,53 @@
class AccountTypesController < ApplicationController
before_filter :authenticate_member!
before_action :authenticate_member!
load_and_authorize_resource
respond_to :html
# GET /account_types
def index
@account_types = AccountType.all
respond_to do |format|
format.html # index.html.erb
end
respond_with(@account_types)
end
# GET /account_types/1
def show
@account_type = AccountType.find(params[:id])
respond_to do |format|
format.html # show.html.erb
end
respond_with(@account_types)
end
# GET /account_types/new
def new
@account_type = AccountType.new
respond_to do |format|
format.html # new.html.erb
end
respond_with(@account_type)
end
# GET /account_types/1/edit
def edit
@account_type = AccountType.find(params[:id])
respond_with(@account_type)
end
# POST /account_types
def create
@account_type = AccountType.new(params[:account_type])
respond_to do |format|
if @account_type.save
format.html { redirect_to @account_type, notice: 'Account type was successfully created.' }
else
format.html { render action: "new" }
end
end
@account_type = AccountType.new(account_type_params)
flash[:notice] = I18n.t('account_types.created') if @account_type.save
respond_with(@account_type)
end
# PUT /account_types/1
def update
@account_type = AccountType.find(params[:id])
respond_to do |format|
if @account_type.update_attributes(params[:account_type])
format.html { redirect_to @account_type, notice: 'Account type was successfully updated.' }
else
format.html { render action: "edit" }
end
end
flash[:notice] = I18n.t('account_types.updated') if @account_type.update(account_type_params)
respond_with(@account_type)
end
# DELETE /account_types/1
def destroy
@account_type = AccountType.find(params[:id])
@account_type.destroy
flash[:notice] = I18n.t('account_types.deleted')
respond_with(@account_type)
end
respond_to do |format|
format.html { redirect_to account_types_url, notice: 'Account type was successfully deleted.' }
end
private
def account_type_params
params.require(:account_type).permit(:is_paid, :is_permanent_paid, :name)
end
end

View File

@@ -1,41 +1,32 @@
class AccountsController < ApplicationController
before_filter :authenticate_member!
before_action :authenticate_member!
load_and_authorize_resource
respond_to :html
# GET /accounts
def index
@accounts = Account.all
respond_to do |format|
format.html # index.html.erb
end
respond_with(@accounts)
end
# GET /accounts/1
def show
@account = Account.find(params[:id])
respond_to do |format|
format.html # show.html.erb
end
respond_with(@account)
end
# GET /accounts/1/edit
def edit
@account = Account.find(params[:id])
end
# PUT /accounts/1
def update
@account = Account.find(params[:id])
respond_to do |format|
if @account.update_attributes(params[:account])
format.html { redirect_to @account, notice: 'Account detail was successfully updated.' }
else
format.html { render action: "edit" }
end
end
flash[:notice] = I18n.t('account.update') if @account.update(params[:account])
respond_with(@account)
end
private
def account_params
params.require(:account).permit(:account_type_id, :member_id, :paid_until)
end
end

View File

@@ -8,7 +8,7 @@ class Admin::OrdersController < ApplicationController
def search
authorize! :manage, :all
@orders = Order.search({:by => params[:search_by], :for => params[:search_text]})
@orders = Order.search(by: params[:search_by], for: params[:search_text])
if @orders.empty?
flash[:alert] = "Couldn't find order with #{params[:search_by]} = #{params[:search_text]}"
@@ -17,6 +17,5 @@ class Admin::OrdersController < ApplicationController
respond_to do |format|
format.html # index.html.haml
end
end
end

View File

@@ -1,91 +1,59 @@
class AlternateNamesController < ApplicationController
before_filter :authenticate_member!, :except => [:index, :show]
before_action :authenticate_member!, except: [:index, :show]
load_and_authorize_resource
respond_to :html, :json
# GET /alternate_names
# GET /alternate_names.json
def index
@alternate_names = AlternateName.all
respond_to do |format|
format.html # index.html.haml
format.json { render json: @alternate_names }
end
end
# GET /alternate_names/1
# GET /alternate_names/1.json
def show
@alternate_name = AlternateName.find(params[:id])
respond_to do |format|
format.html # show.html.haml
format.json { render json: @alternate_name }
end
respond_with(@alternate_names)
end
# GET /alternate_names/new
# GET /alternate_names/new.json
def new
@alternate_name = AlternateName.new
@crop = Crop.find_by_id(params[:crop_id]) || Crop.new
respond_to do |format|
format.html # new.html.haml
format.json { render json: @alternate_name }
end
@crop = Crop.find_or_initialize_by(id: params[:crop_id])
end
# GET /alternate_names/1/edit
def edit
@alternate_name = AlternateName.find(params[:id])
end
def edit; end
# POST /alternate_names
# POST /alternate_names.json
def create
params[:alternate_name][:creator_id] = current_member.id
@alternate_name = AlternateName.new(params[:alternate_name])
@alternate_name = AlternateName.new(alternate_name_params)
respond_to do |format|
if @alternate_name.save
format.html { redirect_to @alternate_name.crop, notice: 'Alternate name was successfully created.' }
format.json { render json: @alternate_name, status: :created, location: @alternate_name }
else
format.html { render action: "new" }
format.json { render json: @alternate_name.errors, status: :unprocessable_entity }
end
if @alternate_name.save
redirect_to @alternate_name.crop, notice: 'Alternate name was successfully created.'
else
render action: "new"
end
end
# PUT /alternate_names/1
# PUT /alternate_names/1.json
def update
@alternate_name = AlternateName.find(params[:id])
respond_to do |format|
if @alternate_name.update_attributes(params[:alternate_name])
format.html { redirect_to @alternate_name.crop, notice: 'Alternate name was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @alternate_name.errors, status: :unprocessable_entity }
end
if @alternate_name.update(alternate_name_params)
redirect_to @alternate_name.crop, notice: 'Alternate name was successfully updated.'
else
render action: "edit"
end
end
# DELETE /alternate_names/1
# DELETE /alternate_names/1.json
def destroy
@alternate_name = AlternateName.find(params[:id])
@crop = @alternate_name.crop
@alternate_name.destroy
redirect_to @crop, notice: 'Alternate name was successfully deleted.'
end
respond_to do |format|
format.html {
redirect_to @crop, notice: 'Alternate name was successfully deleted.'
}
format.json { head :no_content }
end
private
def alternate_name_params
params.require(:alternate_name).permit(:crop_id, :name, :creator_id)
end
end

View File

@@ -3,18 +3,17 @@ class ApplicationController < ActionController::Base
include ApplicationHelper
after_filter :store_location
before_filter :set_locale
after_action :store_location
before_action :set_locale
def store_location
if (request.path != "/members/sign_in" &&
request.path != "/members/sign_up" &&
request.path != "/members/password/new" &&
request.path != "/members/password/edit" &&
request.path != "/members/confirmation" &&
request.path != "/members/sign_out" &&
!request.xhr?)
store_location_for(:member, request.fullpath)
unless request.path.in?(["/members/sign_in",
"/members/sign_up",
"/members/password/new",
"/members/password/edit",
"/members/confirmation",
"/members/sign_out"]) || request.xhr?
store_location_for(:member, request.fullpath)
end
end
@@ -22,6 +21,10 @@ class ApplicationController < ActionController::Base
stored_location_for(:member) || root_path
end
def after_sign_out_path_for(resource_or_scope)
request.referer
end
# tweak CanCan defaults because we don't have a "current_user" method
# this means that we use current_user in specs but current_member everywhere
# else in the code.
@@ -31,9 +34,9 @@ class ApplicationController < ActionController::Base
# CanCan error handling
rescue_from CanCan::AccessDenied do |exception|
redirect_to request.referer || root_url, :alert => exception.message
redirect_to request.referer || root_url, alert: exception.message
end
def set_locale
I18n.locale = params[:locale] || extract_locale_from_subdomain || I18n.default_locale
end
@@ -43,4 +46,37 @@ class ApplicationController < ActionController::Base
I18n.available_locales.map(&:to_s).include?(parsed_locale) ? parsed_locale : nil
end
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up) do |member|
member.permit(:login_name, :email, :password, :password_confirmation,
:remember_me, :login,
# terms of service
:tos_agreement,
# profile stuff
:bio, :location, :latitude, :longitude,
# email settings
:show_email, :newsletter, :send_notification_email, :send_planting_reminder)
end
devise_parameter_sanitizer.permit(:account_update) do |member|
member.permit(:login_name, :email, :password, :password_confirmation,
:remember_me, :login,
# terms of service
:tos_agreement,
# profile stuff
:bio, :location, :latitude, :longitude,
# email settings
:show_email, :newsletter, :send_notification_email, :send_planting_reminder,
# update password
:current_password)
end
end
def expire_homepage
expire_fragment("homepage_stats")
end
end

View File

@@ -1,38 +1,26 @@
class AuthenticationsController < ApplicationController
before_filter :authenticate_member!
before_action :authenticate_member!
load_and_authorize_resource
# GET /authentications
def index
@authentications = current_member.authentications if member_signed_in?
respond_to do |format|
format.html # index.html.erb
end
end
# POST /authentications
def create
auth = request.env['omniauth.auth']
@authentication = nil
if auth
name = Growstuff::OauthSignupAction.new.determine_name(auth)
name = ''
case auth['provider']
when 'twitter'
name = auth['info']['nickname']
when 'flickr'
name = auth['info']['name']
else
name = auth['info']['name']
end
@authentication = current_member.authentications
.create_with(
name: name,
token: auth['credentials']['token'],
secret: auth['credentials']['secret']
)
.find_or_create_by(
provider: auth['provider'],
uid: auth['uid'],
name: name
)
@authentication = current_member.authentications.find_or_create_by_provider_and_uid(
:provider => auth['provider'],
:uid => auth['uid'],
:name => name,
:token => auth['credentials']['token'],
:secret => auth['credentials']['secret'])
flash[:notice] = "Authentication successful."
else
flash[:notice] = "Authentication failed."
@@ -42,7 +30,6 @@ class AuthenticationsController < ApplicationController
# DELETE /authentications/1
def destroy
@authentication = Authentication.find(params[:id])
@authentication.destroy
respond_to do |format|

View File

@@ -1,104 +1,67 @@
class CommentsController < ApplicationController
before_filter :authenticate_member!, :except => [:index, :show]
before_action :authenticate_member!, except: [:index, :show]
load_and_authorize_resource
cache_sweeper :comment_sweeper
respond_to :html, :json
respond_to :rss, only: :index
# GET /comments
# GET /comments.json
# GET /comments.rss
def index
@comments = Comment.paginate(:page => params[:page])
respond_to do |format|
format.html # index.html.erb
format.json { render json: @comments }
format.rss { render :layout => false }
end
end
# GET /comments/1
# GET /comments/1.json
def show
@comment = Comment.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @comment }
end
@comments = Comment.paginate(page: params[:page])
respond_with(@comments)
end
# GET /comments/new
# GET /comments/new.json
def new
@comment = Comment.new
@post = Post.find_by_id(params[:post_id])
@post = Post.find_by(id: params[:post_id])
if @post
@comments = @post.comments
respond_to do |format|
format.html # new.html.erb
format.json { render json: @comment }
end
respond_with(@comment)
else
redirect_to request.referer || root_url,
:alert => "Can't post a comment on a non-existent post"
redirect_to(request.referer || root_url,
alert: "Can't post a comment on a non-existent post")
end
end
# GET /comments/1/edit
def edit
@comment = Comment.find(params[:id])
@comments = @comment.post.comments
end
# POST /comments
# POST /comments.json
def create
params[:comment][:author_id] = current_member.id
@comment = Comment.new(params[:comment])
respond_to do |format|
if @comment.save
format.html { redirect_to @comment.post, notice: 'Comment was successfully created.' }
format.json { render json: @comment, status: :created, location: @comment }
else
format.html { render action: "new" }
format.json { render json: @comment.errors, status: :unprocessable_entity }
end
end
@comment = Comment.new(comment_params)
@comment.author = current_member
flash[:notice] = "Comment was successfully created." if @comment.save
respond_with(@comment.post)
end
# PUT /comments/1
# PUT /comments/1.json
def update
@comment = Comment.find(params[:id])
# you should never be able to change the author or post when
# updating
params[:comment].delete("post_id")
params[:comment].delete("author_id")
respond_to do |format|
if @comment.update_attributes(params[:comment])
format.html { redirect_to @comment.post, notice: 'Comment was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @comment.errors, status: :unprocessable_entity }
end
# only body can be updated
if @comment.update(body: comment_params['body'])
flash[:notice] = 'Comment was successfully updated.'
end
respond_with(@comment.post)
end
# DELETE /comments/1
# DELETE /comments/1.json
def destroy
@comment = Comment.find(params[:id])
@post = @comment.post
@comment.destroy
respond_with(@post)
end
respond_to do |format|
format.html { redirect_to @post }
format.json { head :no_content }
end
private
def comment_params
params.require(:comment).permit(:body, :post_id)
end
end

View File

@@ -1,40 +1,56 @@
class CropsController < ApplicationController
before_filter :authenticate_member!, :except => [:index, :hierarchy, :search, :show]
load_and_authorize_resource
skip_authorize_resource :only => [:hierarchy, :search]
require 'will_paginate/array'
cache_sweeper :crop_sweeper
class CropsController < ApplicationController
before_action :authenticate_member!, except: [:index, :hierarchy, :search, :show]
load_and_authorize_resource
skip_authorize_resource only: [:hierarchy, :search]
# GET /crops
# GET /crops.json
def index
@sort = params[:sort]
if @sort == 'alpha'
# alphabetical order
@crops = Crop.includes(:scientific_names, {:plantings => :photos}).paginate(:page => params[:page])
else
# default to sorting by popularity
@crops = Crop.popular.includes(:scientific_names, {:plantings => :photos}).paginate(:page => params[:page])
end
@crops = if @sort == 'alpha'
Crop.includes(:scientific_names, plantings: :photos)
else
popular_crops
end
@paginated_crops = @crops.approved.paginate(page: params[:page])
@has_requested_pending = Crop.pending_approval.where(requester: current_member).count if current_member
respond_to do |format|
format.html
format.json { render :json => @crops }
format.json { render json: @crops }
format.rss do
@crops = Crop.recent.includes(:scientific_names, :creator)
render :rss => @crops
render rss: @crops
end
format.csv do
@filename = "Growstuff-Crops-#{Time.zone.now.to_s(:number)}.csv"
@crops = Crop.includes(:scientific_names, :plantings, :seeds, :creator)
render :csv => @crops
render csv: @crops
end
end
end
def requested
@requested = Crop.pending_approval.where(requester: current_member).paginate(page: params[:page])
end
# GET /crops/wrangle
def wrangle
@crops = Crop.recent.paginate(:page => params[:page])
@approval_status = params[:approval_status]
@crops = case @approval_status
when "pending"
Crop.pending_approval
when "rejected"
Crop.rejected
else
Crop.recent
end
@crops = @crops.paginate(page: params[:page])
@crop_wranglers = Role.crop_wranglers
respond_to do |format|
format.html
@@ -51,33 +67,36 @@ class CropsController < ApplicationController
# GET /crops/search
def search
@search = params[:search]
@exact_match = Crop.find_by_name(params[:search])
@partial_matches = Crop.search(params[:search])
# exclude exact match from partial match list
@partial_matches.reject!{ |r| @exact_match && r.eql?(@exact_match) }
@fuzzy = Crop.search(params[:term])
@term = params[:term]
@matches = Crop.search(@term)
@paginated_matches = @matches.paginate(page: params[:page])
respond_to do |format|
format.html
format.json { render :json => @fuzzy }
format.json { render json: @matches }
end
end
# GET /crops/1
# GET /crops/1.json
def show
@crop = Crop.includes(:scientific_names, {:plantings => :photos}).find(params[:id])
@posts = @crop.posts.paginate(:page => params[:page])
@crop = Crop.includes(:scientific_names, plantings: :photos).find(params[:id])
@posts = @crop.posts.paginate(page: params[:page])
respond_to do |format|
format.html # show.html.haml
format.json do
render :json => @crop.to_json(:include => {
:plantings => { :include => { :owner => { :only => [:id, :login_name, :location, :latitude, :longitude] }}}
})
# TODO RABL or similar one day to avoid presentation logic here
owner_structure = {
owner: {
only: [:id, :login_name, :location, :latitude, :longitude]
}
}
render json: @crop.to_json(include: {
plantings: {
include: owner_structure
}
})
end
end
end
@@ -86,9 +105,9 @@ class CropsController < ApplicationController
# GET /crops/new.json
def new
@crop = Crop.new
3.times do
@crop.scientific_names.build
end
@crop.alternate_names.build
@crop.scientific_names.build
respond_to do |format|
format.html # new.html.haml
format.json { render json: @crop }
@@ -97,18 +116,39 @@ class CropsController < ApplicationController
# GET /crops/1/edit
def edit
@crop = Crop.find(params[:id])
@crop.alternate_names.build if @crop.alternate_names.blank?
@crop.scientific_names.build if @crop.scientific_names.blank?
end
# POST /crops
# POST /crops.json
def create
params[:crop][:creator_id] = current_member.id
@crop = Crop.new(params[:crop])
@crop = Crop.new(crop_params)
if current_member.role? :crop_wrangler
@crop.creator = current_member
success_msg = "Crop was successfully created."
else
@crop.requester = current_member
@crop.approval_status = "pending"
success_msg = "Crop was successfully requested."
end
respond_to do |format|
if @crop.save
format.html { redirect_to @crop, notice: 'Crop was successfully created.' }
params[:alt_name].each do |index, value|
create_name('alternate', value)
end
params[:sci_name].each do |index, value|
create_name('scientific', value)
end
unless current_member.role? :crop_wrangler
Role.crop_wranglers.each do |w|
Notifier.new_crop_request(w, @crop).deliver_now!
end
end
format.html { redirect_to @crop, notice: success_msg }
format.json { render json: @crop, status: :created, location: @crop }
else
format.html { render action: "new" }
@@ -120,10 +160,21 @@ class CropsController < ApplicationController
# PUT /crops/1
# PUT /crops/1.json
def update
@crop = Crop.find(params[:id])
previous_status = @crop.approval_status
@crop.creator = current_member if previous_status == "pending"
respond_to do |format|
if @crop.update_attributes(params[:crop])
if @crop.update(crop_params)
recreate_names('alt_name', 'alternate')
recreate_names('sci_name', 'scientific')
if previous_status == "pending"
requester = @crop.requester
new_status = @crop.approval_status
Notifier.crop_request_approved(requester, @crop).deliver_now! if new_status == "approved"
Notifier.crop_request_rejected(requester, @crop).deliver_now! if new_status == "rejected"
end
format.html { redirect_to @crop, notice: 'Crop was successfully updated.' }
format.json { head :no_content }
else
@@ -136,7 +187,6 @@ class CropsController < ApplicationController
# DELETE /crops/1
# DELETE /crops/1.json
def destroy
@crop = Crop.find(params[:id])
@crop.destroy
respond_to do |format|
@@ -144,4 +194,41 @@ class CropsController < ApplicationController
format.json { head :no_content }
end
end
private
def popular_crops
Crop.popular.includes(:scientific_names, plantings: :photos)
end
def recreate_names(param_name, name_type)
return unless params[param_name].present?
destroy_names(name_type)
params[param_name].each do |index, value|
create_name(name_type, value)
end
end
def destroy_names(name_type)
@crop.send("#{name_type}_names").each do |alt_name|
alt_name.destroy
end
end
def create_name(name_type, value)
@crop.send("#{name_type}_names").create(name: value, creator_id: current_member.id)
end
def crop_params
params.require(:crop).permit(:en_wikipedia_url,
:name,
:parent_id,
:creator_id,
:approval_status,
:request_notes,
:reason_for_rejection,
:rejection_notes, scientific_names_attributes: [:scientific_name,
:_destroy,
:id])
end
end

View File

@@ -1,11 +1,14 @@
class FollowsController < ApplicationController
before_action :authenticate_member!
load_and_authorize_resource
skip_load_resource only: :create
# POST /follows
def create
@follow = current_member.follows.build(:followed_id => params[:followed_id])
@follow = current_member.follows.build(followed_id: follow_params[:followed_id])
if @follow.save
flash[:notice] = "Followed #{ @follow.followed.login_name }"
flash[:notice] = "Followed #{@follow.followed.login_name}"
redirect_to :back
else
flash[:error] = "Already following or error while following."
@@ -15,11 +18,17 @@ class FollowsController < ApplicationController
# DELETE /follows/1
def destroy
@follow = current_member.follows.find(params[:id])
@follow = current_member.follows.find(follow_params[:id])
unfollowed_name = @follow.followed.login_name
@follow.destroy
flash[:notice] = "Unfollowed #{ unfollowed_name }"
flash[:notice] = "Unfollowed #{unfollowed_name}"
redirect_to root_path
end
private
def follow_params
params.permit(:id, :followed_id, :follower_id, :authenticity_token, :_method)
end
end

View File

@@ -1,87 +1,56 @@
class ForumsController < ApplicationController
load_and_authorize_resource
cache_sweeper :forum_sweeper
respond_to :html, :json
# GET /forums
# GET /forums.json
def index
@forums = Forum.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @forums }
end
respond_with(@forums)
end
# GET /forums/1
# GET /forums/1.json
def show
@forum = Forum.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @forum }
end
respond_with(@forum)
end
# GET /forums/new
# GET /forums/new.json
def new
@forum = Forum.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @forum }
end
respond_with(@forum)
end
# GET /forums/1/edit
def edit
@forum = Forum.find(params[:id])
end
def edit; end
# POST /forums
# POST /forums.json
def create
@forum = Forum.new(params[:forum])
respond_to do |format|
if @forum.save
format.html { redirect_to @forum, notice: 'Forum was successfully created.' }
format.json { render json: @forum, status: :created, location: @forum }
else
format.html { render action: "new" }
format.json { render json: @forum.errors, status: :unprocessable_entity }
end
end
@forum = Forum.new(forum_params)
flash[:notice] = 'Forum was successfully created.' if @forum.save
respond_with(@forum)
end
# PUT /forums/1
# PUT /forums/1.json
def update
@forum = Forum.find(params[:id])
respond_to do |format|
if @forum.update_attributes(params[:forum])
format.html { redirect_to @forum, notice: 'Forum was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @forum.errors, status: :unprocessable_entity }
end
end
flash[:notice] = 'Forum was successfully updated.' if @forum.update(forum_params)
respond_with(@forum)
end
# DELETE /forums/1
# DELETE /forums/1.json
def destroy
@forum = Forum.find(params[:id])
@forum.destroy
flash[:notice] = 'Forum was successfully deleted'
redirect_to forums_url
end
respond_to do |format|
format.html { redirect_to forums_url, notice: 'Forum was successfully deleted' }
format.json { head :no_content }
end
private
def forum_params
params.require(:forum).permit(:description, :name, :owner_id, :slug)
end
end

View File

@@ -1,93 +1,68 @@
class GardensController < ApplicationController
before_filter :authenticate_member!, :except => [:index, :show]
before_action :authenticate_member!, except: [:index, :show]
after_action :expire_homepage, only: [:create, :delete]
load_and_authorize_resource
cache_sweeper :garden_sweeper
respond_to :html, :json
# GET /gardens
# GET /gardens.json
def index
@gardens = Garden.paginate(:page => params[:page])
@owner = Member.find_by_slug(params[:owner])
if @owner
@gardens = @owner.gardens.paginate(:page => params[:page])
end
@owner = Member.find_by(slug: params[:owner])
@show_all = params[:all] == '1'
@gardens = gardens
respond_to do |format|
format.html # index.html.erb
format.json { render json: @gardens }
end
respond_with(@gardens)
end
# GET /gardens/1
# GET /gardens/1.json
def show
@garden = Garden.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @garden }
end
respond_with(@garden)
end
# GET /gardens/new
# GET /gardens/new.json
def new
@garden = Garden.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @garden }
end
respond_with(@garden)
end
# GET /gardens/1/edit
def edit
@garden = Garden.find(params[:id])
end
def edit; end
# POST /gardens
# POST /gardens.json
def create
params[:garden][:owner_id] = current_member.id
@garden = Garden.new(params[:garden])
respond_to do |format|
if @garden.save
format.html { redirect_to @garden, notice: 'Garden was successfully created.' }
format.json { render json: @garden, status: :created, location: @garden }
else
format.html { render action: "new" }
format.json { render json: @garden.errors, status: :unprocessable_entity }
end
end
@garden.owner_id = current_member.id
flash[:notice] = I18n.t('gardens.created') if @garden.save
respond_with(@garden)
end
# PUT /gardens/1
# PUT /gardens/1.json
def update
@garden = Garden.find(params[:id])
respond_to do |format|
if @garden.update_attributes(params[:garden])
format.html { redirect_to @garden, notice: 'Garden was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @garden.errors, status: :unprocessable_entity }
end
end
flash[:notice] = I18n.t('gardens.updated') if @garden.update(garden_params)
respond_with(@garden)
end
# DELETE /gardens/1
# DELETE /gardens/1.json
def destroy
@garden = Garden.find(params[:id])
@garden.destroy
flash[:notice] = I18n.t('gardens.deleted')
redirect_to(gardens_by_owner_path(owner: @garden.owner))
end
respond_to do |format|
format.html { redirect_to gardens_by_owner_path(:owner => @garden.owner), notice: 'Garden was successfully deleted.' }
format.json { head :no_content }
end
private
def garden_params
params.require(:garden).permit(:name, :slug, :description, :active,
:location, :latitude, :longitude, :area, :area_unit)
end
def gardens
g = @owner ? @owner.gardens : Garden.all
g = g.active unless @show_all
g.includes(:owner).order(:updated_at).paginate(page: params[:page])
end
end

View File

@@ -1,105 +1,99 @@
class HarvestsController < ApplicationController
before_filter :authenticate_member!, :except => [:index, :show]
before_action :authenticate_member!, except: [:index, :show]
load_and_authorize_resource
respond_to :html, :json
respond_to :csv, only: :index
# GET /harvests
# GET /harvests.json
def index
@owner = Member.find_by_slug(params[:owner])
@crop = Crop.find_by_slug(params[:crop])
if @owner
@harvests = @owner.harvests.includes(:owner, :crop)
elsif @crop
@harvests = @crop.harvests.includes(:owner, :crop)
else
@harvests = Harvest.includes(:owner, :crop)
end
@owner = Member.find_by(slug: params[:owner])
@crop = Crop.find_by(slug: params[:crop])
@planting = Planting.find_by(slug: params['planting_id'])
respond_to do |format|
format.html { @harvests = @harvests.paginate(:page => params[:page]) }
format.json { render json: @harvests }
format.csv do
specifics = (@owner ? "#{@owner.name}-" : @crop ? "#{@crop.name}-" : nil)
@filename = "Growstuff-#{specifics}Harvests-#{Time.zone.now.to_s(:number)}.csv"
render :csv => @harvests
end
end
@harvests = harvests
@filename = csv_filename
respond_with(@harvests)
end
# GET /harvests/1
# GET /harvests/1.json
def show
@harvest = Harvest.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @harvest }
end
@matching_plantings = matching_plantings if @harvest.owner == current_member
respond_with(@harvest)
end
# GET /harvests/new
# GET /harvests/new.json
def new
@harvest = Harvest.new('harvested_at' => Date.today)
@harvest = Harvest.new(harvested_at: Time.zone.today)
@planting = Planting.find_by(slug: params[:planting_id]) if params[:planting_id]
# using find_by_id here because it returns nil, unlike find
@crop = Crop.find_by_id(params[:crop_id]) || Crop.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @harvest }
end
@crop = Crop.find_by(id: params[:crop_id])
respond_with(@harvest)
end
# GET /harvests/1/edit
def edit
@harvest = Harvest.find(params[:id])
@planting = @harvest.planting if @harvest.planting_id
end
# POST /harvests
# POST /harvests.json
def create
params[:harvest][:owner_id] = current_member.id
params[:harvested_at] = parse_date(params[:harvested_at])
@harvest = Harvest.new(params[:harvest])
respond_to do |format|
if @harvest.save
format.html { redirect_to @harvest, notice: 'Harvest was successfully created.' }
format.json { render json: @harvest, status: :created, location: @harvest }
else
format.html { render action: "new" }
format.json { render json: @harvest.errors, status: :unprocessable_entity }
end
end
@harvest.crop_id = @harvest.planting.crop_id if @harvest.planting_id
flash[:notice] = I18n.t('harvests.created') if @harvest.save
respond_with(@harvest)
end
# PUT /harvests/1
# PUT /harvests/1.json
def update
@harvest = Harvest.find(params[:id])
respond_to do |format|
if @harvest.update_attributes(params[:harvest])
format.html { redirect_to @harvest, notice: 'Harvest was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @harvest.errors, status: :unprocessable_entity }
end
end
flash[:notice] = I18n.t('harvests.updated') if @harvest.update(harvest_params)
respond_with(@harvest)
end
# DELETE /harvests/1
# DELETE /harvests/1.json
def destroy
@harvest = Harvest.find(params[:id])
@harvest.destroy
respond_with(@harvest)
end
respond_to do |format|
format.html { redirect_to harvests_url }
format.json { head :no_content }
end
private
def harvest_params
params.require(:harvest)
.permit(:planting_id, :crop_id, :harvested_at, :description,
:quantity, :unit, :weight_quantity, :weight_unit,
:plant_part_id, :slug, :si_weight)
.merge(owner_id: current_member.id)
end
def matching_plantings
Planting.where(crop: @harvest.crop, owner: @harvest.owner)
.where('(planted_at IS NULL OR planted_at <= ?)', @harvest.harvested_at)
.where('(finished_at IS NULL OR finished_at >= ?)', @harvest.harvested_at)
end
def harvests
if @owner
@owner.harvests
elsif @crop
@crop.harvests
elsif @planting_id
@planting.harvests
else
Harvest
end.includes(:owner, :crop).paginate(page: params[:page])
end
def csv_filename
specifics = if @owner
"#{@owner.login_name}-"
elsif @crop
"#{@crop.name}-"
end
"Growstuff-#{specifics}Harvests-#{Time.zone.now.to_s(:number)}.csv"
end
end

View File

@@ -2,7 +2,6 @@ class HomeController < ApplicationController
skip_authorize_resource
def index
# we were previously generating a lot of instance variables like
# @members_count and @interesting_crops in here, but now we call
# the relevant class methods directly in the view, so that fragment
@@ -12,5 +11,4 @@ class HomeController < ApplicationController
format.html # index.html.haml
end
end
end

View File

@@ -0,0 +1,57 @@
class LikesController < ApplicationController
before_action :authenticate_member!
respond_to :html, :json
def create
@like = Like.new(member: current_member, likeable: find_likeable)
return failed(@like, message: 'Unable to like') unless @like.likeable && @like.save
success(@like, liked_by_member: true, status_code: :created)
end
def destroy
@like = Like.find_by(id: params[:id], member: current_member)
return failed(@like, message: 'Unable to unlike') unless @like && @like.destroy
success(@like, liked_by_member: false, status_code: :ok)
end
private
def find_likeable
Post.find(params[:post_id]) if params[:post_id]
end
def render_json(like, liked_by_member: true)
{
id: like.likeable.id,
liked_by_member: liked_by_member,
description: ActionController::Base.helpers.pluralize(like.likeable.likes.count, "like"),
url: like_path(like, format: :json)
}
end
def success(like, liked_by_member: nil, status_code: nil)
respond_to do |format|
format.html { redirect_to like.likeable }
format.json do
render(json: render_json(like, liked_by_member: liked_by_member),
status: status_code)
end
end
end
def failed(like, message)
respond_to do |format|
format.json { render(json: { 'error': message }, status: :forbidden) }
format.html do
flash[:error] = message
if like && like.likeable
redirect_to like.likeable
else
redirect_to root_path
end
end
end
end
end

View File

@@ -1,47 +1,108 @@
class MembersController < ApplicationController
load_and_authorize_resource
load_and_authorize_resource except: [:finish_signup, :unsubscribe, :view_follows, :view_followers, :show]
skip_authorize_resource only: [:nearby, :unsubscribe, :finish_signup]
cache_sweeper :member_sweeper
skip_authorize_resource :only => :nearby
after_action :expire_cache_fragments, only: :create
def index
@members = Member.confirmed.paginate(:page => params[:page])
@sort = params[:sort]
@members = if @sort == 'recently_joined'
Member.confirmed.recently_joined.paginate(page: params[:page])
else
Member.confirmed.paginate(page: params[:page])
end
respond_to do |format|
format.html # index.html.haml
format.json { render :json => @members.to_json(:only => [:id, :login_name, :slug, :bio, :created_at, :location, :latitude, :longitude]) }
format.json {
render json: @members.to_json(only: [
:id, :login_name,
:slug, :bio, :created_at,
:location, :latitude, :longitude
])
}
end
end
def show
@member = Member.confirmed.find(params[:id])
@twitter_auth = @member.auth('twitter')
@flickr_auth = @member.auth('flickr')
@posts = @member.posts
@member = Member.confirmed.find(params[:id])
@twitter_auth = @member.auth('twitter')
@flickr_auth = @member.auth('flickr')
@facebook_auth = @member.auth('facebook')
@posts = @member.posts
@gardens = @member.gardens.active.order(:name)
# The garden form partial is called from the "New Garden" tab;
# it requires a garden to be passed in @garden.
# The new garden is not persisted unless Garden#save is called.
@garden = Garden.new
respond_to do |format|
format.html # show.html.haml
format.json { render :json => @member.to_json(:only => [:id, :login_name, :bio, :created_at, :slug, :location, :latitude, :longitude]) }
format.rss { render(
:layout => false,
:locals => { :member => @member }
)}
format.json {
render json: @member.to_json(only: [
:id, :login_name, :bio,
:created_at, :slug, :location,
:latitude, :longitude
])
}
format.rss {
render(
layout: false,
locals: { member: @member }
)}
end
end
def view_follows
@member = Member.confirmed.find(params[:login_name])
@follows = @member.followed.paginate(:page => params[:page])
@follows = @member.followed.paginate(page: params[:page])
end
def view_followers
@member = Member.confirmed.find(params[:login_name])
@followers = @member.followers.paginate(:page => params[:page])
@followers = @member.followers.paginate(page: params[:page])
end
EMAIL_TYPE_STRING = {
send_notification_email: "direct message notifications",
send_planting_reminder: "planting reminders"
}
def unsubscribe
verifier = ActiveSupport::MessageVerifier.new(ENV['RAILS_SECRET_TOKEN'])
decrypted_message = verifier.verify(params[:message])
@member = Member.find(decrypted_message[:member_id])
@type = decrypted_message[:type]
@member.update(@type => false)
flash.now[:notice] = I18n.t('members.unsubscribed', email_type: EMAIL_TYPE_STRING[@type])
rescue ActiveSupport::MessageVerifier::InvalidSignature
flash.now[:alert] = I18n.t('members.unsubscribe.error')
end
def finish_signup
@member = current_member
return unless request.patch? && params[:member]
if @member.update(member_params)
@member.skip_reconfirmation!
bypass_sign_in(@member)
redirect_to root_path, notice: I18n.t('members.welcome')
else
flash[:alert] = I18n.t('members.signup.error')
@show_errors = true
end
end
private
def expire_cache_fragments
expire_fragment("homepage_stats")
end
def member_params
params.require(:member).permit(:login_name, :tos_agreement, :email, :newsletter)
end
end

View File

@@ -1,63 +1,63 @@
class NotificationsController < ApplicationController
include NotificationsHelper
before_filter :authenticate_member!
before_action :authenticate_member!
load_and_authorize_resource
respond_to :html
# GET /notifications
def index
@notifications = Notification.find_all_by_recipient_id(current_member)
respond_to do |format|
format.html # index.html.erb
end
@notifications = Notification.by_recipient(current_member).page(params[:page])
end
# GET /notifications/1
def show
@notification = Notification.find(params[:id])
@notification.read = true
@notification.save
@reply_link = reply_link(@notification)
respond_to do |format|
format.html # show.html.erb
end
end
# GET /notifications/new
def new
@notification = Notification.new
@recipient = Member.find_by_id(params[:recipient_id])
@recipient = Member.find_by(id: params[:recipient_id])
@subject = params[:subject] || ""
end
respond_to do |format|
format.html # new.html.erb
end
# GET /notifications/1/reply
def reply
@notification = Notification.new
@sender_notification = Notification.find_by(id: params[:id], recipient: current_member)
@sender_notification.read = true
@sender_notification.save
@recipient = @sender_notification.sender
@subject = @sender_notification.subject =~ /^Re: / ?
@sender_notification.subject :
"Re: " + @sender_notification.subject
end
# DELETE /notifications/1
def destroy
@notification = Notification.find(params[:id])
@notification.destroy
respond_to do |format|
format.html { redirect_to notifications_url }
end
redirect_to notifications_url
end
# POST /notifications
def create
params[:notification][:sender_id] = current_member.id
@notification = Notification.new(params[:notification])
@recipient = Member.find_by_id(params[:notification][:recipient_id])
@notification = Notification.new(notification_params)
@recipient = Member.find_by(id: params[:notification][:recipient_id])
respond_to do |format|
if @notification.save
format.html { redirect_to notifications_path, notice: 'Message was successfully sent.' }
else
format.html { render action: "new" }
end
if @notification.save
redirect_to notifications_path, notice: 'Message was successfully sent.'
else
render action: "new"
end
end
private
def notification_params
params.require(:notification).permit(:sender_id, :recipient_id, :subject, :body, :post_id, :read)
end
end

View File

@@ -0,0 +1,51 @@
require './lib/actions/oauth_signup_action'
#
# Handle signup or signin
# from various oauth providers
#
# Heavily overlaps with Authentications controller
#
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
def facebook
create
end
def failure
flash[:alert] = "Authentication failed."
redirect_to request.env['omniauth.origin'] || "/"
end
private
def create
auth = request.env['omniauth.auth']
action = Growstuff::OauthSignupAction.new
@authentication = nil
return redirect_to request.env['omniauth.origin'] || edit_member_registration_path unless auth
member = action.find_or_create_from_authorization(auth)
@authentication = action.establish_authentication(auth, member)
unless action.member_created?
sign_in_and_redirect member, event: :authentication # this will throw if @user is not activated
set_flash_message(:notice, :success, kind: auth['provider']) if is_navigational_format?
else
raise "Invalid provider" unless ['facebook', 'twitter', 'flickr'].index(auth['provider'].to_s)
session["devise.#{auth['provider']}_data"] = request.env["omniauth.auth"]
sign_in member
redirect_to finish_signup_url(member)
end
end
def after_sign_in_path_for(resource)
if resource.tos_agreement
super resource
else
finish_signup_path(resource)
end
end
end

View File

@@ -1,5 +1,5 @@
class OrderItemsController < ApplicationController
before_filter :authenticate_member!
before_action :authenticate_member!
load_and_authorize_resource
# POST /order_items
@@ -7,8 +7,8 @@ class OrderItemsController < ApplicationController
if params[:order_item][:price]
params[:order_item][:price] = params[:order_item][:price].to_f * 100 # convert to cents
end
@order_item = OrderItem.new(params[:order_item])
@order_item.order = current_member.current_order || Order.create(:member_id => current_member.id)
@order_item = OrderItem.new(order_item_params)
@order_item.order = current_member.current_order || Order.create(member_id: current_member.id)
respond_to do |format|
if @order_item.save
@@ -20,4 +20,10 @@ class OrderItemsController < ApplicationController
end
end
end
private
def order_item_params
params.require(:order_item).permit(:order_id, :price, :product_id, :quantity)
end
end

View File

@@ -1,10 +1,10 @@
class OrdersController < ApplicationController
before_filter :authenticate_member!
before_action :authenticate_member!
load_and_authorize_resource
# GET /orders
def index
@orders = Order.find_all_by_member_id(current_member.id)
@orders = Order.by_member(current_member)
respond_to do |format|
format.html # index.html.erb
@@ -13,8 +13,6 @@ class OrdersController < ApplicationController
# GET /orders/1
def show
@order = Order.find(params[:id])
respond_to do |format|
format.html # show.html.erb
end
@@ -31,37 +29,32 @@ class OrdersController < ApplicationController
# checkout with PayPal
def checkout
@order = Order.find(params[:id])
respond_to do |format|
if @order.update_attributes(:referral_code => params[:referral_code])
if @order.update_attributes(referral_code: params[:referral_code])
response = EXPRESS_GATEWAY.setup_purchase(
@order.total,
:items => @order.activemerchant_items,
:currency => Growstuff::Application.config.currency,
:no_shipping => true,
:ip => request.remote_ip,
:return_url => complete_order_url,
:cancel_return_url => shop_url
items: @order.activemerchant_items,
currency: Growstuff::Application.config.currency,
no_shipping: true,
ip: request.remote_ip,
return_url: complete_order_url,
cancel_return_url: shop_url
)
format.html { redirect_to EXPRESS_GATEWAY.redirect_url_for(response.token) }
else
format.html { render action: "show" }
end
end
end
def complete
@order = Order.find(params[:id])
if (params[:token] && params['PayerID'])
if params[:token] && params['PayerID']
purchase = EXPRESS_GATEWAY.purchase(
@order.total,
:currency => Growstuff::Application.config.currency,
:ip => request.remote_ip,
:payer_id => params['PayerID'],
:token => params[:token]
currency: Growstuff::Application.config.currency,
ip: request.remote_ip,
payer_id: params['PayerID'],
token: params[:token]
)
if purchase.success?
@order.completed_at = Time.zone.now
@@ -78,11 +71,9 @@ class OrdersController < ApplicationController
respond_to do |format|
format.html # new.html.erb
end
end
def cancel
@order = Order.find(params[:id])
respond_to do |format|
format.html { redirect_to shop_url, notice: 'Order was cancelled.' }
end
@@ -90,7 +81,6 @@ class OrdersController < ApplicationController
# DELETE /orders/1
def destroy
@order = Order.find(params[:id])
@order.destroy
respond_to do |format|

View File

@@ -0,0 +1,6 @@
class PagesController < ApplicationController
def letsencrypt
# use your code here, not mine
render text: "y9KNck8wqkoQLnlr2RgA2TVwWtyYb4PeY_hzGNx0Tfs.dlIPqFhMDCLyQEccczY3roHZ1UWu6UqVeyb9mkRxheU"
end
end

View File

@@ -1,7 +1,7 @@
class PasswordsController < Devise::PasswordsController
protected
protected
def after_resetting_password_path_for(resource)
root_path
end
end
end

View File

@@ -1,135 +1,104 @@
class PhotosController < ApplicationController
before_filter :authenticate_member!, :except => [:index, :show]
before_action :authenticate_member!, except: [:index, :show]
after_action :expire_homepage, only: [:create, :delete]
load_and_authorize_resource
cache_sweeper :photo_sweeper
respond_to :html, :json
# GET /photos
# GET /photos.json
def index
@photos = Photo.paginate(:page => params[:page])
respond_to do |format|
format.html # index.html.erb
format.json { render json: @photos }
end
end
# GET /photos/1
# GET /photos/1.json
def show
@photo = Photo.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @photo }
end
@photos = Photo.paginate(page: params[:page])
respond_with(@photos)
end
# GET /photos/new
# GET /photos/new.json
def new
@photo = Photo.new
@type = params[:type]
@id = params[:id]
page = params[:page] || 1
@flickr_auth = current_member.auth('flickr')
@current_set = params[:set]
if @flickr_auth
@sets = current_member.flickr_sets
photos, total = current_member.flickr_photos(page, @current_set)
@photos = WillPaginate::Collection.create(page, 30, total) do |pager|
pager.replace photos
end
end
respond_to do |format|
format.html # new.html.erb
format.json { render json: @photo }
end
@photo = Photo.new
retrieve_from_flickr
respond_with(@photo)
end
# GET /photos/1/edit
def edit
@photo = Photo.find(params[:id])
end
# POST /photos
# POST /photos.json
def create
@photo = Photo.find_by_flickr_photo_id(params[:photo][:flickr_photo_id]) ||
Photo.new(params[:photo])
@photo.owner_id = current_member.id
@photo.set_flickr_metadata
# several models can have photos. we need to know what model and the id
# for the entry to attach the photo to
valid_models = ["planting", "harvest"]
if params[:type]
if valid_models.include?(params[:type])
if params[:id]
item = params[:type].camelcase.constantize.find_by_id(params[:id])
if item
if item.owner.id == current_member.id
# This syntax is weird, so just know that it means this:
# @photo.harvests << item unless @photo.harvests.include?(item)
# but with the correct many-to-many relationship automatically referenced
(@photo.send "#{params[:type]}s") << item unless (@photo.send "#{params[:type]}s").include?(item)
else
flash[:alert] = "You must own both the #{params[:type]} and the photo."
end
else
flash[:alert] = "Couldn't find #{params[:type]} to connect to photo."
end
else
flash[:alert] = "Missing id parameter"
end
else
flash[:alert] = "Cannot attach photos to #{params[:type]}"
end
else
flash[:alert] = "Missing type parameter"
end
respond_to do |format|
if @photo.save
format.html { redirect_to @photo, notice: 'Photo was successfully added.' }
format.json { render json: @photo, status: :created, location: @photo }
else
format.html { render action: "new" }
format.json { render json: @photo.errors, status: :unprocessable_entity }
end
end
find_or_create_photo_from_flickr_photo
add_photo_to_collection
flash[:notice] = 'Photo was successfully added.' if @photo.present? && @photo.save
respond_with(@photo)
end
# PUT /photos/1
# PUT /photos/1.json
def update
@photo = Photo.find(params[:id])
respond_to do |format|
if @photo.update_attributes(params[:photo])
format.html { redirect_to @photo, notice: 'Photo was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @photo.errors, status: :unprocessable_entity }
end
end
flash[:notice] = 'Photo was successfully updated.' if @photo.update(photo_params)
respond_with(@photo)
end
# DELETE /photos/1
# DELETE /photos/1.json
def destroy
@photo = Photo.find(params[:id])
@photo.destroy
flash[:alert] = "Photo successfully deleted."
respond_with(@photo)
end
respond_to do |format|
format.html { redirect_to photos_url }
format.json { head :no_content }
private
def item_id?
params.key? :id
end
def flickr_photo_id_param
params[:photo][:flickr_photo_id]
end
def photo_params
params.require(:photo).permit(:flickr_photo_id, :title, :license_name,
:license_url, :thumbnail_url, :fullsize_url, :link_url)
end
def find_or_create_photo_from_flickr_photo
@photo = Photo.find_by(flickr_photo_id: flickr_photo_id_param)
@photo = Photo.new(photo_params) unless @photo
@photo.owner_id = current_member.id
@photo.set_flickr_metadata
@photo
end
def add_photo_to_collection
raise "Missing or invalid type provided" unless Growstuff::Constants::PhotoModels.types.include?(params[:type])
raise "No item id provided" unless item_id?
collection = Growstuff::Constants::PhotoModels.get_relation(@photo, params[:type])
item_class = Growstuff::Constants::PhotoModels.get_item(params[:type])
item = item_class.find_by!(id: params[:id], owner_id: current_member.id)
raise "Could not find this item owned by you" unless item
collection << item unless collection.include?(item)
rescue => e
flash[:alert] = e.message
end
def retrieve_from_flickr
@flickr_auth = current_member.auth('flickr')
@current_set = params[:set]
return unless @flickr_auth
page = params[:page] || 1
@sets = current_member.flickr_sets
photos, total = current_member.flickr_photos(page, @current_set)
@photos = WillPaginate::Collection.create(page, 30, total) do |pager|
pager.replace photos
end
end
end

View File

@@ -5,7 +5,11 @@ class PlacesController < ApplicationController
respond_to do |format|
format.html
# json response is whatever we want to map here
format.json { render :json => Member.located.to_json(:only => [:id, :login_name, :slug, :location, :latitude, :longitude]) }
format.json do
render json: Member.located.to_json(only: [
:id, :login_name, :slug, :location, :latitude, :longitude
])
end
end
end
@@ -16,16 +20,27 @@ class PlacesController < ApplicationController
@nearby_members = Member.nearest_to(params[:place])
respond_to do |format|
format.html # show.html.haml
format.json { render :json => @nearby_members.to_json(:only => [:id, :login_name, :slug, :location, :latitude, :longitude]) }
end
end
def search
respond_to do |format|
format.html do
redirect_to place_path(params[:new_place])
format.json do
render json: @nearby_members.to_json(only: [
:id, :login_name, :slug, :location, :latitude, :longitude
])
end
end
end
def search
if params[:new_place].empty?
respond_to do |format|
format.html do
redirect_to places_path, alert: 'Please enter a valid location'
end
end
else
respond_to do |format|
format.html do
redirect_to place_path(params[:new_place])
end
end
end
end
end

View File

@@ -1,48 +1,35 @@
class PlantPartsController < ApplicationController
load_and_authorize_resource
respond_to :html, :json
# GET /plant_parts
# GET /plant_parts.json
def index
@plant_parts = PlantPart.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @plant_parts }
end
respond_with(@plant_parts)
end
# GET /plant_parts/1
# GET /plant_parts/1.json
def show
@plant_part = PlantPart.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @plant_part }
end
respond_with(@plant_part)
end
# GET /plant_parts/new
# GET /plant_parts/new.json
def new
@plant_part = PlantPart.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @plant_part }
end
respond_with(@plant_part)
end
# GET /plant_parts/1/edit
def edit
@plant_part = PlantPart.find(params[:id])
end
# POST /plant_parts
# POST /plant_parts.json
def create
@plant_part = PlantPart.new(params[:plant_part])
@plant_part = PlantPart.new(plant_part_params)
respond_to do |format|
if @plant_part.save
@@ -58,10 +45,8 @@ class PlantPartsController < ApplicationController
# PUT /plant_parts/1
# PUT /plant_parts/1.json
def update
@plant_part = PlantPart.find(params[:id])
respond_to do |format|
if @plant_part.update_attributes(params[:plant_part])
if @plant_part.update(plant_part_params)
format.html { redirect_to @plant_part, notice: 'Plant part was successfully updated.' }
format.json { head :no_content }
else
@@ -74,7 +59,6 @@ class PlantPartsController < ApplicationController
# DELETE /plant_parts/1
# DELETE /plant_parts/1.json
def destroy
@plant_part = PlantPart.find(params[:id])
@plant_part.destroy
respond_to do |format|
@@ -82,4 +66,10 @@ class PlantPartsController < ApplicationController
format.json { head :no_content }
end
end
private
def plant_part_params
params.require(:plant_part).permit(:name, :slug)
end
end

View File

@@ -1,31 +1,23 @@
class PlantingsController < ApplicationController
before_filter :authenticate_member!, :except => [:index, :show]
before_action :authenticate_member!, except: [:index, :show]
load_and_authorize_resource
cache_sweeper :planting_sweeper
# GET /plantings
# GET /plantings.json
def index
@owner = Member.find_by_slug(params[:owner])
@crop = Crop.find_by_slug(params[:crop])
if @owner
@plantings = @owner.plantings.includes(:owner, :crop, :garden).paginate(:page => params[:page])
elsif @crop
@plantings = @crop.plantings.includes(:owner, :crop, :garden).paginate(:page => params[:page])
else
@plantings = Planting.includes(:owner, :crop, :garden).paginate(:page => params[:page])
end
@owner = Member.find_by(slug: params[:owner]) if params[:owner]
@crop = Crop.find_by(slug: params[:crop]) if params[:crop]
@show_all = params[:all] == '1'
@plantings = plantings
respond_to do |format|
format.html { @plantings = @plantings.paginate(:page => params[:page]) }
format.html { @plantings = @plantings.paginate(page: params[:page]) }
format.json { render json: @plantings }
format.rss { render :layout => false } #index.rss.builder
format.rss { render layout: false } # index.rss.builder
format.csv do
specifics = (@owner ? "#{@owner.name}-" : @crop ? "#{@crop.name}-" : nil)
specifics = (@owner ? "#{@owner.login_name}-" : @crop ? "#{@crop.name}-" : nil)
@filename = "Growstuff-#{specifics}Plantings-#{Time.zone.now.to_s(:number)}.csv"
render :csv => @plantings
render csv: @plantings
end
end
end
@@ -33,7 +25,7 @@ class PlantingsController < ApplicationController
# GET /plantings/1
# GET /plantings/1.json
def show
@planting = Planting.includes(:owner, :crop, :garden, :photos).find(params[:id])
@planting = Planting.includes(:owner, :crop, :garden, :photos).friendly.find(params[:id])
respond_to do |format|
format.html # show.html.erb
@@ -44,11 +36,11 @@ class PlantingsController < ApplicationController
# GET /plantings/new
# GET /plantings/new.json
def new
@planting = Planting.new('planted_at' => Date.today)
@planting = Planting.new('planted_at' => Time.zone.today)
# using find_by_id here because it returns nil, unlike find
@crop = Crop.find_by_id(params[:crop_id]) || Crop.new
@garden = Garden.find_by_id(params[:garden_id]) || Garden.new
@crop = Crop.approved.find_by(id: params[:crop_id]) || Crop.new
@garden = Garden.find_by(owner: current_member, id: params[:garden_id]) || Garden.new
respond_to do |format|
format.html # new.html.erb
@@ -58,8 +50,6 @@ class PlantingsController < ApplicationController
# GET /plantings/1/edit
def edit
@planting = Planting.find(params[:id])
# the following are needed to display the form but aren't used
@crop = Crop.new
@garden = Garden.new
@@ -68,14 +58,17 @@ class PlantingsController < ApplicationController
# POST /plantings
# POST /plantings.json
def create
params[:planting][:owner_id] = current_member.id
params[:planted_at] = parse_date(params[:planted_at])
@planting = Planting.new(params[:planting])
@planting = Planting.new(planting_params)
@planting.owner = current_member
respond_to do |format|
if @planting.save
@planting.update_attribute(:days_before_maturity,
update_days_before_maturity(@planting, planting_params[:crop_id]))
format.html { redirect_to @planting, notice: 'Planting was successfully created.' }
format.json { render json: @planting, status: :created, location: @planting }
expire_fragment("homepage_stats")
else
format.html { render action: "new" }
format.json { render json: @planting.errors, status: :unprocessable_entity }
@@ -86,11 +79,12 @@ class PlantingsController < ApplicationController
# PUT /plantings/1
# PUT /plantings/1.json
def update
@planting = Planting.find(params[:id])
params[:planted_at] = parse_date(params[:planted_at])
respond_to do |format|
if @planting.update_attributes(params[:planting])
if @planting.update(planting_params)
@planting.update_attribute(:days_before_maturity,
update_days_before_maturity(@planting, planting_params[:crop_id]))
format.html { redirect_to @planting, notice: 'Planting was successfully updated.' }
format.json { head :no_content }
else
@@ -103,13 +97,41 @@ class PlantingsController < ApplicationController
# DELETE /plantings/1
# DELETE /plantings/1.json
def destroy
@planting = Planting.find(params[:id])
@garden = @planting.garden
@planting.destroy
expire_fragment("homepage_stats")
respond_to do |format|
format.html { redirect_to @garden }
format.json { head :no_content }
end
end
private
def planting_params
params.require(:planting).permit(:crop_id, :description, :garden_id, :planted_at,
:quantity, :sunniness, :planted_from, :owner_id, :finished,
:finished_at)
end
def update_days_before_maturity(planting, crop_id)
if planting.finished_at.nil?
planting.calculate_days_before_maturity(planting, crop_id)
else
(planting.finished_at - planting.planted_at).to_i
end
end
def plantings
p = if @owner
@owner.plantings
elsif @crop
@crop.plantings
else
Planting
end
p = p.current unless @show_all
p.includes(:owner, :crop, :garden).order(:created_at).paginate(page: params[:page])
end
end

View File

@@ -1,2 +0,0 @@
class PolicyController < ApplicationController
end

View File

@@ -1,101 +1,72 @@
class PostsController < ApplicationController
before_filter :authenticate_member!, :except => [:index, :show]
before_action :authenticate_member!, except: [:index, :show]
load_and_authorize_resource
cache_sweeper :post_sweeper
respond_to :html, :json
respond_to :rss, only: [:index, :show]
# GET /posts
# GET /posts.json
# GET /posts.rss
def index
@author = Member.find_by_slug(params[:author])
if @author
@posts = @author.posts.includes(:author, { :comments => :author }).paginate(:page => params[:page])
else
@posts = Post.includes(:author, { :comments => :author }).paginate(:page => params[:page])
end
respond_to do |format|
format.html # index.html.haml
format.json { render json: @posts }
format.rss { render :layout => false } #index.rss.builder
end
@author = Member.find_by(slug: params[:author])
@posts = posts
respond_with(@posts)
end
# GET /posts/1
# GET /posts/1.json
# GET /posts/1.rss
def show
@post = Post.includes(:author, { :comments => :author }).find(params[:id])
respond_to do |format|
format.html # show.html.haml
format.json { render json: @post }
format.rss { render(
:layout => false,
:locals => { :post => @post }
)}
end
@post = Post.includes(:author, comments: :author).find(params[:id])
respond_with(@post)
end
# GET /posts/new
# GET /posts/new.json
def new
@post = Post.new
@forum = Forum.find_by_id(params[:forum_id])
respond_to do |format|
format.html # new.html.haml
format.json { render json: @post }
end
@forum = Forum.find_by(id: params[:forum_id])
respond_with(@post)
end
# GET /posts/1/edit
def edit
@post = Post.find(params[:id])
end
# POST /posts
# POST /posts.json
def create
params[:post][:author_id] = current_member.id
@post = Post.new(params[:post])
respond_to do |format|
if @post.save
format.html { redirect_to @post, notice: 'Post was successfully created.' }
format.json { render json: @post, status: :created, location: @post }
else
format.html { render action: "new" }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
@post = Post.new(post_params)
flash[:notice] = 'Post was successfully created.' if @post.save
respond_with(@post)
end
# PUT /posts/1
# PUT /posts/1.json
def update
@post = Post.find(params[:id])
respond_to do |format|
if @post.update_attributes(params[:post])
format.html { redirect_to @post, notice: 'Post was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
flash[:notice] = 'Post was successfully updated.' if @post.update(post_params)
respond_with(@post)
end
# DELETE /posts/1
# DELETE /posts/1.json
def destroy
@post = Post.find(params[:id])
@post.destroy
flash[:notice] = 'Post was deleted.' if @post.destroy
respond_with(@post)
end
respond_to do |format|
format.html { redirect_to posts_url, notice: 'Post was deleted.' }
format.json { head :no_content }
end
private
def post_params
params.require(:post).permit(:body, :subject, :author_id, :forum_id)
end
def posts
if @author
@author.posts
else
Post
end.includes(:author, comments: :author).paginate(page: params[:page])
end
end

View File

@@ -1,5 +1,5 @@
class ProductsController < ApplicationController
before_filter :authenticate_member!
before_action :authenticate_member!
load_and_authorize_resource
# GET /products
@@ -13,8 +13,6 @@ class ProductsController < ApplicationController
# GET /products/1
def show
@product = Product.find(params[:id])
respond_to do |format|
format.html # show.html.erb
end
@@ -31,12 +29,11 @@ class ProductsController < ApplicationController
# GET /products/1/edit
def edit
@product = Product.find(params[:id])
end
# POST /products
def create
@product = Product.new(params[:product])
@product = Product.new(product_params)
respond_to do |format|
if @product.save
@@ -49,10 +46,8 @@ class ProductsController < ApplicationController
# PUT /products/1
def update
@product = Product.find(params[:id])
respond_to do |format|
if @product.update_attributes(params[:product])
if @product.update(product_params)
format.html { redirect_to @product, notice: 'Product was successfully updated.' }
else
format.html { render action: "edit" }
@@ -62,11 +57,17 @@ class ProductsController < ApplicationController
# DELETE /products/1
def destroy
@product = Product.find(params[:id])
@product.destroy
respond_to do |format|
format.html { redirect_to products_url }
end
end
private
def product_params
params.require(:product).permit(:description, :min_price, :recommended_price, :name,
:account_type_id, :paid_months)
end
end

View File

@@ -1,46 +1,44 @@
class RegistrationsController < Devise::RegistrationsController
cache_sweeper :member_sweeper
respond_to :json
def edit
@twitter_auth = current_member.auth('twitter')
@flickr_auth = current_member.auth('flickr')
@twitter_auth = current_member.auth('twitter')
@flickr_auth = current_member.auth('flickr')
@facebook_auth = current_member.auth('facebook')
render "edit"
end
# we need this subclassed method so that Devise doesn't force people to
# change their password every time they want to edit their settings.
# we also check that they give their current password to change their password.
# Code copied from
# https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-account-without-providing-a-password
# we need this subclassed method so that Devise doesn't force people to
# change their password every time they want to edit their settings.
# we also check that they give their current password to change their password.
# Code copied from
# https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-account-without-providing-a-password
def update
@member = Member.find(current_member.id)
successfully_updated = if needs_password?(@member, params)
@member.update_with_password(devise_parameter_sanitizer.sanitize(:account_update))
if needs_password?(@member, params)
successfully_updated = @member.update_with_password(devise_parameter_sanitizer.sanitize(:account_update))
else
# remove the virtual current_password attribute
# update_without_password doesn't know how to ignore it
params[:member].delete(:current_password)
@member.update_without_password(devise_parameter_sanitizer.sanitize(:account_update))
successfully_updated = @member.update_without_password(devise_parameter_sanitizer.sanitize(:account_update))
end
if successfully_updated
set_flash_message :notice, :updated
# Sign in the member bypassing validation in case their password changed
sign_in @member, :bypass => true
sign_in @member, bypass: true
redirect_to edit_member_registration_path
else
render "edit"
end
end
end
# check if we need the current password to update fields
def needs_password?(member, params)
params[:member][:password].present? ||
params[:member][:password_confirmation].present?
params[:member][:password_confirmation].present?
end

View File

@@ -0,0 +1,15 @@
class RobotsController < ApplicationController
DEFAULT_FILENAME = 'config/robots.txt'.freeze
def robots
filename = "config/robots.#{subdomain}.txt" if subdomain && subdomain != 'www'
file_to_render = File.exist?(filename.to_s) ? filename : DEFAULT_FILENAME
render file: file_to_render, layout: false, content_type: 'text/plain'
end
private
def subdomain
request.subdomain.present? ? request.subdomain : nil
end
end

View File

@@ -1,7 +1,7 @@
class RolesController < ApplicationController
before_filter :authenticate_member!
before_action :authenticate_member!
load_and_authorize_resource
# GET /roles
def index
@roles = Role.all
@@ -13,8 +13,6 @@ class RolesController < ApplicationController
# GET /roles/1
def show
@role = Role.find(params[:id])
respond_to do |format|
format.html # show.html.erb
end
@@ -31,12 +29,11 @@ class RolesController < ApplicationController
# GET /roles/1/edit
def edit
@role = Role.find(params[:id])
end
# POST /roles
def create
@role = Role.new(params[:role])
@role = Role.new(role_params)
respond_to do |format|
if @role.save
@@ -49,10 +46,8 @@ class RolesController < ApplicationController
# PUT /roles/1
def update
@role = Role.find(params[:id])
respond_to do |format|
if @role.update_attributes(params[:role])
if @role.update(role_params)
format.html { redirect_to @role, notice: 'Role was successfully updated.' }
else
format.html { render action: "edit" }
@@ -62,11 +57,16 @@ class RolesController < ApplicationController
# DELETE /roles/1
def destroy
@role = Role.find(params[:id])
@role.destroy
respond_to do |format|
format.html { redirect_to roles_url }
end
end
private
def role_params
params.require(:role).permit(:description, :name, :members, :slug)
end
end

View File

@@ -1,93 +1,62 @@
class ScientificNamesController < ApplicationController
before_filter :authenticate_member!, :except => [:index, :show]
before_action :authenticate_member!, except: [:index, :show]
load_and_authorize_resource
cache_sweeper :scientific_name_sweeper
respond_to :html, :json
# GET /scientific_names
# GET /scientific_names.json
def index
@scientific_names = ScientificName.all
respond_to do |format|
format.html # index.html.haml
format.json { render json: @scientific_names }
end
respond_with(@scientific_names)
end
# GET /scientific_names/1
# GET /scientific_names/1.json
def show
@scientific_name = ScientificName.find(params[:id])
respond_to do |format|
format.html # show.html.haml
format.json { render json: @scientific_name }
end
respond_with(@scientific_name)
end
# GET /scientific_names/new
# GET /scientific_names/new.json
def new
@scientific_name = ScientificName.new
@crop = Crop.find_by_id(params[:crop_id]) || Crop.new
respond_to do |format|
format.html # new.html.haml
format.json { render json: @scientific_name }
end
@crop = Crop.find_or_initialize_by(id: params[:crop_id])
respond_with(@scientific_name)
end
# GET /scientific_names/1/edit
def edit
@scientific_name = ScientificName.find(params[:id])
end
# POST /scientific_names
# POST /scientific_names.json
def create
params[:scientific_name][:creator_id] = current_member.id
@scientific_name = ScientificName.new(params[:scientific_name])
@scientific_name = ScientificName.new(scientific_name_params)
@scientific_name.creator = current_member
respond_to do |format|
if @scientific_name.save
format.html { redirect_to @scientific_name.crop, notice: 'Scientific name was successfully created.' }
format.json { render json: @scientific_name, status: :created, location: @scientific_name }
else
format.html { render action: "new" }
format.json { render json: @scientific_name.errors, status: :unprocessable_entity }
end
end
flash[:notice] = 'Scientific name was successfully created.' if @scientific_name.save
respond_with(@scientific_name.crop)
end
# PUT /scientific_names/1
# PUT /scientific_names/1.json
def update
@scientific_name = ScientificName.find(params[:id])
respond_to do |format|
if @scientific_name.update_attributes(params[:scientific_name])
format.html { redirect_to @scientific_name.crop, notice: 'Scientific name was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @scientific_name.errors, status: :unprocessable_entity }
end
end
flash[:notice] = 'Scientific name was successfully updated.' if @scientific_name.update(scientific_name_params)
respond_with(@scientific_name.crop)
end
# DELETE /scientific_names/1
# DELETE /scientific_names/1.json
def destroy
@scientific_name = ScientificName.find(params[:id])
@crop = @scientific_name.crop
@scientific_name.destroy
flash[:notice] = 'Scientific name was successfully deleted.'
respond_with(@crop)
end
respond_to do |format|
format.html {
redirect_to @crop, notice: 'Scientific name was successfully deleted.'
}
format.json { head :no_content }
end
private
def scientific_name_params
params.require(:scientific_name).permit(:crop_id, :name)
end
end

View File

@@ -1,48 +1,25 @@
class SeedsController < ApplicationController
before_filter :authenticate_member!, :except => [:index, :show]
before_action :authenticate_member!, except: [:index, :show]
load_and_authorize_resource
cache_sweeper :seed_sweeper
respond_to :html, :json
respond_to :csv, only: :index
respond_to :rss, only: :index
# GET /seeds
# GET /seeds.json
def index
@owner = Member.find_by_slug(params[:owner])
@crop = Crop.find_by_slug(params[:crop])
if @owner
@seeds = @owner.seeds.includes(:owner, :crop).paginate(:page => params[:page])
elsif @crop
@seeds = @crop.seeds.includes(:owner, :crop).paginate(:page => params[:page])
else
@seeds = Seed.includes(:owner, :crop).paginate(:page => params[:page])
end
@owner = Member.find_by(slug: params[:owner])
@crop = Crop.find_by(slug: params[:crop])
@seeds = seeds(owner: @owner, crop: @crop)
@filename = csv_filename
respond_to do |format|
format.html # index.html.erb
format.json { render json: @seeds }
format.rss { render :layout => false } #index.rss.builder
format.csv do
if @owner
@filename = "Growstuff-#{@owner}-Seeds-#{Time.zone.now.to_s(:number)}.csv"
@seeds = @owner.seeds.includes(:owner, :crop)
else
@filename = "Growstuff-Seeds-#{Time.zone.now.to_s(:number)}.csv"
@seeds = Seed.includes(:owner, :crop)
end
render :csv => @seeds
end
end
respond_with(@seeds)
end
# GET /seeds/1
# GET /seeds/1.json
def show
@seed = Seed.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @seed }
end
respond_with(@seed)
end
# GET /seeds/new
@@ -51,61 +28,62 @@ class SeedsController < ApplicationController
@seed = Seed.new
# using find_by_id here because it returns nil, unlike find
@crop = Crop.find_by_id(params[:crop_id]) || Crop.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @seed }
end
@crop = Crop.find_or_initialize_by(id: params[:crop_id])
respond_with(@seed)
end
# GET /seeds/1/edit
def edit
@seed = Seed.find(params[:id])
end
# POST /seeds
# POST /seeds.json
def create
params[:seed][:owner_id] = current_member.id
@seed = Seed.new(params[:seed])
respond_to do |format|
if @seed.save
format.html { redirect_to @seed, notice: "Successfully added #{@seed.crop} seed to your stash." }
format.json { render json: @seed, status: :created, location: @seed }
else
format.html { render action: "new" }
format.json { render json: @seed.errors, status: :unprocessable_entity }
end
end
@seed = Seed.new(seed_params)
@seed.owner = current_member
flash[:notice] = "Successfully added #{@seed.crop} seed to your stash." if @seed.save
respond_with(@seed)
end
# PUT /seeds/1
# PUT /seeds/1.json
def update
@seed = Seed.find(params[:id])
respond_to do |format|
if @seed.update_attributes(params[:seed])
format.html { redirect_to @seed, notice: 'Seed was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @seed.errors, status: :unprocessable_entity }
end
end
flash[:notice] = 'Seed was successfully updated.' if @seed.update(seed_params)
respond_with(@seed)
end
# DELETE /seeds/1
# DELETE /seeds/1.json
def destroy
@seed = Seed.find(params[:id])
@seed.destroy
respond_with(@seed)
end
respond_to do |format|
format.html { redirect_to seeds_url }
format.json { head :no_content }
private
def seed_params
params.require(:seed).permit(
:crop_id, :description, :quantity, :plant_before,
:days_until_maturity_min, :days_until_maturity_max, :organic, :gmo,
:heirloom, :tradable_to, :slug
)
end
def seeds(owner: nil, crop: nil)
if owner
owner.seeds
elsif crop
crop.seeds
else
Seed
end.includes(:owner, :crop).paginate(page: params[:page])
end
def csv_filename
if @owner
"Growstuff-#{@owner}-Seeds-#{Time.zone.now.to_s(:number)}.csv"
else
"Growstuff-Seeds-#{Time.zone.now.to_s(:number)}.csv"
end
end
end

View File

@@ -0,0 +1,11 @@
class SessionsController < Devise::SessionsController
respond_to :json
def create
super do |resource|
if Crop.pending_approval.present? && current_member.role?(:crop_wrangler)
flash[:alert] = "There are crops waiting to be wrangled."
end
end
end
end

View File

@@ -1,2 +0,0 @@
class SupportController < ApplicationController
end

View File

@@ -1,28 +1,111 @@
module ApplicationHelper
def price_in_dollars(price)
return sprintf('%.2f', price / 100.0)
sprintf('%.2f', price / 100.0)
end
# 999 cents becomes 9.99 AUD -- for products/orders/etc
def price_with_currency(price)
return sprintf('%.2f %s', price / 100.0,
Growstuff::Application.config.currency)
sprintf('%.2f %s', price / 100.0, Growstuff::Application.config.currency)
end
def parse_date(str)
str ||= '' # Date.parse barfs on nil
return str == '' ? nil : Date.parse(str)
str == '' ? nil : Date.parse(str)
end
def forex_link(price)
pid = price_in_dollars(price)
currency = Growstuff::Application.config.currency
link = "http://www.wolframalpha.com/input/?i=#{pid}+#{currency}"
return link_to "(convert)",
link,
:target => "_blank"
end
link_to "(convert)", link, target: "_blank", rel: "noopener noreferrer"
end
def build_alert_classes(alert_type = :info)
classes = 'alert alert-dismissable '
case alert_type.to_sym
when :alert, :danger, :error, :validation_errors
classes += 'alert-danger'
when :warning, :todo
classes += 'alert-warning'
when :notice, :success
classes += 'alert-success'
when :info
classes += 'alert-info'
end
classes
end
# Produces a cache key for uniquely identifying cached fragments.
def cache_key_for(klass, identifier = "all")
count = klass.count
max_updated_at = klass.maximum(:updated_at).try(:utc).try(:to_s, :number)
"#{klass.name.downcase.pluralize}/#{identifier}-#{count}-#{max_updated_at}"
end
def required_field_help_text
asterisk = content_tag :span, '*', class: ['red']
text = content_tag :em, 'denotes a required field'
content_tag :div, asterisk + ' '.html_safe + text, class: ['margin-bottom']
end
#
# Returns an image uri for a given member.
#
# Falls back to Gravatar
#
def avatar_uri(member, size = 150)
if member.preferred_avatar_uri.present?
# Some avatars support different sizes
# http://graph.facebook.com/12345678/picture?width=150&height=150
uri = URI.parse(member.preferred_avatar_uri)
if uri.host == 'graph.facebook.com'
uri.query = "&width=#{size}&height=#{size}"
end
# TODO: Assess twitter - https://dev.twitter.com/overview/general/user-profile-images-and-banners
# TODO: Assess flickr - https://www.flickr.com/services/api/misc.buddyicons.html
return uri.to_s
end
Gravatar.new(member.email).image_url(size: size,
default: :identicon)
end
# Returns a string with the quantity and the right pluralization for a
# given collection and model.
def localize_plural(collection, model)
size = collection.size
model_name = model.model_name.human(count: size)
"#{size} #{model_name}"
end
def show_inactive_tickbox_path(type, owner, show_all)
all = show_all ? '' : 1
if owner
plantings_by_owner_path(owner: owner.slug, all: all) if type == 'plantings'
gardens_by_owner_path(owner: owner.slug, all: all) if type == 'gardens'
else
plantings_path(all: all) if type == 'plantings'
gardens_path(all: all) if type == 'gardens'
end
end
def title(type, owner, crop, planting)
if owner
t(".title.owner_#{type}", owner: owner.login_name)
elsif crop
t(".title.crop_#{type}", crop: crop.name)
elsif planting
t(".title.planting_#{type}", planting: planting.to_s)
else
t(".title.default")
end
end
def og_description(description)
strip_tags(description).split(' ')[0..20].join(' ')
end
end

View File

@@ -1,6 +1,5 @@
module AutoSuggestHelper
def auto_suggest(resource, source, options={})
def auto_suggest(resource, source, options = {})
if options[:default] && !options[:default].new_record?
default = options[:default]
default_id = options[:default].try(:id)
@@ -13,10 +12,14 @@ module AutoSuggestHelper
source_path = Rails.application.routes.url_helpers.send("#{source}s_search_path")
%Q{
<input id="#{source}" class="auto-suggest #{options[:class]}" type="text" value="#{default}" data-source-url="#{source_path}", placeholder="e.g. lettuce">
<noscript class="text-warning">Warning: Javascript must be available to search and match crops</noscript>
<input id="#{resource}_#{source}_id" class="auto-suggest-id" type="hidden" name="#{resource}[#{source}_id]" value="#{default_id}">
<input id="#{source}" class="auto-suggest #{options[:class]}"
type="text" value="#{default}" data-source-url="#{source_path}",
placeholder="e.g. lettuce">
<noscript class="text-warning">
Warning: Javascript must be available to search and match crops
</noscript>
<input id="#{resource}_#{source}_id" class="auto-suggest-id"
type="hidden" name="#{resource}[#{source}_id]" value="#{default_id}">
}.html_safe
end
end
end

View File

@@ -0,0 +1,25 @@
module CropsHelper
def display_seed_availability(member, crop)
total_quantity = 0
seeds = member.seeds.select { |seed| seed.crop.name == crop.name }
seeds.each do |seed|
total_quantity += seed.quantity if seed.quantity
end
if !seeds.any?
return "You don't have any seeds of this crop."
end
if total_quantity != 0
"You have #{total_quantity} #{Seed.model_name.human(count: total_quantity)} of this crop."
else
"You have an unknown quantity of seeds of this crop."
end
end
def crop_ebay_seeds_url(crop)
"http://rover.ebay.com/rover/1/705-53470-19255-0/1?icep_ff3=9&pub=5575213277&toolid=10001&campid=5337940151&customid=&icep_uq=#{URI.escape crop.name}&icep_sellerId=&icep_ex_kw=&icep_sortBy=12&icep_catId=181003&icep_minPrice=&icep_maxPrice=&ipn=psmain&icep_vectorid=229515&kwid=902099&mtid=824&kw=lg" # rubocop:disable Metrics/LineLength
end
end

View File

@@ -0,0 +1,35 @@
module GardensHelper
def display_garden_description(garden)
if garden.description.nil?
"no description provided."
else
truncate(garden.description, length: 130, separator: ' ', omission: '... ') do
link_to "Read more", garden_path(garden)
end
end
end
def gardens_active_tickbox_path(owner, show_all)
show_inactive_tickbox_path('gardens', owner, show_all)
end
def display_garden_name(garden)
truncate(garden.name, length: 50, separator: ' ', omission: '... ')
end
def display_garden_plantings(plantings)
if plantings.blank?
"None"
else
output = '<ul class="plantings">'
plantings.each do |planting|
output += "<li>"
output += planting.quantity.nil? ? "0 " : "#{planting.quantity} "
output += link_to planting.crop.name, planting.crop
output += ", planted on #{planting.planted_at}</li>"
end
output += '</ul>'
output.html_safe
end
end
end

View File

@@ -1,40 +1,34 @@
module HarvestsHelper
def display_quantity(harvest)
human_quantity = display_human_quantity(harvest)
weight = display_weight(harvest)
if human_quantity && weight
return "#{human_quantity}, weighing #{weight}"
elsif human_quantity
return human_quantity
elsif weight
return weight
else
return 'not specified'
end
return "#{human_quantity}, weighing #{weight}" if human_quantity && weight
return human_quantity if human_quantity
return weight if weight
'not specified'
end
def display_human_quantity(harvest)
if ! harvest.quantity.blank? && harvest.quantity > 0
if harvest.unit == 'individual' # just the number
number_to_human(harvest.quantity, :strip_insignificant_zeros => true)
elsif ! harvest.unit.blank? # pluralize anything else
return pluralize(number_to_human(harvest.quantity, :strip_insignificant_zeros => true), harvest.unit)
else
return "#{number_to_human(harvest.quantity, :strip_insignificant_zeros => true)} #{harvest.unit}"
end
return unless harvest.quantity.present? && harvest.quantity > 0
if harvest.unit == 'individual' # just the number
number_to_human(harvest.quantity, strip_insignificant_zeros: true)
elsif !harvest.unit.blank? # pluralize anything else
pluralize(number_to_human(harvest.quantity, strip_insignificant_zeros: true), harvest.unit)
else
return nil
"#{number_to_human(harvest.quantity, strip_insignificant_zeros: true)} #{harvest.unit}"
end
end
def display_weight(harvest)
if ! harvest.weight_quantity.blank? && harvest.weight_quantity > 0
return "#{number_to_human(harvest.weight_quantity, :strip_insignificant_zeros => true)} #{harvest.weight_unit}"
else
return nil
end
return if harvest.weight_quantity.blank? || harvest.weight_quantity <= 0
"#{number_to_human(harvest.weight_quantity, strip_insignificant_zeros: true)} #{harvest.weight_unit}"
end
def display_harvest_description(harvest)
return "No description provided." if harvest.description.nil?
harvest.description
end
end

View File

@@ -2,15 +2,10 @@ module NotificationsHelper
def reply_link(notification)
if notification.post
# comment on the post in question
new_comment_url(:post_id => notification.post.id)
new_comment_url(post_id: notification.post.id)
else
# by default, reply link sends a PM in return
new_notification_url(
:recipient_id => notification.sender.id,
:subject => notification.subject =~ /^Re: / ?
notification.subject :
"Re: " + notification.subject
)
reply_notification_url(notification)
end
end
end

View File

@@ -0,0 +1,47 @@
module PlantingsHelper
def display_days_before_maturity(planting)
# First try to calc from finished/finished_at
if planting.finished? || planting.finished_at.present?
planting.days_until_finished.to_s
# then try to calc from planted at + maturity
elsif planting.planted_at.present? && planting.days_before_maturity.present?
planting.days_until_mature.to_s
else
"unknown"
end
end
def display_finished(planting)
if !planting.finished_at.nil?
planting.finished_at
elsif planting.finished
"Yes (no date specified)"
else
"(no date specified)"
end
end
def display_planted_from(planting)
!planting.planted_from.blank? ? planting.planted_from : "not specified"
end
def display_planting_quantity(planting)
!planting.quantity.blank? ? planting.quantity : "not specified"
end
def display_planting(planting)
if planting.quantity.to_i > 0 && planting.planted_from.present?
"#{planting.owner} planted #{pluralize(planting.quantity, planting.planted_from)}."
elsif planting.quantity.to_i > 0
"#{planting.owner} planted #{pluralize(planting.quantity, 'unit')}."
elsif planting.planted_from.present?
"#{planting.owner} planted #{planting.planted_from.pluralize}."
else
"#{planting.owner}."
end
end
def plantings_active_tickbox_path(owner, show_all)
show_inactive_tickbox_path('plantings', owner, show_all)
end
end

View File

@@ -0,0 +1,9 @@
module SeedsHelper
def display_seed_description(seed)
if seed.description.nil?
"no description provided."
else
truncate(seed.description, length: 130, separator: ' ', omission: '... ') { link_to "Read more", seed_path(seed) }
end
end
end

Some files were not shown because too many files have changed in this diff Show More