frontend view

This commit is contained in:
Adrian Hinz 2022-03-04 13:49:24 +01:00
parent 448b1da452
commit d1af465d2b
34 changed files with 677 additions and 7 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -13,3 +13,13 @@
//= require rails-ujs
//= require activestorage
//= require turbolinks
function reloadFunctionsOnAjax() {
$(".tooltip").tooltip("hide");
//$('.popover').popover('hide');
// Reload tootltips
$('[data-toggle="tooltip"]').tooltip({ trigger : 'hover' })
// Reload popovers
//$('[data-toggle="popover"]').popover()
}

View File

@ -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.

View File

@ -2,10 +2,13 @@
# App
class ApplicationController < ActionController::Base
before_action :authenticate_user!
layout :layout_by_resource
def layout_by_resource
devise_controller? ? 'devise' : 'application'
end
def after_sign_in_path_for(resource)
dotations_path # your path
end
end

View File

@ -1,4 +1,5 @@
class CompanyActivitiesController < ApplicationController
before_action :authenticate_user!
include ApplicationHelper
before_action :check_access
before_action :set_company_activity, only: %i[show edit update destroy]

View File

@ -1,4 +1,5 @@
class CompanySizesController < ApplicationController
before_action :authenticate_user!
include ApplicationHelper
before_action :check_access
before_action :set_company_size, only: %i[show edit update destroy]

View File

@ -1,4 +1,5 @@
class DotationsController < ApplicationController
before_action :authenticate_user!
include ApplicationHelper
before_action :check_access
before_action :set_dotation, only: %i[show edit update destroy activate]
@ -104,6 +105,6 @@ class DotationsController < ApplicationController
:announcement_date, :full_descr, :positioning_text, :points,
:date_of_recruitment, :min_amount_curr_id, :max_amount_curr_id,
project_ids: [], tag_ids: [], company_activity_ids: [],
company_size_ids: [])
company_size_ids: [], expense_ids: [])
end
end

View File

@ -1,6 +1,7 @@
class ExpensesController < ApplicationController
before_action :authenticate_user!
include ApplicationHelper
before_action :check_access
before_action :check_access
before_action :set_expense, only: %i[show edit update destroy]
def check_access

View File

@ -1,4 +1,5 @@
class ExpertsController < ApplicationController
before_action :authenticate_user!
include ApplicationHelper
before_action :check_access
before_action :set_expert, only: %i[show edit update destroy]

View File

@ -0,0 +1,27 @@
# frozen_string_literal: true
# Home
class HomeController < ApplicationController
layout 'home_layout'
def index
prepare_filters
@dotations = Dotation.extra_search(params[:search]).public_dot
.point_desc.end_date_asc.page(params[:page])
end
def contact; end
def show
@dotation = Dotation.find(params[:id])
@company_sizes = CompanySize.all
end
private
def prepare_filters
@company_sizes = CompanySize.all
@company_activities = CompanyActivity.all
@projects = Project.all
end
end

View File

@ -1,4 +1,5 @@
class PartnersController < ApplicationController
before_action :authenticate_user!
include ApplicationHelper
before_action :check_access
before_action :set_partner, only: %i[show edit update destroy]

View File

@ -1,4 +1,5 @@
class ProjectsController < ApplicationController
before_action :authenticate_user!
include ApplicationHelper
before_action :check_access
before_action :set_project, only: %i[show edit update destroy]

View File

@ -4,6 +4,7 @@
module Settings
# Users
class UsersController < ApplicationController
before_action :authenticate_user!
before_action :set_user, only: %i[show edit update destroy]
# GET /users or /users.json

View File

@ -1,4 +1,5 @@
class TagsController < ApplicationController
before_action :authenticate_user!
include ApplicationHelper
before_action :check_access
before_action :set_tag, only: %i[show edit update destroy]

View File

@ -1,4 +1,5 @@
class WelcomeController < ApplicationController
before_action :authenticate_user!
def index
end
end

View File

@ -0,0 +1,13 @@
# frozen_string_literal: true
# helper for home
module HomeHelper
def change_ammount(ammount)
ret = if ammount >= 1_000_000
"#{ammount / 1_000_000} mln"
else
"#{ammount / 1_000} tyś"
end
ret
end
end

View File

