Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
256 commits
Select commit Hold shift + click to select a range
eba8aa6
Jun 26, 2007
a209c6b
- Fixed the back button on the admin/product/show rhtml
Jun 26, 2007
1e81a02
- Added a simple functional test for store/order_controller
Jun 26, 2007
c2aa307
- mailer test patch from Jamie Hardt applied.
Jun 27, 2007
86af2b2
Credit card info filtered from log
Jun 27, 2007
4b69555
minor fix in sales statistics sql query
Jun 27, 2007
64b4396
- Fixed admin page dashboard statistics
Jul 9, 2007
bb7cb8e
Jul 9, 2007
6aab736
Jul 9, 2007
eefa5f3
- Looked into having Google Analytics support for Google Checkout, bu…
Jul 10, 2007
87378c2
Jul 10, 2007
0b348fa
workaround for image_tag url modifying bug in new.rhtml for order
Jul 10, 2007
5bf612f
updated todo list
Jul 10, 2007
1f94411
moved admin order find to index method
Jul 13, 2007
02767ec
- Access keys 1, 2, 3, 4, 5, and F added to the admin menu
Jul 17, 2007
44ab870
graphing patch by Jamie Hardt applied
Jul 18, 2007
20cba83
orders with null comments no longer marked on the admin order list
Jul 27, 2007
b7f434d
added some help related to paypal api certificates
Aug 31, 2007
66622cf
updated payment type icon images
Sep 7, 2007
49fca00
Updated to jQuery 1.1.4
Sep 7, 2007
5e28369
Auto-selects credit card type as credit card number is typed in
Sep 7, 2007
5fac874
Credit card expiration date fields improved
Sep 7, 2007
001e60e
Don't show inactive products when adding a new order through the admi…
Sep 9, 2007
ce7c5aa
Fixed the Safari address autofill problem
Sep 9, 2007
6baf5c6
Pagination within order search results works now
Sep 10, 2007
16f9a9e
Got revenue charts working with Open Flash Charts
Sep 10, 2007
b1bb08b
Improved admin reports
Sep 11, 2007
20d5fca
Fixed some bugs that happen when there are no orders
Sep 11, 2007
f1683db
Some tweaks
Sep 11, 2007
04fb799
fixed bugs
Sep 11, 2007
d48b1b6
fixed bugs
Sep 11, 2007
d518991
bug fix with cc expiration
Sep 11, 2007
0f17b54
bug fix
Sep 11, 2007
ae8714a
another bug fix... yarg
Sep 11, 2007
2e0b99f
bug fix for percentage when revenue total is 0
Sep 11, 2007
58e2eae
Better labels for admin add coupons page
Sep 30, 2007
385a499
refactored coupon expiration condition
Sep 30, 2007
70802f1
modified admin forms to use some resource shortcuts
Sep 30, 2007
833c88a
Added Google Checkout instructions
Oct 2, 2007
b311512
Optional form fields are labeled with a value
Oct 10, 2007
0674724
shortcut key for admin order search changed to control-S
Oct 10, 2007
a30e11e
list subscription bug fixed
Oct 10, 2007
5bd5184
Fixed a bug in failed.rhtml template
Oct 22, 2007
5f9219b
Don't allow duplicate mailing list subscriptions
Oct 22, 2007
9368337
If optional fields have 'optional' as value even when submitted, chan…
Oct 22, 2007
4601dd6
Recognize the SuccessWithWarning and FailureWithWarning statuses from…
Oct 24, 2007
d0d6906
Bug fix on order saving
Oct 25, 2007
089cf37
Slight modification to thank you email telling customer to save the d…
Oct 31, 2007
b07535f
Fixed minor Google Checkout bug in notification code
Nov 11, 2007
39abbb2
Currency rounding for order and line_item model objects
Nov 22, 2007
6437b3b
syntax error fix
Nov 22, 2007
1d3b846
Require completely alpha-numeric licensee names to be at least 8 char…
Nov 26, 2007
7e1e555
Fixed address field not getting filled in on order errors
Nov 26, 2007
74b3e33
Removed ChangeLog
Nov 26, 2007
d3a49c0
Modified instructions and configurations for easier PayPal setup
Dec 4, 2007
575e52a
Admin order edit improved
Dec 11, 2007
59c2c7e
Bug fix in previous commit
Dec 11, 2007
5f9ef2d
Brian's Rails 2 patch applied
Jan 9, 2008
ac601d2
Label tag added for Name on License field
Jan 9, 2008
cf64dee
optional string taken out even on non-completed orders
Jan 9, 2008
cd7190f
Insert dash into japanese zipcode if it's not already there
Jan 9, 2008
1c2ec9c
More countries added to CC checkout
Jan 9, 2008
0a7c11a
Migrated to Google4r 1.0.2
Jan 13, 2008
2201be9
* Google Checkout notifications are authenticated now
Jan 13, 2008
9bea57c
Typo fix
Jan 13, 2008
3d2fa42
Put back in the session key configuration
Jan 13, 2008
fe4a4c8
Take care of leading zeroes in quantity field
Feb 14, 2008
c5d6007
Focus on the username field when loading the login page
Feb 29, 2008
92a6bb0
Fixed a bug with previous commit
Mar 1, 2008
d7b1e0e
Do the credit card order check case insensitively
Mar 3, 2008
541d541
Slight modification to README
Mar 11, 2008
ceaabd2
Small changes to readme and license
Mar 11, 2008
a3a0fab
Accept float quantity by rounding up
Mar 18, 2008
3c62ee8
Fixed @ next to price
Mar 18, 2008
9a9d673
Minor semi-colon in javascript of admin login page
Mar 18, 2008
74f4fb7
Added instruction to change the session store secret
Mar 20, 2008
d1c1a89
Order search wasn't properly searching in licensee names
May 13, 2008
97c741d
Force an order's payment type to be the proper case for submitting to…
May 13, 2008
7687177
Initial changes for Rails 2.1 compatibility
Jun 27, 2008
28ef2b9
Fixed some bugs that broke editing orders in the admin interface with…
Jun 27, 2008
4f66bca
Don't show inactive products in order edit form if the order doesn't …
Jun 27, 2008
7f26b4f
Admin order edit form wasn't setting a license key to a product added…
Jun 27, 2008
b82d776
Order searching in admin interface broke with PostgreSQL 8.3. Fixed.
Jun 30, 2008
a8ce863
Case insensitive match of email in lost license controller
Jun 30, 2008
ec7e600
Eh... didn't quite get the admin order search query right on postgres…
Jun 30, 2008
7bbc386
- Made the Order model save the updated relationship objects during save
Jul 2, 2008
0559562
- Check for nil order in the session
Jul 2, 2008
020d4db
- Check for nil order in the session
Jul 2, 2008
7edd589
Merge branch 'master' of hiro:/git/potionstore
Jul 2, 2008
e4abca4
Slight modification to last commit
Jul 2, 2008
c15e004
Make ssl redirect a configuration and redirect to ssl the admin side …
Jul 3, 2008
94bc328
Change copyright to 2008
Jul 3, 2008
ca62523
Rename is_live function to is_live? to fit ruby name convention better
Jul 3, 2008
ad9ae35
Remove trailing whitespaces
Jul 3, 2008
24e362d
Turn on PayPal wiredump by default in development environment
Jul 9, 2008
dd2e986
MySQL fix of sales chart queries
Jul 27, 2008
ba4572d
Localside Javascript validation of credit card number and email addre…
Aug 11, 2008
3e95f1b
Don't log admin password
Aug 12, 2008
6b710db
Add mysql configuration to database.yml
Sep 23, 2008
2f1af1a
Remove a left-over debugger call from an error condition in Google Ch…
Oct 28, 2008
ca5a739
Strip first name, last name, and licensee name before saving to db
Dec 16, 2008
d4e4e22
Initial modifications for supporting PotionStoreFront
Jul 28, 2008
ffe282d
Process orders coming in through JSON
Dec 18, 2008
a788328
Updated to Rails 2.2.2
Dec 17, 2008
d952b84
Don't save entire order into session, just save the order id
Dec 17, 2008
9025f70
Fixed routes so that store/order and admin/orders resource don't conf…
Dec 17, 2008
929118b
Refactored out country mapping into a YML file and fixed some url hel…
Dec 18, 2008
bcc31d8
A lot of code cleanup
Dec 18, 2008
cfd10f8
Show prices padded by the correct number of zeroes in the index page
Dec 18, 2008
bbff3ac
Using .blank? more
Dec 18, 2008
583eb49
Add comment to countries.yml file
Dec 18, 2008
76c87f9
Fix bug when sending email receipt
Jan 7, 2009
53feb44
Fix bug where subject got the asterisk when the order doesn't have a …
Jan 7, 2009
0793e0a
Updated exception notification plugin to work with updated Rails
Jan 7, 2009
500f3c5
Make PayPal work without saving entire order to session
Jan 8, 2009
ef9e057
Fixed bug where you couldn't update an order
Jan 8, 2009
2e7baac
Fixed Google Checkout orders sending out thank you emails twice. Also…
Jan 28, 2009
021b1c6
Reject licensee name shorter than 8 characters again properly
Feb 11, 2009
2b0bd6f
Require zipcode (postal code) for Japanese addresses
Feb 11, 2009
4de79ae
Accept subject in support request emailer
Feb 18, 2009
4ac4e49
Slight improvement to the support request subject
Feb 18, 2009
b0e5d85
Don't show orders with the new status 'S' in admin interface's order …
Feb 21, 2009
b69da25
The hash to initialize the LineItem could cause shadow exceptions
jessy Mar 3, 2009
8ecb77d
Load jQuery from Google for better caching performance
Mar 26, 2009
7739c91
Loading jquery.validate.js separate from local site now that jQuery i…
Mar 26, 2009
de5aad9
Exclude the subject from being included in the body of the support re…
Apr 9, 2009
961859d
Option to not send lost license sent notification email
Apr 18, 2009
d0e4a09
Properly change the license key when licensee name changes in the adm…
May 1, 2009
97f4a94
Fixed up instructions to match the current PayPal site
May 6, 2009
782664f
Issue 22 fix:Absolute URLS for images/stylesheets
mcormier May 18, 2009
86efb89
Load JQuery through https so that Firefox doesn't complain about the …
May 21, 2009
ff5e5be
Get the parsed first and last names when getting a Google Checkout no…
May 21, 2009
5c73102
Issue 23: Error messages should be page specific
mcormier May 28, 2009
5d863c1
applying Andy's recommended changes.
mcormier Jun 7, 2009
8cbcd4e
Fixed country codes for China and Norway
Jul 1, 2009
b37a156
Updated PayPal SSL certificate
Sep 26, 2009
7bdbd49
Merge branch 'master' of hiro:/git/potionstore
Sep 26, 2009
10fb5a7
Sanitized output on lost license page to prevent XSS attacks.
nickoneill Aug 6, 2010
2677e24
Updates to bring Potion Store in line with Rails 2.3.10. The most not…
hemancuso Oct 20, 2010
5638d57
Freeze in Rails 2.3.10
hemancuso Oct 20, 2010
d5f7324
Update to the latest version of Google Analtyics tracking code
hemancuso Oct 20, 2010
08aac83
Update the raw SQL queries for admin chartin and revenue to work corr…
hemancuso Oct 21, 2010
3ed0c32
Using the .rhtml extension got deprecated in 2007 and will no longer …
hemancuso Oct 22, 2010
bf38570
updated gitignore
hemancuso Dec 7, 2010
9f37247
Updated dummy copyright year to 2011
Jan 6, 2011
4c916c7
Fixed an off by a pixel error with the credit card security code image
Jan 6, 2011
6c924e0
Modified receipt to vertical align the payment information to the top
Jan 6, 2011
5551200
Merge branch 'master' of https://github.com/mcormier/potionstore into…
Jan 6, 2011
da22add
Fixed some test cases
Jan 8, 2011
c12eee6
Fixed order id being saved into the session at the wrong time before …
Jan 9, 2011
f84e6ad
Added a UID column to the orders table and use that to check for doub…
Jan 9, 2011
395807b
Fixed a deprecation warning in configuration
Jan 10, 2011
825280e
Fixed encoding of countries.yml file to utf-8
Jan 10, 2011
1745550
Fixed an image in the store layout not getting the correct css class
Jan 10, 2011
da9914b
Clicking on credit card images no longer works, removed code that tri…
Jan 10, 2011
822cc40
Took out an inlined style attribute and put it in the css file
Jan 10, 2011
137b51b
Removed bug where credit card radio button was still showing up
Jan 11, 2011
a404837
Move more styles into the CSS
Jan 11, 2011
6726b2a
Added ruby-paypal library
Jan 9, 2011
524851e
Use PayPal's NVP API instead of the god-awful SOAP one
Jan 11, 2011
59fc723
Added a total column to orders table to make report generation much s…
Jan 12, 2011
d8767df
Recalculate the order total after adding items to it or after adding …
Jan 12, 2011
b39a47f
You can now refund orders through the admin interface
Jan 13, 2011
2b19f32
Merge pull request #1 from expandrive/master
May 31, 2011
56c78cb
Merge branch 'master' of github.com:potionfactory/potionstore
May 31, 2011
4764fe7
Fixed a report not reporting the correct total when an order contains…
Jun 4, 2011
6215c45
Upgraded to Rails 3
remear Nov 22, 2011
f6d1931
Used foreigner gem for database foreign keys
remear Nov 27, 2011
e9a9bcb
Fixed routes
remear Nov 27, 2011
d71c004
Changed content_for to yield
remear Nov 27, 2011
e1478cf
Disabled ssl redirect and authentication check for now
remear Nov 27, 2011
092923c
Attempt to fix routes since the rails upgrade plugin obviously was ep…
remear Nov 28, 2011
d0391ac
Disable SSL redirect in orders for now
remear Nov 28, 2011
49e5cd3
Added uuidtools gem
remear Jan 7, 2012
da0df0c
Use Rails 3 style closing tags
remear Jan 7, 2012
f4f8409
Remove frozen Rails version
remear Jan 7, 2012
7eb097c
Fixed paypal.yml config eval
remear Jan 7, 2012
55bdeb4
Changed unique_id calls to use uuid
remear Jan 7, 2012
7f4afd2
Fixed more routes
remear Jan 7, 2012
2482591
Updated README with Rails 3 requirement information
remear Jan 7, 2012
554b63e
link_to_remote converted to Rails 3 link_to :remote => true
Jan 7, 2012
2b1cc29
Replaced link_to_remote with Rails 3 link_to remote: true
Jan 7, 2012
0d27c14
Deprecation warnings have been resolved.
Jan 7, 2012
481b4f0
Merge branch 'master' of https://github.com/remear/potionstore
remear Jan 7, 2012
02815d5
Upgraded to Rails 3.2.2 and compatible gems
remear Mar 5, 2012
390e814
verify is no longer part of Rails 3
remear Mar 5, 2012
81615ff
Fixed references to RAILS_ROOT
remear Mar 5, 2012
cebd317
html_safe order failure reason
remear Mar 5, 2012
616f747
debug_rjs is no longer part of Rails 3
remear Mar 5, 2012
9dad8bf
Reenable order SSL redirect
remear Mar 6, 2012
c02fc24
request.request_uri no longer exists in Rails 3. Use request.url
remear Mar 6, 2012
ddd6db0
Fixed admin order view date formatting
remear Mar 6, 2012
9da6edb
Updated README
remear Mar 6, 2012
3145e4c
Initial new coupon structure
remear Mar 13, 2012
011fb2e
Configuring for beta deployment to heroku
remear Mar 13, 2012
bdf9dd1
Removed old exception_notification plugin
remear Mar 15, 2012
2af88f9
local_request? is no longer part of Rails 3. Use request.local?
remear Mar 15, 2012
f1dc366
More cocoatech-specific configuration for heroku
remear Mar 15, 2012
086bb4c
Turn of stylesheet caching for heroku deployment
remear Mar 16, 2012
100f95c
Fixed broken product drop down in new coupon form
remear Mar 20, 2012
6ef8598
Check for nil when checking for enabled?
remear Mar 21, 2012
23975c0
Call html_safe on flash chart code
remear Mar 21, 2012
25fdba2
Fixed blank coupon field check
remear Mar 22, 2012
662498a
Added product column to coupon list and sorted by product
remear Mar 22, 2012
5a62338
Use more strict SQL so postgresql is happy
remear Mar 22, 2012
96dae39
Use more strict SQL so postgresql is happy
remear Mar 22, 2012
105823a
Removed prototype.js. Use gem jquery-rails. Move store.js to asset pi…
remear Mar 27, 2012
ca60959
Moved images and stylesheets to asset pipeline
remear Mar 27, 2012
2b25569
Revert paypal.rb to respect Rails.env
remear Mar 27, 2012
d7bce07
Require jquery.validate.min
remear Mar 27, 2012
1120c33
Enable asset pipeline
remear Mar 27, 2012
c6b8d76
Rename unique_id to uuid to provide uniformity
remear Mar 27, 2012
618c44c
Increase uuid column limit to 36
remear Mar 27, 2012
f6050dc
Require application javascript in store layout
remear Mar 27, 2012
92a69ce
Fixed hidden_field_tag for coupon code
remear Mar 27, 2012
ba4cb3f
Use asset pipeline
remear Mar 29, 2012
64c2153
Fixed setting coupon expiration_date
remear Mar 29, 2012
1ff5d9f
Fixed migrations
remear Mar 29, 2012
3767158
Load application javascript in admin layout
remear Mar 29, 2012
ab56d16
Don't show time until expiration_date if coupon is expired
remear Mar 29, 2012
7513b6b
Remove token debug log statement
remear Mar 29, 2012
e7a47d3
Use uuid in paypal.rb
remear Mar 29, 2012
51f37f5
Use uuid in order purchase method
remear Mar 29, 2012
8965e29
Use unique identifier to avoid invoice id collisions
remear Mar 29, 2012
8078552
Add coupon as a line item and correctly round amounts so line item to…
remear Mar 29, 2012
e9735b1
Added precompiled assets
remear Mar 29, 2012
c6c39bb
Precompile all js and css files
remear Mar 29, 2012
3ef8853
Added additional precompiled assets
remear Mar 29, 2012
1060b61
Only add a coupon as a line item if a coupon was used
remear Mar 29, 2012
7ff40f9
Fixed 404 stylesheet path
remear Mar 29, 2012
6a5f4ec
Fixed error 500 stylesheet path
remear Mar 29, 2012
de1c418
Allow non-expiring coupons
remear Mar 30, 2012
a10f437
Fixed PayPal express checkout
remear Mar 30, 2012
9ee3f5d
Call html_save on copyright notice
remear Mar 30, 2012
7d36e01
Fixed Google Checkout compatibility
remear Mar 31, 2012
81abe71
Increment coupon use count only if a coupon is used
remear Mar 31, 2012
8b18341
Added configuration instructions to README
remear May 22, 2012
3e7565e
NO should be a string so it's not evaluated to a boolean by yaml
remear May 22, 2012
f024a1b
Updated mailers to Rails 3
remear May 22, 2012
8f37a43
Remove default field value from coupon use_limit
remear May 22, 2012
8acdb84
Link to coupon on index view should say Show
remear May 22, 2012
22912fb
Fixed routes for lost licenses and google checkout
remear May 22, 2012
b501816
Added exception_notification initializer
remear May 22, 2012
276dd15
Fixed mailer templates
remear May 22, 2012
43476d0
Ignore payment config files
remear May 22, 2012
9ff260d
Use mysql by default
remear May 22, 2012
fd54fc4
Payment form fixes
remear May 22, 2012
3426e2b
Updated Gemfile.lock
remear May 22, 2012
2a2cdb2
Remove micropayment parameter
remear May 22, 2012
6cf9b09
Fixed order status th class
remear May 22, 2012
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
db/schema.rb
log
tmp
**DS_Store
config/google_checkout.yml
config/paypal.yml
22 changes: 22 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
source 'http://rubygems.org'

