diff --git a/.gitignore b/.gitignore index 82701fe..d826989 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,6 @@ /yarn-error.log .byebug_history + +# Ignore application configuration +/config/application.yml diff --git a/Gemfile b/Gemfile index 68739fe..83e5805 100644 --- a/Gemfile +++ b/Gemfile @@ -29,7 +29,9 @@ gem 'jbuilder', '~> 2.5' # Use ActiveModel has_secure_password gem 'bcrypt', '~> 3.1.7' gem 'jquery-rails' - +gem "paperclip", git: "git://github.com/thoughtbot/paperclip.git" +gem 'aws-sdk', '~> 2' +gem 'figaro' # Use Capistrano for deployment # gem 'capistrano-rails', group: :development diff --git a/Gemfile.lock b/Gemfile.lock index 81099fa..586fa37 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,14 @@ +GIT + remote: git://github.com/thoughtbot/paperclip.git + revision: c794f6df0a10b94f377b9efea08dcfa4e73cfc43 + specs: + paperclip (5.1.0) + activemodel (>= 4.2.0) + activesupport (>= 4.2.0) + cocaine (~> 0.5.5) + mime-types + mimemagic (~> 0.3.0) + GEM remote: https://rubygems.org/ specs: @@ -43,6 +54,14 @@ GEM arel (8.0.0) autoprefixer-rails (7.1.6) execjs + aws-sdk (2.10.80) + aws-sdk-resources (= 2.10.80) + aws-sdk-core (2.10.80) + aws-sigv4 (~> 1.0) + jmespath (~> 1.0) + aws-sdk-resources (2.10.80) + aws-sdk-core (= 2.10.80) + aws-sigv4 (1.0.2) bcrypt (3.1.11) bindex (0.5.0) bootstrap (4.0.0.beta2.1) @@ -58,6 +77,9 @@ GEM rack (>= 1.0.0) rack-test (>= 0.5.4) xpath (~> 2.0) + climate_control (0.2.0) + cocaine (0.5.8) + climate_control (>= 0.0.3, < 1.0) coderay (1.1.2) coffee-rails (4.2.2) coffee-script (>= 2.2.0) @@ -78,13 +100,16 @@ GEM factory_bot (~> 4.8.2) railties (>= 3.0.0) ffi (1.9.18) + figaro (1.1.1) + thor (~> 0.14) globalid (0.4.1) activesupport (>= 4.2.0) - i18n (0.9.0) + i18n (0.9.1) concurrent-ruby (~> 1.0) jbuilder (2.7.0) activesupport (>= 4.2.0) multi_json (>= 1.2) + jmespath (1.3.1) jquery-rails (4.3.1) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) @@ -101,6 +126,10 @@ GEM mail (2.7.0) mini_mime (>= 0.1.1) method_source (0.9.0) + mime-types (3.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2016.0521) + mimemagic (0.3.2) mini_mime (0.1.4) mini_portile2 (2.3.0) minitest (5.10.3) @@ -205,6 +234,7 @@ PLATFORMS ruby DEPENDENCIES + aws-sdk (~> 2) bcrypt (~> 3.1.7) bootstrap (~> 4.0.0.alpha6) byebug @@ -212,10 +242,12 @@ DEPENDENCIES coffee-rails (~> 4.2) database_cleaner factory_bot_rails + figaro jbuilder (~> 2.5) jquery-rails launchy listen (>= 3.0.5, < 3.2) + paperclip! pg (~> 0.18) pry puma (~> 3.7) @@ -228,4 +260,4 @@ DEPENDENCIES web-console (>= 3.3.0) BUNDLED WITH - 1.16.0.pre.3 + 1.16.0 diff --git a/app/assets/images/7e548a5e-43d8-46d0-bde9-55b86fb22464.png b/app/assets/images/7e548a5e-43d8-46d0-bde9-55b86fb22464.png deleted file mode 100644 index 6d69eb5..0000000 Binary files a/app/assets/images/7e548a5e-43d8-46d0-bde9-55b86fb22464.png and /dev/null differ diff --git a/app/assets/images/alejandra-higareda-295603.jpg b/app/assets/images/alejandra-higareda-295603.jpg deleted file mode 100644 index e64b53d..0000000 Binary files a/app/assets/images/alejandra-higareda-295603.jpg and /dev/null differ diff --git a/app/assets/images/apple-touch-icon-precomposed.png b/app/assets/images/apple-touch-icon-precomposed.png deleted file mode 100644 index e69de29..0000000 diff --git a/app/assets/images/apple-touch-icon.png b/app/assets/images/apple-touch-icon.png deleted file mode 100644 index e69de29..0000000 diff --git a/app/assets/images/brooke-cagle-171800.jpg b/app/assets/images/brooke-cagle-171800.jpg deleted file mode 100644 index 1dc9b12..0000000 Binary files a/app/assets/images/brooke-cagle-171800.jpg and /dev/null differ diff --git a/app/assets/images/brooke-cagle-224815.jpg b/app/assets/images/brooke-cagle-224815.jpg deleted file mode 100644 index ba9d28e..0000000 Binary files a/app/assets/images/brooke-cagle-224815.jpg and /dev/null differ diff --git a/app/assets/images/chelsea-ferenando-201350.jpg b/app/assets/images/chelsea-ferenando-201350.jpg deleted file mode 100644 index d5e5a0f..0000000 Binary files a/app/assets/images/chelsea-ferenando-201350.jpg and /dev/null differ diff --git a/app/assets/images/dami-adebayo-208876.jpg b/app/assets/images/dami-adebayo-208876.jpg deleted file mode 100644 index ec7070f..0000000 Binary files a/app/assets/images/dami-adebayo-208876.jpg and /dev/null differ diff --git a/app/assets/images/domenico-loia-272251.jpg b/app/assets/images/domenico-loia-272251.jpg deleted file mode 100644 index b33f1cd..0000000 Binary files a/app/assets/images/domenico-loia-272251.jpg and /dev/null differ diff --git a/app/assets/images/favicon.ico b/app/assets/images/favicon.ico deleted file mode 100644 index e69de29..0000000 diff --git a/app/assets/images/foto-sushi-128246.jpg b/app/assets/images/foto-sushi-128246.jpg deleted file mode 100644 index 7373c91..0000000 Binary files a/app/assets/images/foto-sushi-128246.jpg and /dev/null differ diff --git a/app/assets/images/ilya-pavlov-87438.jpg b/app/assets/images/ilya-pavlov-87438.jpg deleted file mode 100644 index 0016377..0000000 Binary files a/app/assets/images/ilya-pavlov-87438.jpg and /dev/null differ diff --git a/app/assets/images/ivana-cajina-322968.jpg b/app/assets/images/ivana-cajina-322968.jpg deleted file mode 100644 index 658be93..0000000 Binary files a/app/assets/images/ivana-cajina-322968.jpg and /dev/null differ diff --git a/app/assets/images/joseph-gonzalez-399972.jpg b/app/assets/images/joseph-gonzalez-399972.jpg deleted file mode 100644 index 64634ff..0000000 Binary files a/app/assets/images/joseph-gonzalez-399972.jpg and /dev/null differ diff --git a/app/assets/images/michael-dam-258165.jpg b/app/assets/images/michael-dam-258165.jpg deleted file mode 100644 index 9825c59..0000000 Binary files a/app/assets/images/michael-dam-258165.jpg and /dev/null differ diff --git a/app/assets/images/pete-bellis-199853.jpg b/app/assets/images/pete-bellis-199853.jpg deleted file mode 100644 index 6a4561c..0000000 Binary files a/app/assets/images/pete-bellis-199853.jpg and /dev/null differ diff --git a/app/assets/images/priscilla-du-preez-216787.jpg b/app/assets/images/priscilla-du-preez-216787.jpg deleted file mode 100644 index f0de883..0000000 Binary files a/app/assets/images/priscilla-du-preez-216787.jpg and /dev/null differ diff --git a/app/assets/images/rawpixel-com-196509.jpg b/app/assets/images/rawpixel-com-196509.jpg deleted file mode 100644 index f663a19..0000000 Binary files a/app/assets/images/rawpixel-com-196509.jpg and /dev/null differ diff --git a/app/assets/images/robots.txt b/app/assets/images/robots.txt deleted file mode 100644 index 37b576a..0000000 --- a/app/assets/images/robots.txt +++ /dev/null @@ -1 +0,0 @@ -# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file diff --git a/app/assets/images/tanja-heffner-196114.jpg b/app/assets/images/tanja-heffner-196114.jpg deleted file mode 100644 index 9d9b163..0000000 Binary files a/app/assets/images/tanja-heffner-196114.jpg and /dev/null differ diff --git a/app/assets/images/warren-wong-242286.jpg b/app/assets/images/warren-wong-242286.jpg deleted file mode 100644 index bd7bf00..0000000 Binary files a/app/assets/images/warren-wong-242286.jpg and /dev/null differ diff --git a/app/controllers/admin/freelancers_controller.rb b/app/controllers/admin/freelancers_controller.rb index 2179604..067483d 100644 --- a/app/controllers/admin/freelancers_controller.rb +++ b/app/controllers/admin/freelancers_controller.rb @@ -1,6 +1,8 @@ class Admin::FreelancersController < Admin::BaseController - + def index + @freelancers = Freelancer.all + end def new @freelancer = Freelancer.new @@ -10,8 +12,9 @@ def create @category= Category.find_by(title: category_params[:category]) @freelancer = @category.freelancers.new(freelancer_params) - + # Set freelancer.image equal to the params[:avatar] and save the post. if @freelancer.save + flash[:success] = "You succefully created #{@freelancer.name}" redirect_to freelancer_path(@freelancer) else diff --git a/app/models/freelancer.rb b/app/models/freelancer.rb index bfa85a0..a3d23d1 100644 --- a/app/models/freelancer.rb +++ b/app/models/freelancer.rb @@ -6,4 +6,24 @@ class Freelancer < ApplicationRecord has_many :orders, through: :order_freelancers enum status: ["active", "retired"] + + + + has_attached_file :avatar, styles: { + thumb: '100x100>', + square: '200x200#', + medium: '300x300>' + } + + +=begin +Additional ImageMagick resizing options can be found here +The has_attached_file method also accepts a styles hash that specifies the resize dimensions of the uploaded image. The > and # symbols will tell ImageMagick how the image will be resized (the > will proportionally reduce the size of the image). +=end + +# Validate the attached image is image/jpg, image/png, etc + validates_attachment_content_type :avatar, + :content_type => /^image\/(png|gif|jpeg|jpg)/, + :message => 'only (png/gif/jpeg|jpg) images' + end diff --git a/app/views/admin/freelancers/index.html.erb b/app/views/admin/freelancers/index.html.erb index f3c5bb4..da77e48 100644 --- a/app/views/admin/freelancers/index.html.erb +++ b/app/views/admin/freelancers/index.html.erb @@ -8,7 +8,7 @@
<% group.each do |freelancer| %>
- Card image cap +
<%=image_tag(freelancer.avatar.url(:thumb), id: "image_#{freelancer.id}")%>

