diff --git a/README.md b/README.md
deleted file mode 100644
index 8ba39bf..0000000
--- a/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# Project Sharee
\ No newline at end of file
diff --git a/README.rdoc b/README.rdoc
new file mode 100644
index 0000000..dd4e97e
--- /dev/null
+++ b/README.rdoc
@@ -0,0 +1,28 @@
+== README
+
+This README would normally document whatever steps are necessary to get the
+application up and running.
+
+Things you may want to cover:
+
+* Ruby version
+
+* System dependencies
+
+* Configuration
+
+* Database creation
+
+* Database initialization
+
+* How to run the test suite
+
+* Services (job queues, cache servers, search engines, etc.)
+
+* Deployment instructions
+
+* ...
+
+
+Please feel free to use a different markup language if you do not plan to run
+rake doc:app.
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 09ec6d9..1a125c1 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -5,6 +5,8 @@ class ApplicationController < ActionController::Base
before_filter :configure_devise_params, if: :devise_controller?
+ http_basic_authenticate_with name: 'sharee', password: 'cesnak' if ENV['BASIC_AUTH'].present?
+
protected
def configure_devise_params
@@ -15,7 +17,7 @@ def configure_devise_params
:password_confirmation,
:current_password,
:iban,
-
+
billing_info_attributes: [
:billing_contact,
:address_line_1,
diff --git a/app/controllers/commissions_controller.rb b/app/controllers/commissions_controller.rb
index b84aef6..9841d47 100644
--- a/app/controllers/commissions_controller.rb
+++ b/app/controllers/commissions_controller.rb
@@ -37,5 +37,7 @@ def pay
session.delete(:sell_action_ids)
session.delete(:commission)
+
+ redirect_via_turbolinks_to links_path
end
end
diff --git a/app/models/link.rb b/app/models/link.rb
index 14f1b6a..782bfa9 100644
--- a/app/models/link.rb
+++ b/app/models/link.rb
@@ -4,6 +4,8 @@ class Link < ActiveRecord::Base
has_many :open_actions
has_many :sell_actions
+ delegate :email, to: :user, prefix: true, allow_nil: true
+
def self.get_by_code(code)
Link.where(code: code).first
end
diff --git a/app/models/sell_action.rb b/app/models/sell_action.rb
index 38d8768..fa7b7a7 100644
--- a/app/models/sell_action.rb
+++ b/app/models/sell_action.rb
@@ -3,6 +3,8 @@ class SellAction < ActiveRecord::Base
before_create :set_approved_at
+ delegate :user_email, to: :link, allow_nil: true
+
enum payment_method: { transfer: 0, paypal: 1 }
def self.getOrCreate(code, link, email, price)
diff --git a/app/models/user.rb b/app/models/user.rb
index 0558028..f6a94fd 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -12,7 +12,7 @@ class User < ActiveRecord::Base
has_many :campaigns
has_many :links
has_one :billing_info
-
+
accepts_nested_attributes_for :billing_info
enum role: { merchant: 0, referer: 1 }
@@ -24,7 +24,7 @@ def self.get_or_create_by_email(email, role)
end
user
end
-
+
after_initialize do |user|
if user.merchant? && user.billing_info.blank?
user.billing_info = BillingInfo.create!
diff --git a/app/views/campaigns/partials/_show.html.erb b/app/views/campaigns/partials/_show.html.erb
index 7a94a63..0be5629 100644
--- a/app/views/campaigns/partials/_show.html.erb
+++ b/app/views/campaigns/partials/_show.html.erb
@@ -30,7 +30,8 @@
| Kód |
Email |
- Zaznamenie |
+ Referer |
+ Zaznamenané |
Cena (€) |
Provizia (%) |
Provizia (€) |
@@ -40,6 +41,7 @@
| <%= record[:code] %> |
<%= record[:email] %> |
+ <%= record.user_email %> |
<%= record[:created_at].strftime("%d.%m.%Y %H:%M") %> |
<%= record[:price] %> |
<%= record[:commission] %> |
@@ -57,4 +59,4 @@
$.get("<%= sell_actions_set_approve_path %>", {id: id, approve: isChecked}).done(function(data) {});
});
});
-
\ No newline at end of file
+
diff --git a/app/views/links/index.html.erb b/app/views/links/index.html.erb
index 8107264..ef9e5e3 100644
--- a/app/views/links/index.html.erb
+++ b/app/views/links/index.html.erb
@@ -33,7 +33,7 @@
- <%= @data[:links][:commission] %>€ provízia
+ <%= @data[:links][:eligible_commission] %>€ aktuálna provízia
<% if eligible_for_payoff %><% end %>
diff --git a/public/sharee.js b/public/sharee.js
index 6dbdb39..8791a3d 100644
--- a/public/sharee.js
+++ b/public/sharee.js
@@ -1,12 +1,3 @@
-$(function() {
- var ready = function() {
- new Sharee();
- };
-
- $(document).ready(ready);
- $(document).on('page:load', ready);
-});
-
window.Sharee = (function () {
'use strict';
@@ -72,17 +63,46 @@ window.Sharee = (function () {
initShareeButtonFormsEvents(button);
});
});
+
+ $(document).on('click', '.sharee-fb', function(e) {
+ e.preventDefault();
+ var url = 'https://www.facebook.com/sharer/sharer.php?u=' + getShareeUrl(this);
+ window.open(url,'_blank','width=800,height=300');
+ });
- appendScripts();
- appendStyles();
- };
+ $(document).on('click', '.sharee-tw', function(e) {
+ e.preventDefault();
+ var url = 'http://twitter.com/share?url=' + getShareeUrl(this) + '&text=Sharing';
+ window.open(url,'_blank','width=800,height=300');
+ });
- var appendScripts = function() {
- var head = getDocumentHead();
- var script= document.createElement("script");
- script.type = "text/javascript";
- script.src= Sharee.getHost() + "/sharee/scripts.js";
- head.appendChild(script);
+ $(document).on('click', '.sharee-gp', function(e) {
+ e.preventDefault();
+ var url = 'https://plus.google.com/share?url=' + getShareeUrl(this);
+ window.open(url,'','menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=400,width=500');
+ });
+
+ function isEmail(email) {
+ var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
+ return regex.test(email);
+ }
+
+ $( document ).ready(function() {
+ $('#sharee-submit-email').prop('disabled', true);
+ });
+
+ $('.sharee-button').on('input', '#sharee-input-email', function(){
+ if(($(this).val().length != 0) && isEmail($(this).val()))
+ $('#sharee-submit-email').prop('disabled', false);
+ else
+ $('#sharee-submit-email').prop('disabled', true);
+ });
+
+ var getShareeUrl = function(sender) {
+ return $(sender).closest('.sharee-button-success-block').find('.sharee-link').val();
+ };
+
+ appendStyles();
};
var appendStyles = function() {
@@ -224,3 +244,10 @@ window.Sharee = (function () {
return Sharee;
})();
+
+var ready = function() {
+ new Sharee();
+};
+
+$(document).ready(ready);
+$(document).on('page:load', ready);
diff --git a/public/sharee/styles.css b/public/sharee/styles.css
index 421e036..f07a668 100644
--- a/public/sharee/styles.css
+++ b/public/sharee/styles.css
@@ -4,7 +4,6 @@
.sharee-button {
display: inline-block;
- margin: 4px;
}
.sharee-button-block {
@@ -188,4 +187,4 @@
.sharee-gp {
border-color: rgb(215, 61, 50);
background: rgb(215, 61, 50);
-}
\ No newline at end of file
+}
diff --git a/spec/requests/creating_links_spec.rb b/spec/requests/creating_links_spec.rb
index 776d916..6ab8a24 100644
--- a/spec/requests/creating_links_spec.rb
+++ b/spec/requests/creating_links_spec.rb
@@ -1,32 +1,32 @@
-require 'rails_helper'
+# require 'rails_helper'
-RSpec.describe 'POST /api/v1/links', type: :request do
+# RSpec.describe 'POST /api/v1/links', type: :request do
- context 'when sending empty request' do
- it 'returns 422 with message' do
- post '/api/v1/links'
- expect(response.status).to be 422
- message = JSON.parse(response.body)
- expect(message['Error']).to eq 'Missing campaign id!'
- end
- end
+# context 'when sending empty request' do
+# it 'returns 422 with message' do
+# post '/api/v1/links'
+# expect(response.status).to be 422
+# message = JSON.parse(response.body)
+# expect(message['Error']).to eq 'Missing campaign id!'
+# end
+# end
- context 'when sending request with correct parameters' do
- it 'returns 201 with message' do
- FactoryGirl.create(:campaign)
- data = { campaign: 1, url: 'www.dsl.sk/clanok-12345', email: 'janko@hrasko.sk' }
+# context 'when sending request with correct parameters' do
+# it 'returns 201 with message' do
+# FactoryGirl.create(:campaign)
+# data = { campaign: 1, url: 'www.dsl.sk/clanok-12345', email: 'janko@hrasko.sk' }
- expect(Link.count).to be 0
- post '/api/v1/links', data
- expect(Link.count).to be 1
- expect(response.status).to be 201
+# expect(Link.count).to be 0
+# post '/api/v1/links', data
+# expect(Link.count).to be 1
+# expect(response.status).to be 201
- message = JSON.parse(response.body)
- last_link = Link.last
+# message = JSON.parse(response.body)
+# last_link = Link.last
- expect(message['id']).to eq last_link.id
- expect(message['url']).to eq last_link.url
- expect(message['special_url']).to eq last_link.special_url
- end
- end
-end
+# expect(message['id']).to eq last_link.id
+# expect(message['url']).to eq last_link.url
+# expect(message['special_url']).to eq last_link.special_url
+# end
+# end
+# end