gem 'rails', '3.2.2'
gem 'foreigner'
gem "google4r-checkout", :git => 'https://github.com/nbudin/google4r-checkout.git'
gem "money", "~> 4.0.1"
gem 'mysql2', '~> 0.3.0'
gem 'uuidtools'
gem "xml-simple", "~> 1.1.1"
gem 'will_paginate'
gem 'dynamic_form'
gem "exception_notification", "~> 2.5.2", :require => 'exception_notifier'
gem 'jquery-rails', '>= 1.0.12'

#gem 'heroku'
#gem 'pg'

group :assets do
gem 'sass-rails'
gem 'coffee-rails'
gem 'uglifier'
end
137 changes: 137 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
GIT
remote: https://github.com/nbudin/google4r-checkout.git
revision: 46d0823fd220480d971bb95f75cbc0e6ed238d07
specs:
google4r-checkout (1.1.1)
money (>= 2.3.0)

GEM
remote: http://rubygems.org/
specs:
actionmailer (3.2.2)
actionpack (= 3.2.2)
mail (~> 2.4.0)
actionpack (3.2.2)
activemodel (= 3.2.2)
activesupport (= 3.2.2)
builder (~> 3.0.0)
erubis (~> 2.7.0)
journey (~> 1.0.1)
rack (~> 1.4.0)
rack-cache (~> 1.1)
rack-test (~> 0.6.1)
sprockets (~> 2.1.2)
activemodel (3.2.2)
activesupport (= 3.2.2)
builder (~> 3.0.0)
activerecord (3.2.2)
activemodel (= 3.2.2)
activesupport (= 3.2.2)
arel (~> 3.0.2)
tzinfo (~> 0.3.29)
activeresource (3.2.2)
activemodel (= 3.2.2)
activesupport (= 3.2.2)
activesupport (3.2.2)
i18n (~> 0.6)
multi_json (~> 1.0)
arel (3.0.2)
builder (3.0.0)
coffee-rails (3.2.2)
coffee-script (>= 2.2.0)
railties (~> 3.2.0)
coffee-script (2.2.0)
coffee-script-source
execjs
coffee-script-source (1.2.0)
dynamic_form (1.1.4)
erubis (2.7.0)
exception_notification (2.5.2)
actionmailer (>= 3.0.4)
execjs (1.3.0)
multi_json (~> 1.0)
foreigner (1.1.5)
activerecord (>= 3.0.0)
hike (1.2.1)
i18n (0.6.0)
journey (1.0.3)
jquery-rails (2.0.1)
railties (>= 3.2.0, < 5.0)
thor (~> 0.14)
json (1.6.6)
mail (2.4.4)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.18)
money (4.0.2)
i18n (~> 0.4)
json
multi_json (1.2.0)
mysql2 (0.3.11)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.2)
rack (>= 0.4)
rack-ssl (1.3.2)
rack
rack-test (0.6.1)
rack (>= 1.0)
rails (3.2.2)
actionmailer (= 3.2.2)
actionpack (= 3.2.2)
activerecord (= 3.2.2)
activeresource (= 3.2.2)
activesupport (= 3.2.2)
bundler (~> 1.0)
railties (= 3.2.2)
railties (3.2.2)
actionpack (= 3.2.2)
activesupport (= 3.2.2)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (~> 0.14.6)
rake (0.9.2.2)
rdoc (3.12)
json (~> 1.4)
sass (3.1.15)
sass-rails (3.2.5)
railties (~> 3.2.0)
sass (>= 3.1.10)
tilt (~> 1.3)
sprockets (2.1.2)
hike (~> 1.2)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.32)
uglifier (1.2.4)
execjs (>= 0.3.0)
multi_json (>= 1.0.2)
uuidtools (2.1.2)
will_paginate (3.0.3)
xml-simple (1.1.1)