@ -28,6 +28,13 @@ class Dotation < ApplicationRecord
where('name LIKE :value OR formal_name LIKE :value',
value: "%#{search_value}%")
end)
scope :extra_search, (lambda do |search_value|
where('name LIKE :value OR formal_name LIKE :value',
value: "%#{search_value}%")
end)
scope :point_desc, -> { order(points: :desc) }
scope :end_date_asc, -> { order(end_date: :asc) }
scope :public_dot, -> { where(active: true) }
# == Callbacks ============================================================
# == Class Methods ========================================================

View File

@ -2,6 +2,7 @@
# Expanse
class Expense < ApplicationRecord
default_scope { order(name: :asc) }
# == Constants ============================================================
# == Attributes ===========================================================

View File

@ -118,6 +118,10 @@
<%= form.label :projects %>
<%= form.select(:project_ids, @projects.collect {|p| [ p.name, p.id ] }, { include_blank: false }, { class: 'form-control duallistbox', multiple: true } ) %>
</div>
<div class="form-group">
<%= form.label :expenses %>
<%= form.select(:expense_ids, @expenses.collect {|p| [ p.name, p.id ] }, { include_blank: false }, { class: 'form-control duallistbox', multiple: true } ) %>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">

View File

@ -14,6 +14,7 @@
<tr>
<th>Nazwa</th>
<th>Nazwa formalna</th>
<th>Punkty</th>
<th>Data od</th>
<th>Data do</th>
<th>Publiczne</th>
@ -26,6 +27,7 @@
<tr>
<td><%= link_to dotation.name, dotation %></td>
<td><%= dotation.formal_name %></td>
<td><%= dotation.points %></td>
<td><%= dotation.date_from %></td>
<td><%= dotation.date_to %></td>
<td id="dot_act_<%= dotation.id %>">

View File

@ -79,8 +79,8 @@
</td>
<td>
<ul>
<% @dotation.projects.each do |project| %>
<li><%= project.name %></li>
<% @dotation.expenses.each do |expense| %>
<li><%= expense.name %></li>
<% end %>
</ul>
</td>

View File

@ -0,0 +1,73 @@
<div class="card card-primary card-outline">
<div class="card-header">
<h3 class="card-title" style="font-size: 1.5rem;"><strong><%= dotation.name %></strong></h3>
<div class="card-tools">
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6">
<h4><%= dotation.formal_name %></h4>
</div>
<div class="col-md-6">
<div class="row">
<div class="col-sm-6">
<h4><strong>Składanie wniosków</strong></h4>
</div>
<div class="col-sm-6">
<h4>od <%= dotation.start_date.strftime("%d-%m-%Y") %> do <%= dotation.end_date.strftime("%d-%m-%Y") %></h4>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<h4><strong><%= dotation.localization %></strong></h4>
</div>
<div class="col-md-6">
<% unless dotation.max_amount.blank? %>
<div class="row">
<div class="col-sm-6">
<h5><strong>Wartość projektu </strong></h5>
</div>
<div class="col-sm-6">
<h5>do <%= change_ammount(dotation.max_amount) %> <%= dotation.max_amount_curr.name %></h5>
</div>
</div>
<% end %>
<% unless dotation.max_amount.blank? %>
<div class="row">
<div class="col-sm-6">
<h5><strong>Poziom dofinansowania</strong></h5>
</div>
<div class="col-sm-6">
<h5>do <%= dotation.max_percent %>% dotacji</h5>
</div>
</div>
<% end %>
</div>
</div>
<div class="row">
<div class="col-md-12">
<% unless dotation.expenses.blank? %>
<strong>Co można dofinansować? </strong>
<% max_expense = dotation.expenses.count %>
<% dotation.expenses.limit(5).each_with_index do |expense, index| %>
<%= expense.name %>
<% if index < max_expense - 1 && index < 4 %>
<%= ', ' -%>
<% elsif max_expense > 5 %>
<%= '...' -%>
<% end %>
<% end %>
<% end %>
</div>
</div>
</div>
<div class="card-footer">
<%= link_to 'Zobacz więcej', "/dotacja/#{dotation.id}", class: 'btn-lg btn-success float-right' %>
</div>
</div>

View File

@ -0,0 +1,31 @@
<% if @dotations.blank? %>
<div class="card">
<div class="card-header">
<h3 class="card-title"><i class="fas fa-bullhorn"></i> Uwagi</h3>
</div>
<div class="card-body">
<div class="alert alert-info alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h5><i class="icon fas fa-info"></i> Informacja</h5>
Brak danych do wyświetlenia
</div>
</div>
</div>
<% else %>
<div class="row">
<div class="col-md-2">
<%= render 'filter_form' %>
</div>
<div class="col-md-8">
<% @dotations.each do |dotation| %>
<%= render 'dotation_card', dotation: dotation %>
<% end %>
</div>
<div class="col-md-2">
</div>
</div>
<% end %>