Name: <%=freelancer.name%>

<%=freelancer.description%>

<%=freelancer.price%>/hr

diff --git a/app/views/admin/freelancers/new.html.erb b/app/views/admin/freelancers/new.html.erb index 1eb1a2a..8df7c32 100644 --- a/app/views/admin/freelancers/new.html.erb +++ b/app/views/admin/freelancers/new.html.erb @@ -1,5 +1,5 @@
- <%=form_for [:admin, @freelancer] do |f| %> + <%=form_for [:admin, @freelancer], multipart: true do |f| %> + <% end %>
-
diff --git a/app/views/admin/orders/index.html.erb b/app/views/admin/orders/index.html.erb index afd11f4..38932f5 100644 --- a/app/views/admin/orders/index.html.erb +++ b/app/views/admin/orders/index.html.erb @@ -26,7 +26,7 @@ Cancelled: <%= @orders.total_cancelled %> <% if order.Paid? %> <%= link_to "Mark as Completed", admin_dashboard_path(order_id: order.id, status: 'Completed'), method: :patch %> <% end %> - <%= link_to "View Order #{order.id}", order_path(order) %> + <%= link_to "View Order #{order.id}", admin_order_path(order) %>

<% end %> diff --git a/app/views/cart/show.html.erb b/app/views/cart/show.html.erb index 7fa5972..db03568 100644 --- a/app/views/cart/show.html.erb +++ b/app/views/cart/show.html.erb @@ -2,7 +2,7 @@ <% @cart.collect_freelancers.each do |freelancer| %>