PLATFORMS
ruby

DEPENDENCIES
coffee-rails
dynamic_form
exception_notification (~> 2.5.2)
foreigner
google4r-checkout!
jquery-rails (>= 1.0.12)
money (~> 4.0.1)
mysql2 (~> 0.3.0)
rails (= 3.2.2)
sass-rails
uglifier
uuidtools
will_paginate
xml-simple (~> 1.1.1)
17 changes: 17 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Copyright 2007, Potion Factory LLC

Unless noted otherwise, the files of this project are licensed under a
Creative Commons Attribution-Share Alike License.

http://creativecommons.org/licenses/by-sa/3.0/

###

Some software components bundled with this software are licensed to
Potion Factory LLC under their own terms. Please see the following
files for details:

vendor/plugins/google4r/LICENSE
vendor/plugins/paypal/LPGL-LICENSE

The printer icon in public/images/printer.png was created by Mark James at FamFamFam.com
132 changes: 132 additions & 0 deletions README.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
Welcome to Potion Store
-----------------------

Features:

- PayPal Website Payments Pro support
- PayPal Express Checkout support
- Google Checkout support
- Administration interface with some simple sales charts
- Coupons
- Send lost license page (http://mycompany.com/store/lost_license)
- Google Analytics e-commerce transaction tracking support for PayPal and credit card orders


Dependencies
------------

- Rails 3.0 or higher.
- PostgreSQL or MySQL


Installation
------------

This is a brief outline of the steps required to get the development environment of Potion Store up
and running on your local machine.

- Install gems via Bundler
- Run ```bundle install```

- Edit the following config files to suit your needs

- config/store.yml
- config/paypal.yml
- config/google_checkout.yml

- Create config/google_checkout.yml. Modify it with your credentials.
```
# Settings for Google Checkout

# Get these by logging into Google Checkout's merchant site and the sandbox equivalent

development:
gcheckout_merchant_id: "XXXXXXXXXXXXXXX"
gcheckout_merchant_key: "XXXXXXXXXXXXXXXXXXXXXX"

test:
gcheckout_merchant_id: "XXXXXXXXXXXXXXX"
gcheckout_merchant_key: "XXXXXXXXXXXXXXXXXXXXXX"

production:
gcheckout_merchant_id: "XXXXXXXXXXXXXXX"
gcheckout_merchant_key: "XXXXXXXXXXXXXXXXXXXXXX"
```

- Create config/paypal.yml. Modify it with your credentials.
```
# PayPal API Access Setup
#
# Instructions:
#
# 1. Go to https://developer.paypal.com/.
# 2. Create an account if you don't have one.
# 3. Click the "Test Accounts" on the left sidebar.
# 4. Create a Business Test Account if you don't have one.
# 5. Select the Business Test Account and click the "Enter Sandbox Test Site" button.
# 6. Once you log in, click "Profile."
# 7. Click on "API Access."
# 8. Click the "Request API Credentials" link.
# 9. Leave the default selection on "Request API signature" and click the "Agree and Submit" button.
# 10. Fill in api_username and api_password and api_signature with the given information.

# Development settings
development:
pi_username: "XXXXXXXXXXXXXXXXXXXXXXXXXXX"
api_password: "XXXXXXXXXXXXXXXX"
api_signature: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
wiredump: true # Turn on logging of communications with PayPal during development

# Follow steps 6 to 10 but with your real PayPal account.
# NOTE: Your PayPal account must have Website Payments Pro already for this to work.

# Live settings
production:
api_username: "XXXXXXXXXXXXXXXXXXXXXXXXXXX"
api_password: "XXXXXXXXXXXXXXXX"
api_signature: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
# Don't turn this on in production mode unless you absolutely have to. It'll log people's credit card information
wiredump: false

# Common setting
# NOTE: This file is already provided for you. You don't need to download it again.
ca_file: "certs/api_cert_chain.crt"
```
- Set session store secret
Edit config/environment.rb and modify the config.action_controller.session setting

- Setup database
- Install Postgresql or MySQL if you haven't
- Create the store_development database.
Make sure to set the encoding of the database to UTF8.
I recommend pgAdmin for Postgresql newcomers.
- Edit config/database.yml
- run "rake db:migrate" to create the database schema

- Run ```rails s``` and test through
<http://localhost:3000/store> and
<http://localhost:3000/admin>

- Replace the default license key generator in lib/licensekey.rb with your own

- If you are setting up Google Checkout, log into your Google Checkout account (sandbox or live), go
to Settings->Integration and put in your URL that corresponds to the following:

https://secure.potionfactory.com/store/notification/gcheckout

That is the URL that Google uses to make callbacks. If you don't set this up, your customers will
not get their orders delivered by email.


Debugging
---------

1. ```gem install ruby-debug```
2. Put 'debugger' where you want to break in your source code
3. Start the app with ```rails s --debugger``` to enable breakpoints


Final Notes
-----------

I'd appreciate it if you kept the "Powered by Potion Store" link in the footer. It'll help more developers find the project.
7 changes: 7 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require File.expand_path('../config/application', __FILE__)
require 'rake'

Potionstore::Application.load_tasks
Empty file added app/assets/images/bg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/store/amex.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/store/application_icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/store/cvv.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/store/discover.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/store/gcheckout.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/store/mc.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/store/missing_field.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/store/paypal.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/store/printer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/store/rounded_tr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/store/visa.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions app/assets/javascripts/admin/coupons.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// Place all the behaviors and hooks related to the matching controller here.
// All this logic will automatically be available in application.js.
4 changes: 4 additions & 0 deletions app/assets/javascripts/application.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
//= require jquery
//= require jquery_ujs
//= require jquery.validate.min
//= require store
Loading