View File

@ -0,0 +1,121 @@
<% if params[:search] %>
<div class="card card-success card-outline">
<div class="card-header">
<h3 class="card-title" style="font-size: 1.5rem;"><strong>Filtry</strong></h3>
<div class="card-tools">
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-12">
<p><strong>Wyszukiwana fraza:</strong><br />
<%= params[:search] %></p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div id="accordion">
<div class="card card-primary">
<div class="card-header">
<h4 class="card-title w-100">
<a class="d-block w-100 collapsed" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
Wielkość firmy
</a>
</h4>
</div>
<div id="collapseOne" class="collapse show" data-parent="#accordion" style="">
<div class="card-body">
<div class="form-group">
<% @company_sizes.each do |company_size| %>
<div class="form-check">
<input class="form-check-input" type="checkbox">
<label class="form-check-label" data-toggle="tooltip" data-placement="top" title="<%= company_size.description %>"><%= company_size.name %></label>
</div>
<% end %>
</div>
</div>
</div>
</div>
<div class="card card-primary">
<div class="card-header">
<h4 class="card-title w-100">
<a class="d-block w-100" data-toggle="collapse" href="#collapseTwo">
Dominująca działalność firmy
</a>
</h4>
</div>
<div id="collapseTwo" class="collapse" data-parent="#accordion">
<div class="card-body">
<div class="form-group">
<% @company_activities.each do |company_activity| %>
<div class="form-check">
<input class="form-check-input" type="checkbox">
<label class="form-check-label" data-toggle="tooltip" data-placement="top" title="<%= company_activity.description %>"><%= company_activity.name %></label>
</div>
<% end %>
</div>
</div>
</div>
</div>
<div class="card card-primary">
<div class="card-header">
<h4 class="card-title w-100">
<a class="d-block w-100" data-toggle="collapse" href="#collapseThree">
Rodzaj przedsięwzięcia
</a>
</h4>
</div>
<div id="collapseThree" class="collapse" data-parent="#accordion">
<div class="card-body">
<div class="form-group">
<% @projects.each do |project| %>
<div class="form-check">
<input class="form-check-input" type="checkbox">
<label class="form-check-label" data-toggle="tooltip" data-placement="top" title="<%= project.description %>"><%= project.name %></label>
</div>
<% end %>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<button type="button" class="btn btn-block btn-outline-success" data-toggle="modal" data-target="#modal-lg">
<i class="fas fa-bullhorn"></i> Powiadom mnie o wynikach
</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modal-lg" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Powiadomienie o nowych wynikach</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="form-group">
<label for="exampleInputEmail1">Podaj swój adres e-mail</label>
<input type="email" class="form-control" id="exampleInputEmail1" placeholder="Wprowadź e-mail">
</div>
<div class="callout callout-info">
<h5>Ważne informacje</h5>
<p>Podając adres e-mail wyrażasz zgodę na otrzymywanie wiadomości o wynikach wyszukiwania spełniających wybrane przez Ciebie kryteria</p>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Zamknij</button>
<button type="button" class="btn btn-primary">Zapisz powiadomienie</button>
</div>
</div>
</div>
</div>
<% end %>

View File

@ -0,0 +1,139 @@
<div class="row">
<div class="col-md-12">
<h3><%= @dotation.formal_name %></h3>
</div>
</div>
<div class="row">
<div class="col-md-12">
<br />
</div>
</div>
<% if !@dotation.expert_id.blank? && !@dotation.expert_info.blank? %>
<div class="row">
<div class="col-md-12">
<table class="table table-bordered">
<thead>
<tr><th colspan="2">Subiektywna opinia eksperta</th></tr>
</thead>
<tbody>
<tr>
<td>
<%= render '/experts/expert_show', expert: @dotation.expert %>
</td>
<td><%= raw @dotation.expert_info %></td>
</tr>
</tbody>
</table>
</div>
</div>
<% end %>
<br />
<div class="row">
<div class="col-md-12">
<h3>Wielkość przedsiębiorstwa</h3>
</div>
</div>
<div class="row">
<div class="col-md-12">
<% @company_sizes.each do |company_size| %>
<% if @dotation.company_sizes.include?(company_size) %>
<i class="fas fa-power-off text-success"></i> <%= company_size.name %>
<% else %>
<i class="fas fa-power-off text-danger"></i> <%= company_size.name %>
<% end %>
&nbsp;&nbsp;
<% end %>
</div>
</div>
<hr />
<div class="row">
<div class="col-md-12">
<table class="table table-bordered">
<tbody>
<tr>
<td width="30%">
<b>Ogłoszenie aktualnego/najbliższego naboru</b>
</td>
<td><%= @dotation.announcement_date.strftime("%Y-%m-%d") unless @dotation.announcement_date.blank? %></td>
</tr>
<tr>
<td>
<b>Rozpoczęcie aktualnego/najbliższego naboru</b>
</td>
<td><%= @dotation.start_date.strftime("%Y-%m-%d") unless @dotation.start_date.blank? %></td>
</tr>
<tr>
<td>
<b>Zakończenie aktualnego/najbliższego naboru</b>
</td>
<td><%= @dotation.end_date.strftime("%Y-%m-%d") unless @dotation.end_date.blank? %></td>
</tr>
<tr>
<td>
<b>Co można dofinansować?</b>
</td>
<td>
<ul>
<% @dotation.expenses.each do |expense| %>
<li><%= expense.name %></li>
<% end %>
</ul>
</td>
</tr>
<tr>
<td>
<b>Miejsce realizacji projektu</b>
</td>
<td><%= @dotation.localization %></td>
</tr>
<tr>
<td>
<b>Minimalna wartość projektu (wydatków)</b>
</td>
<td><%= change_ammount(@dotation.min_amount) %> <%= @dotation.min_amount_curr.name %></td>
</tr>
<tr>
<td>
<b>Maksymalna wartość projektu (wydatków)</b>
</td>
<td><%= change_ammount(@dotation.max_amount) %> <%= @dotation.max_amount_curr.name %></td>
</tr>
</tbody>
</table>
</div>
</div>
<hr />
<div class="row">
<div class="col-md-12">
<h3>Szczegółowy opis dotacji</h3>
</div>
</div>
<div class="row">
<div class="col-md-12">
<%= raw @dotation.full_descr %>
</div>
</div>
<hr />
<div class="row">
<div class="col-md-12">
<%= raw @dotation.positioning_text %>
</div>
</div>
<hr />
<div class="row">
<div class="col-md-12">
<h3>Pomoc w opracowaniu wniosku komu można zlecić opracowanie dokumentów do tego konkursu</h3>
</div>
</div>
<div class="row">
<div class="col-md-12">
<%= render '/partners/partner_show', partner: @dotation.partner %>
</div>
</div>
<div class="row">
<div class="col-md-12">
<% @dotation.tags.each do |tag| %>
<span class="badge badge-secondary"><%= tag.name %></span>
<% end %>
</div>
</div>

View File

@ -0,0 +1,46 @@
<section class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-2">
</div>
<div class="col-sm-8">
<h1>Kontakt</h1>
</div>
<div class="col-sm-2">
</div>
</div>
</div>
</section>
<section class="content">
<div class="container-fluid">
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8">
<div class="card">
<div class="card-header">
<h3 class="card-title">Kontakt</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse" title="Collapse">
<i class="fas fa-minus"></i>
</button>
<button type="button" class="btn btn-tool" data-card-widget="remove" title="Remove">
<i class="fas fa-times"></i>
</button>
</div>
</div>
<div class="card-body">
Kontakt
</div>
<div class="card-footer">
Footer
</div>
</div>
</div>
<div class="col-md-2"></div>
</div>
</div>
</section>

View File

@ -0,0 +1,37 @@
<section class="content">
<div class="container-fluid">
<h2 class="text-center display-4">Kalendarz Dotacji</h2>
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8">
<br />
<br />
<br />
<p>Tutaj jakieś informacje co znajduje się na tej stronie czego można się spodziewać itd, może jakieś zdjęcie? coś do przemyślenia</p>
<br />
<br />
<br />
</div>
<div class="col-md-2"></div>
</div>
<div class="row">
<div class="col-md-8 offset-md-2">
<%= form_tag(home_index_path, method: :get, remote: true) do %>
<div class="input-group">
<%= text_field_tag(:search, params[:search], class: 'form-control form-control-lg', placeholder: 'Wpisz wyszukiwaną frazę') %>
<div class="input-group-append">
<button type="submit" class="btn btn-lg btn-default">
<i class="fa fa-search"></i>
</button>
</div>
</div>
<% end %>
</div>
</div>
<hr />
<div id="search_result">
<%= render 'dotations' %>
</div>
</div>
</section>

View File

@ -0,0 +1,2 @@
$('#search_result').html("<%= escape_javascript(render partial: 'dotations') %>");
reloadFunctionsOnAjax();

View File

@ -0,0 +1,33 @@
<!-- Content Header (Page header) -->
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<%= link_to 'Powrót do strony wyszukiwania', :back, class: 'btn btn-info' %>
</div>
<!-- /.col -->
<div class="col-sm-6"></div>
<!-- /.col -->
</div>
<!-- /.row -->
</div>
<!-- /.container-fluid -->
</div>
<div class="content">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="card card-primary card-outline">
<div class="card-header">
<h3 class="card-title" style="font-size: 1.9rem;"><strong><%= @dotation.name %></strong></h3>
</div>
<div class="card-body">
<%= render 'show' %>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,50 @@
<div id="accordion">
<div class="card card-primary">
<div class="card-header">
<h4 class="card-title w-100">
<a class="d-block w-100 collapsed" data-toggle="collapse" href="#collapseOne" aria-expanded="false">
Collapsible Group Item #1
</a>
</h4>
</div>
<div id="collapseOne" class="collapse" data-parent="#accordion" style="">
<div class="card-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a
bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table,
raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
<div class="card card-danger">
<div class="card-header">
<h4 class="card-title w-100">
<a class="d-block w-100" data-toggle="collapse" href="#collapseTwo">
Collapsible Group Danger
</a>
</h4>
</div>
<div id="collapseTwo" class="collapse" data-parent="#accordion">
<div class="card-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a
bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table,
raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
<div class="card card-success">
<div class="card-header">
<h4 class="card-title w-100">
<a class="d-block w-100" data-toggle="collapse" href="#collapseThree">
Collapsible Group Success
</a>
</h4>
</div>
<div id="collapseThree" class="collapse" data-parent="#accordion">
<div class="card-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a
bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table,
raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
</div>

View File

@ -46,7 +46,7 @@
<aside class="main-sidebar sidebar-light-primary elevation-4">
<!-- Brand Logo -->
<a href="/" class="brand-link">
<%= image_tag "AdminLTELogo.png", class: "brand-image img-circle elevation-3", alt: "AdminLTE Logo", style: "opacity: .8" %>
<%= image_tag "logo_kd.png", class: "brand-image img-circle elevation-3", alt: "AdminLTE Logo", style: "opacity: .8" %>
<span class="brand-text font-weight-light">Administracja</span>
</a>

View File

@ -0,0 +1,46 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Kalendarz Dotacji</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_link_tag 'font_awesomeall', 'tempusdominus-bootstrap-4.min', 'select2.min', 'adminlte.min' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body class="layout-top-nav" style="height: auto;">
<div class="wrapper">
<nav class="main-header navbar navbar-expand-md navbar-light navbar-white">
<div class="container">
<a href="/" class="navbar-brand">
<%= image_tag "logo_kd.png", class: "brand-image img-circle elevation-3", alt: "AdminLTE Logo", style: "opacity: .8" %>
<span class="brand-text font-weight-light">Kalendarz Dotacji</span>
</a>
<button class="navbar-toggler order-1" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse order-3" id="navbarCollapse">
<ul class="navbar-nav">
<li class="nav-item d-none d-sm-inline-block">
<a href="/" class="nav-link">Home</a>
</li>
<li class="nav-item d-none d-sm-inline-block">
<a href="/kontakt" class="nav-link">Kontakt</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="content-wrapper">
<%= yield %>
</div>
</div>
<%= javascript_include_tag 'jquery.min', 'bootstrap.bundle.min', 'bs-custom-file-input.min', 'moment-with-locales.min', 'select2.full.min', 'tempusdominus-bootstrap-4.min', 'adminlte.min', 'bootstrap-switch.min', 'forms' %>
</body>
</html>

View File

@ -1,4 +1,8 @@
Rails.application.routes.draw do
get 'kontakt' => 'home#contact'
get 'dotacja/:id' => 'home#show'
resources :home, only: %i[index show]
devise_for :users
resources :company_sizes
resources :expenses
@ -15,5 +19,5 @@ Rails.application.routes.draw do
end
get 'welcome/index'
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
root 'welcome#index'
root 'home#index'
end

View File

@ -0,0 +1,9 @@
require 'test_helper'
class HomeControllerTest < ActionDispatch::IntegrationTest
test "should get index" do
get home_index_url
assert_response :success
end
end