mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-01 02:03:22 +00:00
Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork
This commit is contained in:
97
INSTALL.sh
97
INSTALL.sh
@@ -1,97 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
###########################
|
||||
# Linux install script #
|
||||
# ----------------------- #
|
||||
# Tested on Debian wheezy #
|
||||
###########################
|
||||
|
||||
echo 'Checking dependencies...'
|
||||
|
||||
# Rails is installed by bundler later
|
||||
#echo -n 'Rails 3.2.. '
|
||||
#if rails -v | grep -q 'Rails 3.2'; then
|
||||
# echo 'ok'
|
||||
#else
|
||||
# echo 'not found'
|
||||
# exit 1
|
||||
#fi
|
||||
|
||||
echo -n 'Ruby 1.9.3.. '
|
||||
revision=$(ruby -v | grep -E -o '^ruby 1\.9\.([0-9]+)' | cut -d . -f 3)
|
||||
if [ "$revision" -gt 2 ]; then
|
||||
echo 'ok'
|
||||
else
|
||||
echo 'not found'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -n 'PostgreSQL.. '
|
||||
if psql -? > /dev/null 2>&1; then
|
||||
echo 'ok'
|
||||
else
|
||||
echo 'not found'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
psqlCreateCommands="
|
||||
createuser -s ofn
|
||||
psql postgres -c \"ALTER USER ofn WITH ENCRYPTED PASSWORD 'f00d'\"
|
||||
createdb -O ofn open_food_network_dev
|
||||
createdb -O ofn open_food_network_test
|
||||
createdb -O ofn open_food_network_prod
|
||||
"
|
||||
PGPASSFILE=$(mktemp)
|
||||
echo ''
|
||||
echo -n 'Checking PostgreSQL database.. '
|
||||
echo 'localhost:5432:open_food_network_dev:ofn:f00d1' > $PGPASSFILE
|
||||
export PGPASSFILE
|
||||
if psql -w -U ofn open_food_network_dev -c 'select 1' > /dev/null 2>&1; then
|
||||
echo 'ok'
|
||||
else
|
||||
echo 'no access'
|
||||
echo ''
|
||||
echo 'Database needs setup. Try automatic setup with sudo? [yes]'
|
||||
read autosetup
|
||||
if [ -z "$autosetup" ] || [ "$autosetup" = "yes" ]; then
|
||||
if sudo su postgres -c "$psqlCreateCommands"; then
|
||||
echo 'User and databases created.'
|
||||
else
|
||||
echo 'Failed to create user and databases.'
|
||||
autosetup='no'
|
||||
fi
|
||||
else
|
||||
autosetup='no'
|
||||
fi
|
||||
if [ "$autosetup" = 'no' ]; then
|
||||
echo ''
|
||||
echo 'Execute the following commands as database admin user (e.g. postgres):'
|
||||
echo "$psqlCreateCommands"
|
||||
rm "$PGPASSFILE"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
rm "$PGPASSFILE"
|
||||
|
||||
echo ''
|
||||
echo 'Installing all gems. That can take a while.'
|
||||
bundle install
|
||||
|
||||
echo ''
|
||||
echo 'Seeding database..'
|
||||
bundle exec rake db:schema:load db:seed
|
||||
echo 'Skipping sample data (out of date)'
|
||||
#bundle exec rake openfoodnetwork:dev:load_sample_data
|
||||
echo 'You can run `rails server` now to start.'
|
||||
|
||||
echo ''
|
||||
echo 'Executing tests..'
|
||||
bundle exec rake db:test:load
|
||||
bundle exec rspec spec
|
||||
|
||||
if [ "$?" -eq 0 ]; then
|
||||
echo ''
|
||||
echo 'All done.'
|
||||
echo 'You can run `rails server` now.'
|
||||
fi
|
||||
@@ -11,6 +11,7 @@
|
||||
#= require lodash.underscore.js
|
||||
#= require angular-scroll.min.js
|
||||
#= require angular-google-maps.min.js
|
||||
#= require angular-timer.min.js
|
||||
#= require ../shared/mm-foundation-tpls-0.2.2.min.js
|
||||
#= require ../shared/bindonce.min.js
|
||||
#= require ../shared/ng-infinite-scroll.min.js
|
||||
|
||||
@@ -5,6 +5,7 @@ window.Darkswarm = angular.module("Darkswarm", ["ngResource",
|
||||
'infinite-scroll',
|
||||
'angular-flash.service',
|
||||
'templates',
|
||||
'timer',
|
||||
'ngSanitize',
|
||||
'google-maps',
|
||||
'duScroll',
|
||||
|
||||
@@ -7,19 +7,24 @@
|
||||
background-color: black
|
||||
background-image: url("/assets/home/tagline-bg.jpg")
|
||||
@include fullbg
|
||||
height: 400px
|
||||
height: 500px
|
||||
padding: 40px 0px
|
||||
h1, h2, p
|
||||
h1, h2, span, small, timer
|
||||
color: white
|
||||
p
|
||||
color: $clr-brick-light
|
||||
h1
|
||||
margin-bottom: 1em
|
||||
margin-bottom: 3rem
|
||||
h2
|
||||
font-size: 1.6875rem
|
||||
max-width: 610px
|
||||
margin: 0 auto
|
||||
padding-bottom: 0.5rem
|
||||
|
||||
a
|
||||
color: $clr-brick-bright
|
||||
&:hover, &:active, &:focus
|
||||
color: $clr-brick-light-bright
|
||||
@include textsoftpress
|
||||
@include textsoftpress
|
||||
a.button.primary
|
||||
color: white
|
||||
@@ -2,10 +2,16 @@
|
||||
.row
|
||||
.small-12.text-center.columns
|
||||
%h1= image_tag "ofn_logo_beta.png", title: "Open Food Network (beta)"
|
||||
%h2 An open marketplace that makes it easy to find, buy, sell and move sustainable local food.
|
||||
|
||||
%ofn-modal{title: "Learn more"}
|
||||
= render partial: "modals/learn_more"
|
||||
%h2 We're crowdfunding right now!
|
||||
%h5
|
||||
%timer{"end-time" => '1407679200000'}
|
||||
{{days}} days, {{hours}} hrs, {{minutes}} mins & {{seconds}} secs to go
|
||||
%p Help us make Open Food Network the best it can be:
|
||||
%a.button.primary{href: "http://startsomegood.com/openfoodnetwork", target:"_blank"} Support now
|
||||
/ %h2 An open marketplace that makes it easy to find, buy, sell and move sustainable local food.
|
||||
%br
|
||||
%ofn-modal{title: "Learn more"}
|
||||
= render partial: "modals/learn_more"
|
||||
|
||||
= render partial: "home/hubs"
|
||||
|
||||
|
||||
8
vendor/assets/javascripts/angular-timer.min.js
vendored
Executable file
8
vendor/assets/javascripts/angular-timer.min.js
vendored
Executable file
@@ -0,0 +1,8 @@
|
||||
/**
|
||||
* angular-timer - v1.1.6 - 2014-07-01 7:37 AM
|
||||
* https://github.com/siddii/angular-timer
|
||||
*
|
||||
* Copyright (c) 2014 Siddique Hameed
|
||||
* Licensed MIT <https://github.com/siddii/angular-timer/blob/master/LICENSE.txt>
|
||||
*/
|
||||
var timerModule=angular.module("timer",[]).directive("timer",["$compile",function(a){return{restrict:"EAC",replace:!1,scope:{interval:"=interval",startTimeAttr:"=startTime",endTimeAttr:"=endTime",countdownattr:"=countdown",finishCallback:"&finishCallback",autoStart:"&autoStart",maxTimeUnit:"="},controller:["$scope","$element","$attrs","$timeout",function(b,c,d,e){function f(){b.timeoutId&&clearTimeout(b.timeoutId)}function g(){b.maxTimeUnit&&"day"!==b.maxTimeUnit?"second"===b.maxTimeUnit?(b.seconds=Math.floor(b.millis/1e3),b.minutes=0,b.hours=0,b.days=0,b.months=0,b.years=0):"minute"===b.maxTimeUnit?(b.seconds=Math.floor(b.millis/1e3%60),b.minutes=Math.floor(b.millis/6e4),b.hours=0,b.days=0,b.months=0,b.years=0):"hour"===b.maxTimeUnit?(b.seconds=Math.floor(b.millis/1e3%60),b.minutes=Math.floor(b.millis/6e4%60),b.hours=Math.floor(b.millis/36e5),b.days=0,b.months=0,b.years=0):"month"===b.maxTimeUnit?(b.seconds=Math.floor(b.millis/1e3%60),b.minutes=Math.floor(b.millis/6e4%60),b.hours=Math.floor(b.millis/36e5%24),b.days=Math.floor(b.millis/36e5/24%30),b.months=Math.floor(b.millis/36e5/24/30),b.years=0):"year"===b.maxTimeUnit&&(b.seconds=Math.floor(b.millis/1e3%60),b.minutes=Math.floor(b.millis/6e4%60),b.hours=Math.floor(b.millis/36e5%24),b.days=Math.floor(b.millis/36e5/24%30),b.months=Math.floor(b.millis/36e5/24/30%12),b.years=Math.floor(b.millis/36e5/24/365)):(b.seconds=Math.floor(b.millis/1e3%60),b.minutes=Math.floor(b.millis/6e4%60),b.hours=Math.floor(b.millis/36e5%24),b.days=Math.floor(b.millis/36e5/24),b.months=0,b.years=0),b.secondsS=1==b.seconds?"":"s",b.minutesS=1==b.minutes?"":"s",b.hoursS=1==b.hours?"":"s",b.daysS=1==b.days?"":"s",b.monthsS=1==b.months?"":"s",b.yearsS=1==b.years?"":"s",b.sseconds=b.seconds<10?"0"+b.seconds:b.seconds,b.mminutes=b.minutes<10?"0"+b.minutes:b.minutes,b.hhours=b.hours<10?"0"+b.hours:b.hours,b.ddays=b.days<10?"0"+b.days:b.days,b.mmonths=b.months<10?"0"+b.months:b.months,b.yyears=b.years<10?"0"+b.years:b.years}"function"!=typeof String.prototype.trim&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),b.autoStart=d.autoStart||d.autostart,c.append(0===c.html().trim().length?a("<span>{{millis}}</span>")(b):a(c.contents())(b)),b.startTime=null,b.endTime=null,b.timeoutId=null,b.countdown=b.countdownattr&&parseInt(b.countdownattr,10)>=0?parseInt(b.countdownattr,10):void 0,b.isRunning=!1,b.$on("timer-start",function(){b.start()}),b.$on("timer-resume",function(){b.resume()}),b.$on("timer-stop",function(){b.stop()}),b.$on("timer-clear",function(){b.clear()}),b.$on("timer-set-countdown",function(a,c){b.countdown=c}),b.start=c[0].start=function(){b.startTime=b.startTimeAttr?new Date(b.startTimeAttr):new Date,b.endTime=b.endTimeAttr?new Date(b.endTimeAttr):null,b.countdown||(b.countdown=b.countdownattr&&parseInt(b.countdownattr,10)>0?parseInt(b.countdownattr,10):void 0),f(),h(),b.isRunning=!0},b.resume=c[0].resume=function(){f(),b.countdownattr&&(b.countdown+=1),b.startTime=new Date-(b.stoppedTime-b.startTime),h(),b.isRunning=!0},b.stop=b.pause=c[0].stop=c[0].pause=function(){var a=b.timeoutId;b.clear(),b.$emit("timer-stopped",{timeoutId:a,millis:b.millis,seconds:b.seconds,minutes:b.minutes,hours:b.hours,days:b.days})},b.clear=c[0].clear=function(){b.stoppedTime=new Date,f(),b.timeoutId=null,b.isRunning=!1},c.bind("$destroy",function(){f(),b.isRunning=!1}),b.countdownattr?(b.millis=1e3*b.countdownattr,b.addCDSeconds=c[0].addCDSeconds=function(a){b.countdown+=a,b.$digest(),b.isRunning||b.start()},b.$on("timer-add-cd-seconds",function(a,c){e(function(){b.addCDSeconds(c)})}),b.$on("timer-set-countdown-seconds",function(a,c){b.isRunning||b.clear(),b.countdown=c,b.millis=1e3*c,g()})):b.millis=0,g();var h=function(){b.millis=new Date-b.startTime;var a=b.millis%1e3;return b.endTimeAttr&&(b.millis=b.endTime-new Date,a=b.interval-b.millis%1e3),b.countdownattr&&(b.millis=1e3*b.countdown),b.millis<0?(b.stop(),b.millis=0,g(),void(b.finishCallback&&b.$eval(b.finishCallback))):(g(),b.timeoutId=setTimeout(function(){h(),b.$digest()},b.interval-a),b.$emit("timer-tick",{timeoutId:b.timeoutId,millis:b.millis}),void(b.countdown>0?b.countdown--:b.countdown<=0&&(b.stop(),b.finishCallback&&b.$eval(b.finishCallback))))};(void 0===b.autoStart||b.autoStart===!0)&&b.start()}]}}]);"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports=timerModule);
|
||||
Reference in New Issue
Block a user