mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
New admin menu
This commit is contained in:
parent
29cd9d0132
commit
89fb059aaa
35 changed files with 209 additions and 170 deletions
|
|
@ -70,6 +70,19 @@ $(function() {
|
||||||
$(".comment-reply").hide();
|
$(".comment-reply").hide();
|
||||||
$(".user-details-popover").popover();
|
$(".user-details-popover").popover();
|
||||||
$("#comments-div").hide();
|
$("#comments-div").hide();
|
||||||
|
|
||||||
|
$( ".myAccordion" ).mouseover(function() {
|
||||||
|
if(!$(this).find("ul").is(':visible')){
|
||||||
|
//Hide all except this
|
||||||
|
$siblings = $(this).siblings().find("ul:visible");
|
||||||
|
$siblings.hide();
|
||||||
|
$siblings.parent().find('span:nth-child(2)').toggleClass("glyphicon-chevron-down glyphicon-chevron-right");
|
||||||
|
|
||||||
|
//show this
|
||||||
|
$(this).find("ul").show();
|
||||||
|
$(this).find('span:nth-child(2)').toggleClass("glyphicon-chevron-down glyphicon-chevron-right");
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function word_count(text, divId, maxcount) {
|
function word_count(text, divId, maxcount) {
|
||||||
|
|
|
||||||
|
|
@ -1,33 +1,53 @@
|
||||||
html {
|
html {
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
/* Margin bottom by footer height */
|
/* Margin bottom by footer height */
|
||||||
margin-bottom: 60px;
|
margin-bottom: 60px;
|
||||||
|
/* Margin bottom by navbar height */
|
||||||
|
padding-top: 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
body > #messages {
|
body > #messages {
|
||||||
padding: 60px 15px 0;
|
padding: 60px 15px 0;
|
||||||
}
|
|
||||||
|
|
||||||
body > #content {
|
|
||||||
padding-bottom: 60px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#footer {
|
#footer {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
/* Set the fixed height of the footer here */
|
/* Set the fixed height of the footer here */
|
||||||
height: 60px;
|
height: 60px;
|
||||||
background-color: #f5f5f5;
|
background-color: #f5f5f5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container .text-muted {
|
.container .text-muted {
|
||||||
margin: 20px 0;
|
margin: 20px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#footer > .container {
|
#footer > .container {
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav > li.nav-header > a {
|
||||||
|
cursor: default;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: bold;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.glyphicon {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mySidebar hr {
|
||||||
|
margin: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 768px) {
|
||||||
|
.mySidebar ul.subNav {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row-fluid
|
.row
|
||||||
.col-md-3
|
.col-md-8
|
||||||
= render 'admin/conference/sidebar'
|
|
||||||
.col-md-9
|
|
||||||
= semantic_form_for(@cfp, :url => admin_conference_callforpapers_path(@conference.short_title),:html => {:multipart => true}) do |f|
|
= semantic_form_for(@cfp, :url => admin_conference_callforpapers_path(@conference.short_title),:html => {:multipart => true}) do |f|
|
||||||
= f.input :start_date, :as => :string, :input_html => { :id => "conference-start-datepicker", :readonly => "readonly" }
|
= f.input :start_date, :as => :string, :input_html => { :id => "conference-start-datepicker", :readonly => "readonly" }
|
||||||
= f.input :end_date, :as => :string, :input_html => { :id => "conference-end-datepicker", :readonly => "readonly" }
|
= f.input :end_date, :as => :string, :input_html => { :id => "conference-end-datepicker", :readonly => "readonly" }
|
||||||
|
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
.well.sidebar-nav
|
|
||||||
%ul.nav.nav-pills.nav-stacked
|
|
||||||
%li{:class=> active_nav_li(admin_conference_path(@conference.short_title))}
|
|
||||||
= link_to "Conference", admin_conference_path(@conference.short_title)
|
|
||||||
%li{:class=> active_nav_li(admin_conference_venue_info_path(@conference.short_title))}
|
|
||||||
= link_to "Venue", admin_conference_venue_info_path(@conference.short_title)
|
|
||||||
%li{:class=> active_nav_li(admin_conference_callforpapers_path(@conference.short_title))}
|
|
||||||
= link_to "Call for Papers", admin_conference_callforpapers_path(@conference.short_title)
|
|
||||||
%li{:class=> active_nav_li(admin_conference_rooms_path(@conference.short_title))}
|
|
||||||
= link_to "Rooms", admin_conference_rooms_path(@conference.short_title)
|
|
||||||
%li{:class=> active_nav_li(admin_conference_tracks_path(@conference.short_title))}
|
|
||||||
= link_to "Tracks", admin_conference_tracks_path(@conference.short_title)
|
|
||||||
%li{:class=> active_nav_li(admin_conference_eventtypes_path(@conference.short_title))}
|
|
||||||
= link_to "Event Types", admin_conference_eventtypes_path(@conference.short_title)
|
|
||||||
%li{:class=> active_nav_li(admin_conference_difficulty_levels_path(@conference.short_title))}
|
|
||||||
= link_to "Difficulty Levels", admin_conference_difficulty_levels_path(@conference.short_title)
|
|
||||||
%li{:class=> active_nav_li(admin_conference_social_events_path(@conference.short_title))}
|
|
||||||
= link_to "Social Events", admin_conference_social_events_path(@conference.short_title)
|
|
||||||
%li{:class=> active_nav_li(admin_conference_supporter_levels_path(@conference.short_title))}
|
|
||||||
= link_to "Supporter Levels", admin_conference_supporter_levels_path(@conference.short_title)
|
|
||||||
%li{:class=> active_nav_li(admin_conference_emails_path(@conference.short_title))}
|
|
||||||
= link_to "Emails", admin_conference_emails_path(@conference.short_title)
|
|
||||||
%li{:class=> active_nav_li(admin_conference_questions_path(@conference.short_title))}
|
|
||||||
= link_to "Questions", admin_conference_questions_path(@conference.short_title)
|
|
||||||
%li{:class=> active_nav_li(admin_conference_volunteers_info_path(@conference.short_title))}
|
|
||||||
= link_to "Volunteers", admin_conference_volunteers_info_path(@conference.short_title)
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.col-md-6.col-md-offset-3
|
.col-md-8
|
||||||
= semantic_form_for(@conference, :url => admin_conference_index_path) do |f|
|
= semantic_form_for(@conference, :url => admin_conference_index_path) do |f|
|
||||||
= f.inputs 'Basic Information' do
|
= f.inputs 'Basic Information' do
|
||||||
= f.input :title, hint: "The name of your conference as it shall appear throughout the site. Example: 'OpenSUSE Conference 2013'",
|
= f.input :title, hint: "The name of your conference as it shall appear throughout the site. Example: 'OpenSUSE Conference 2013'",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.col-md-3
|
.col-md-8
|
||||||
= render :partial => "sidebar"
|
|
||||||
.col-md-9
|
|
||||||
= semantic_form_for(@conference, :url => admin_conference_path(@conference.short_title),:html => {:multipart => true}) do |f|
|
= semantic_form_for(@conference, :url => admin_conference_path(@conference.short_title),:html => {:multipart => true}) do |f|
|
||||||
= f.input :title, :hint => "The full name of the conference, such as 'OpenSUSE Conference 2013'"
|
= f.input :title, :hint => "The full name of the conference, such as 'OpenSUSE Conference 2013'"
|
||||||
= f.input :short_title, :hint => "A short title, such as 'osc2013', to be used in URLs"
|
= f.input :short_title, :hint => "A short title, such as 'osc2013', to be used in URLs"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.span3
|
.col-md-8
|
||||||
= render 'admin/conference/sidebar', :activated => "Diet"
|
|
||||||
.span9
|
|
||||||
= semantic_form_for(@conference, :url => admin_conference_dietary_update_path(@conference.short_title)) do |f|
|
= semantic_form_for(@conference, :url => admin_conference_dietary_update_path(@conference.short_title)) do |f|
|
||||||
= f.input :use_dietary_choices, :label => false
|
= f.input :use_dietary_choices, :label => false
|
||||||
= dynamic_association :dietary_choices, "Dietary Choices", f
|
= dynamic_association :dietary_choices, "Dietary Choices", f
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.col-md-3
|
.col-md-8
|
||||||
= render 'admin/conference/sidebar'
|
|
||||||
.col-md-9
|
|
||||||
= semantic_form_for @conference, :url => admin_conference_difficulty_level_path(@conference.short_title, @conference.difficulty_levels) do |f|
|
= semantic_form_for @conference, :url => admin_conference_difficulty_level_path(@conference.short_title, @conference.difficulty_levels) do |f|
|
||||||
= f.input :use_difficulty_levels, :label => false
|
= f.input :use_difficulty_levels, :label => false
|
||||||
= dynamic_association :difficulty_levels, "Difficulty_Levels", f
|
= dynamic_association :difficulty_levels, "Difficulty_Levels", f
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.col-md-3
|
.col-md-8
|
||||||
= render 'admin/conference/sidebar'
|
|
||||||
.col-md-9
|
|
||||||
= link_to "Template Help", "#", :id => "template-help-link"
|
= link_to "Template Help", "#", :id => "template-help-link"
|
||||||
#template-help
|
#template-help
|
||||||
Valid attributes:
|
Valid attributes:
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.col-md-3
|
.col-md-8
|
||||||
= render 'admin/conference/sidebar'
|
|
||||||
.col-md-9
|
|
||||||
= semantic_form_for(@conference, url: admin_conference_eventtypes_path(@conference.short_title, @conference.event_types)) do |f|
|
= semantic_form_for(@conference, url: admin_conference_eventtypes_path(@conference.short_title, @conference.event_types)) do |f|
|
||||||
= dynamic_association :event_types, "Event Types", f
|
= dynamic_association :event_types, "Event Types", f
|
||||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.col-md-3
|
.col-md-8
|
||||||
= render 'admin/conference/sidebar'
|
|
||||||
.col-md-9
|
|
||||||
.pull-right
|
.pull-right
|
||||||
%b= link_to "Create New Question","#", "data-toggle" => "modal", "data-target" => "#new-question", :class => "btn btn-success"
|
%b= link_to "Create New Question","#", "data-toggle" => "modal", "data-target" => "#new-question", :class => "btn btn-success"
|
||||||
%br
|
%br
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.col-md-3
|
.col-md-8
|
||||||
= render 'admin/conference/sidebar'
|
|
||||||
.col-md-9
|
|
||||||
= semantic_form_for(@conference, :url => admin_conference_room_path(@conference.short_title, @conference.rooms)) do |f|
|
= semantic_form_for(@conference, :url => admin_conference_room_path(@conference.short_title, @conference.rooms)) do |f|
|
||||||
= dynamic_association :rooms, "Rooms", f
|
= dynamic_association :rooms, "Rooms", f
|
||||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.col-md-3
|
.col-md-8
|
||||||
= render 'admin/conference/sidebar'
|
|
||||||
.col-md-9
|
|
||||||
= semantic_form_for(@conference, :url => admin_conference_social_event_path(@conference.short_title, @conference.social_events)) do |f|
|
= semantic_form_for(@conference, :url => admin_conference_social_event_path(@conference.short_title, @conference.social_events)) do |f|
|
||||||
= dynamic_association :social_events, "Social Events", f
|
= dynamic_association :social_events, "Social Events", f
|
||||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.col-md-3
|
.col-md-8
|
||||||
= render 'admin/conference/sidebar'
|
|
||||||
.col-md-9
|
|
||||||
= semantic_form_for(@conference, :url => admin_conference_supporter_level_path(@conference.short_title, @conference.supporter_levels)) do |f|
|
= semantic_form_for(@conference, :url => admin_conference_supporter_level_path(@conference.short_title, @conference.supporter_levels)) do |f|
|
||||||
= f.input :use_supporter_levels, :label => false
|
= f.input :use_supporter_levels, :label => false
|
||||||
= dynamic_association :supporter_levels, "Supporter Levels", f
|
= dynamic_association :supporter_levels, "Supporter Levels", f
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.col-md-3
|
.col-md-8
|
||||||
= render 'admin/conference/sidebar'
|
|
||||||
.col-md-9
|
|
||||||
= semantic_form_for(@conference, :url => admin_conference_track_path(@conference.short_title, @conference.tracks)) do |f|
|
= semantic_form_for(@conference, :url => admin_conference_track_path(@conference.short_title, @conference.tracks)) do |f|
|
||||||
= dynamic_association :tracks, "Tracks", f
|
= dynamic_association :tracks, "Tracks", f
|
||||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.col-md-3
|
.col-md-8
|
||||||
= render 'admin/conference/sidebar'
|
|
||||||
.col-md-9
|
|
||||||
= semantic_form_for(@venue, :url => admin_conference_venue_update_path(@conference.short_title),:html => {:multipart => true}) do |f|
|
= semantic_form_for(@venue, :url => admin_conference_venue_update_path(@conference.short_title),:html => {:multipart => true}) do |f|
|
||||||
= f.input :name, :input_html => {:rows => 1}
|
= f.input :name, :input_html => {:rows => 1}
|
||||||
= f.input :address, :input_html => {:rows => 1}
|
= f.input :address, :input_html => {:rows => 1}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
.row
|
.row
|
||||||
.col-md-3
|
.col-md-8
|
||||||
= render 'admin/conference/sidebar'
|
|
||||||
.col-md-9
|
|
||||||
= semantic_form_for(@conference, :url => admin_conference_volunteers_update_path(@conference.short_title)) do |f|
|
= semantic_form_for(@conference, :url => admin_conference_volunteers_update_path(@conference.short_title)) do |f|
|
||||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||||
%br
|
%br
|
||||||
|
|
|
||||||
14
app/views/layouts/_admin.html.haml
Normal file
14
app/views/layouts/_admin.html.haml
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
.container-fluid
|
||||||
|
.row
|
||||||
|
.col-md-2
|
||||||
|
- if @conference and not @conference.short_title.nil?
|
||||||
|
-# Individual admin sidebar
|
||||||
|
= render 'layouts/admin_sidebar'
|
||||||
|
-else
|
||||||
|
-# Index admin sidebar
|
||||||
|
= render 'layouts/admin_sidebar_index'
|
||||||
|
.col-md-10
|
||||||
|
#messages
|
||||||
|
=render 'layouts/messages'
|
||||||
|
#content
|
||||||
|
= yield
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
%ul.nav.navbar-nav
|
|
||||||
%li{:class=> active_nav_li(admin_conference_path(@conference.short_title))}
|
|
||||||
= link_to(admin_conference_path(@conference.short_title)) do
|
|
||||||
%span.glyphicon.glyphicon-wrench
|
|
||||||
Settings
|
|
||||||
%li{:class=> active_nav_li(admin_conference_registrations_path(@conference.short_title))}
|
|
||||||
= link_to(admin_conference_registrations_path(@conference.short_title)) do
|
|
||||||
%span.glyphicon.glyphicon-user
|
|
||||||
Registrations
|
|
||||||
- if @conference.use_supporter_levels? and @conference.supporter_levels.length > 0
|
|
||||||
%li{:class=> active_nav_li(admin_conference_supporters_path(@conference.short_title))}
|
|
||||||
= link_to(admin_conference_supporters_path(@conference.short_title)) do
|
|
||||||
%span.glyphicon.glyphicon-star
|
|
||||||
Supporters
|
|
||||||
%li{:class=> active_nav_li(admin_conference_events_path(@conference.short_title))}
|
|
||||||
= link_to(admin_conference_events_path(@conference.short_title)) do
|
|
||||||
%span.glyphicon.glyphicon-comment
|
|
||||||
Events
|
|
||||||
%li{:class=> active_nav_li(admin_conference_stats_path(@conference.short_title))}
|
|
||||||
= link_to(admin_conference_stats_path(@conference.short_title)) do
|
|
||||||
%span.glyphicon.glyphicon-tasks
|
|
||||||
Statistics
|
|
||||||
%li{:class=> active_nav_li(admin_conference_volunteers_list_path(@conference.short_title))}
|
|
||||||
= link_to(admin_conference_volunteers_list_path(@conference.short_title)) do
|
|
||||||
%span.glyphicon.glyphicon-user
|
|
||||||
Volunteers
|
|
||||||
%li
|
|
||||||
= link_to(admin_conference_schedule_path(@conference.short_title), :target => "_blank") do
|
|
||||||
%span.glyphicon.glyphicon-calendar
|
|
||||||
Schedule
|
|
||||||
71
app/views/layouts/_admin_sidebar.html.haml
Normal file
71
app/views/layouts/_admin_sidebar.html.haml
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
%ul.nav.nav-stacked.mySidebar
|
||||||
|
.btn-group
|
||||||
|
%button{type:'button', class:'btn btn-default btn-link dropdown-toggle', 'data-toggle'=>'dropdown'}
|
||||||
|
%span.glyphicon.glyphicon-home
|
||||||
|
Conferences
|
||||||
|
%span.caret
|
||||||
|
%ul.dropdown-menu{role:'menu'}
|
||||||
|
%li
|
||||||
|
= link_to(admin_conference_index_path) do
|
||||||
|
%span.glyphicon.glyphicon-dashboard
|
||||||
|
All
|
||||||
|
- @conferences.each do |conference|
|
||||||
|
%li
|
||||||
|
= link_to(admin_conference_path(conference.short_title)) do
|
||||||
|
%span.glyphicon.glyphicon-cog
|
||||||
|
Manage
|
||||||
|
= conference.short_title
|
||||||
|
%li
|
||||||
|
= link_to(new_admin_conference_path) do
|
||||||
|
%span.glyphicon.glyphicon-plus
|
||||||
|
New Conference
|
||||||
|
%hr
|
||||||
|
%li{:class=> active_nav_li(admin_conference_registrations_path(@conference.short_title))}
|
||||||
|
= link_to(admin_conference_registrations_path(@conference.short_title)) do
|
||||||
|
%span.glyphicon.glyphicon-user
|
||||||
|
Registrations
|
||||||
|
%li{:class=> active_nav_li(admin_conference_events_path(@conference.short_title))}
|
||||||
|
= link_to(admin_conference_events_path(@conference.short_title)) do
|
||||||
|
%span.glyphicon.glyphicon-comment
|
||||||
|
Events
|
||||||
|
%li{class: active_nav_li(admin_conference_schedule_path(@conference.short_title))}
|
||||||
|
= link_to(admin_conference_schedule_path(@conference.short_title), target: '_blank') do
|
||||||
|
%span.glyphicon.glyphicon-calendar
|
||||||
|
Shedule
|
||||||
|
%hr
|
||||||
|
%li.nav-header
|
||||||
|
%a
|
||||||
|
%span.glyphicon.glyphicon-wrench
|
||||||
|
Settings
|
||||||
|
%li{:class=> active_nav_li(admin_conference_path(@conference.short_title))}
|
||||||
|
= link_to(admin_conference_path(@conference.short_title)) do
|
||||||
|
%span.glyphicon.glyphicon-cog
|
||||||
|
Conference
|
||||||
|
%li{:class=> "#{active_nav_li(admin_conference_venue_info_path(@conference.short_title))} myAccordion"}
|
||||||
|
= link_to(admin_conference_venue_info_path(@conference.short_title)) do
|
||||||
|
%span.glyphicon.glyphicon-calendar
|
||||||
|
Venue
|
||||||
|
%span.small.glyphicon.glyphicon-chevron-right
|
||||||
|
%ul.nav.nav-stacked.small.collapse.subNav
|
||||||
|
%li{:class=> active_nav_li(admin_conference_rooms_path(@conference.short_title))}
|
||||||
|
= link_to 'Rooms', admin_conference_rooms_path(@conference.short_title)
|
||||||
|
%li{:class=> active_nav_li(admin_conference_emails_path(@conference.short_title))}
|
||||||
|
= link_to(admin_conference_emails_path(@conference.short_title)) do
|
||||||
|
%span.glyphicon.glyphicon-envelope
|
||||||
|
E-Mails
|
||||||
|
%li{:class=> "#{active_nav_li(admin_conference_callforpapers_path(@conference.short_title))} myAccordion"}
|
||||||
|
= link_to(admin_conference_callforpapers_path(@conference.short_title)) do
|
||||||
|
%span.glyphicon.glyphicon-comment
|
||||||
|
Call for papers
|
||||||
|
%span.small.glyphicon.glyphicon-chevron-right
|
||||||
|
%ul.nav.nav-stacked.small.collapse.subNav
|
||||||
|
%li{:class=> active_nav_li(admin_conference_tracks_path(@conference.short_title))}
|
||||||
|
= link_to 'Tracks', admin_conference_tracks_path(@conference.short_title)
|
||||||
|
%li{:class=> active_nav_li(admin_conference_eventtypes_path(@conference.short_title))}
|
||||||
|
= link_to 'Event types', admin_conference_eventtypes_path(@conference.short_title)
|
||||||
|
%li{:class=> active_nav_li(admin_conference_difficulty_levels_path(@conference.short_title))}
|
||||||
|
= link_to 'Difficulty levels', admin_conference_difficulty_levels_path(@conference.short_title)
|
||||||
|
%li{:class=> active_nav_li(admin_conference_questions_path(@conference.short_title))}
|
||||||
|
= link_to(admin_conference_questions_path(@conference.short_title)) do
|
||||||
|
%span.glyphicon.glyphicon-question-sign
|
||||||
|
Questions
|
||||||
30
app/views/layouts/_admin_sidebar_index.html.haml
Normal file
30
app/views/layouts/_admin_sidebar_index.html.haml
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
%ul.nav.nav-pills.nav-stacked.mySidebar
|
||||||
|
.btn-group
|
||||||
|
%button{type: 'button', class: 'btn btn-default btn-link dropdown-toggle', 'data-toggle'=>'dropdown'}
|
||||||
|
%span.glyphicon.glyphicon-home
|
||||||
|
Conferences
|
||||||
|
%span.caret
|
||||||
|
%ul.dropdown-menu{role: 'menu'}
|
||||||
|
%li
|
||||||
|
= link_to(admin_conference_index_path) do
|
||||||
|
%span.glyphicon.glyphicon-dashboard
|
||||||
|
All
|
||||||
|
- @conferences.each do |conference|
|
||||||
|
%li
|
||||||
|
= link_to(admin_conference_path(conference.short_title)) do
|
||||||
|
%span.glyphicon.glyphicon-cog
|
||||||
|
Manage
|
||||||
|
= conference.short_title
|
||||||
|
%li
|
||||||
|
= link_to(new_admin_conference_path) do
|
||||||
|
%span.glyphicon.glyphicon-plus
|
||||||
|
New Conference
|
||||||
|
%hr
|
||||||
|
%li
|
||||||
|
= link_to(admin_users_path) do
|
||||||
|
%span.glyphicon.glyphicon-user
|
||||||
|
Users
|
||||||
|
%li
|
||||||
|
= link_to(admin_people_path) do
|
||||||
|
%span.glyphicon.glyphicon-star-empty
|
||||||
|
People
|
||||||
|
|
@ -1,3 +1,12 @@
|
||||||
|
%noscript
|
||||||
|
:css
|
||||||
|
#content {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
%h2
|
||||||
|
JavaScript is not enabled
|
||||||
|
%p
|
||||||
|
OSEM requires JavaScript to be enabled to function. Please turn on JavaScript in your browser's settings and reload the page to continue.
|
||||||
- flash.each do |type, message|
|
- flash.each do |type, message|
|
||||||
%div{:class=>"alert alert-dismissable #{bootstrap_class_for(type)}", :id=>"flash"}
|
%div{:class=>"alert alert-dismissable #{bootstrap_class_for(type)}", :id=>"flash"}
|
||||||
.button.close{"data-dismiss" => "alert", "aria-hidden"=>"true"}
|
.button.close{"data-dismiss" => "alert", "aria-hidden"=>"true"}
|
||||||
|
|
|
||||||
|
|
@ -14,11 +14,7 @@
|
||||||
- if @conference && !@conference.short_title.nil?
|
- if @conference && !@conference.short_title.nil?
|
||||||
%p.navbar-text
|
%p.navbar-text
|
||||||
= @conference.short_title
|
= @conference.short_title
|
||||||
- if user_signed_in?
|
-if user_signed_in?
|
||||||
- if has_role?(current_user, "admin") || has_role?(current_user, "organizer")
|
|
||||||
- if controller.class.name.split("::").first=="Admin"
|
|
||||||
- if @conference and not @conference.short_title.nil?
|
|
||||||
= render 'layouts/admin_menu'
|
|
||||||
%ul.nav.navbar-nav.navbar-right
|
%ul.nav.navbar-nav.navbar-right
|
||||||
%li.dropdown
|
%li.dropdown
|
||||||
%a.dropdown-toggle{"data-toggle" => "dropdown", :href => "#", id: "current-user-detail"}
|
%a.dropdown-toggle{"data-toggle" => "dropdown", :href => "#", id: "current-user-detail"}
|
||||||
|
|
|
||||||
|
|
@ -17,21 +17,16 @@
|
||||||
= yield(:head)
|
= yield(:head)
|
||||||
%body
|
%body
|
||||||
= render 'layouts/navigation'
|
= render 'layouts/navigation'
|
||||||
.container#messages
|
-# Admin area
|
||||||
.row
|
- if controller.class.name.split("::").first=="Admin"
|
||||||
.col-md-12
|
= render 'layouts/admin'
|
||||||
= render 'layouts/messages'
|
-else
|
||||||
%noscript
|
.container#messages
|
||||||
:css
|
.row
|
||||||
#content {
|
.col-md-12
|
||||||
display: none;
|
= render 'layouts/messages'
|
||||||
}
|
.container#content
|
||||||
%h2
|
= yield
|
||||||
JavaScript is not enabled
|
|
||||||
%p
|
|
||||||
OSEM requires JavaScript to be enabled to function. Please turn on JavaScript in your browser's settings and reload the page to continue.
|
|
||||||
.container#content
|
|
||||||
= yield
|
|
||||||
|
|
||||||
#footer
|
#footer
|
||||||
.container
|
.container
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
describe 'admin/callforpapers/show' do
|
describe 'admin/callforpapers/show' do
|
||||||
it 'renders conference sidebar' do
|
|
||||||
assign :cfp, CallForPapers.new
|
|
||||||
expect(sidebar).to be true
|
|
||||||
end
|
|
||||||
it 'renders callforpapers details' do
|
it 'renders callforpapers details' do
|
||||||
@conference = create(:conference)
|
@conference = create(:conference)
|
||||||
assign :conference, @conference
|
assign :conference, @conference
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'admin/conference/show' do
|
describe 'admin/conference/show' do
|
||||||
it 'renders conference sidebar' do
|
|
||||||
expect(sidebar).to be true
|
|
||||||
end
|
|
||||||
it 'renders conference details which are editable' do
|
it 'renders conference details which are editable' do
|
||||||
@conference = create(:conference, title: 'OpenSUSE')
|
@conference = create(:conference, title: 'OpenSUSE')
|
||||||
assign :conference, @conference
|
assign :conference, @conference
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'admin/difficulty_levels/index' do
|
describe 'admin/difficulty_levels/index' do
|
||||||
it 'renders conference sidebar' do
|
|
||||||
expect(sidebar).to be true
|
|
||||||
end
|
|
||||||
it 'renders difficulty levels' do
|
it 'renders difficulty levels' do
|
||||||
@difficulty_level = create(:difficulty_level)
|
@difficulty_level = create(:difficulty_level)
|
||||||
assign :conference, @difficulty_level.conference
|
assign :conference, @difficulty_level.conference
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
describe 'admin/emails/index' do
|
describe 'admin/emails/index' do
|
||||||
it 'renders conference sidebar' do
|
|
||||||
assign :settings, create(:email_settings)
|
|
||||||
expect(sidebar).to be true
|
|
||||||
end
|
|
||||||
it 'renders email templates' do
|
it 'renders email templates' do
|
||||||
@conference = create(:conference)
|
@conference = create(:conference)
|
||||||
assign :conference, @conference
|
assign :conference, @conference
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'admin/eventtypes/index' do
|
describe 'admin/eventtypes/index' do
|
||||||
it 'renders conference sidebar' do
|
|
||||||
expect(sidebar).to be true
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'renders event types' do
|
it 'renders event types' do
|
||||||
@event_type = create(:event_type)
|
@event_type = create(:event_type)
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
describe 'admin/rooms/index' do
|
describe 'admin/rooms/index' do
|
||||||
it 'renders conference sidebar' do
|
|
||||||
expect(sidebar).to be true
|
|
||||||
end
|
|
||||||
it 'renders rooms list' do
|
it 'renders rooms list' do
|
||||||
@room = create(:room)
|
@room = create(:room)
|
||||||
assign :conference, @room.conference
|
assign :conference, @room.conference
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'admin/social_events/index' do
|
describe 'admin/social_events/index' do
|
||||||
it 'renders conference sidebar' do
|
|
||||||
expect(sidebar).to be true
|
|
||||||
end
|
|
||||||
it 'renders social events' do
|
it 'renders social events' do
|
||||||
@social_event = create(:social_event)
|
@social_event = create(:social_event)
|
||||||
assign :conference, @social_event.conference
|
assign :conference, @social_event.conference
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'admin/supporter_levels/index' do
|
describe 'admin/supporter_levels/index' do
|
||||||
it 'renders conference sidebar' do
|
|
||||||
expect(sidebar).to be true
|
|
||||||
end
|
|
||||||
it 'renders supporter levels' do
|
it 'renders supporter levels' do
|
||||||
@support_level = create(:supporter_level)
|
@support_level = create(:supporter_level)
|
||||||
assign :conference, @support_level.conference
|
assign :conference, @support_level.conference
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'admin/tracks/index' do
|
describe 'admin/tracks/index' do
|
||||||
it 'renders conference sidebar' do
|
|
||||||
expect(sidebar).to be true
|
|
||||||
end
|
|
||||||
it 'renders tracks' do
|
it 'renders tracks' do
|
||||||
@track = create(:track)
|
@track = create(:track)
|
||||||
assign :conference, @track.conference
|
assign :conference, @track.conference
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,7 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'admin/venue/venue_info' do
|
describe 'admin/venue/venue_info' do
|
||||||
it 'renders conference sidebar' do
|
|
||||||
assign :venue, stub_model(Venue)
|
|
||||||
expect(sidebar).to be true
|
|
||||||
end
|
|
||||||
it 'renders venue#show' do
|
it 'renders venue#show' do
|
||||||
@conference = create(:conference)
|
@conference = create(:conference)
|
||||||
@venue = @conference.venue
|
@venue = @conference.venue
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'admin/volunteers/index' do
|
describe 'admin/volunteers/index' do
|
||||||
it 'renders conference sidebar' do
|
|
||||||
expect(sidebar).to be true
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'renders volunteers days as vdays' do
|
it 'renders volunteers days as vdays' do
|
||||||
@vday = create(:vday)
|
@vday = create(:vday)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue