mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 11:44:02 +00:00
Update gems, use d3 gem, initial bootstrap v3 port
This commit is contained in:
parent
24e40a5c90
commit
587126218d
71 changed files with 798 additions and 10411 deletions
7
Gemfile
7
Gemfile
|
|
@ -1,6 +1,6 @@
|
|||
source 'https://rubygems.org'
|
||||
|
||||
gem 'rails', '3.2.15'
|
||||
gem 'rails', '3.2.17'
|
||||
|
||||
# Bundle edge Rails instead:
|
||||
# gem 'rails', :git => 'git://github.com/rails/rails.git'
|
||||
|
|
@ -8,9 +8,7 @@ gem 'rails', '3.2.15'
|
|||
# Gems used only for assets and not required
|
||||
# in production environments by default.
|
||||
group :assets do
|
||||
gem 'sass-rails', '~> 3.2.3'
|
||||
# gem 'coffee-rails', '~> 3.2.1'
|
||||
gem 'bootstrap-sass'
|
||||
|
||||
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
|
||||
gem 'therubyracer', :platforms => :ruby
|
||||
|
|
@ -45,6 +43,8 @@ gem 'bcrypt-ruby', '~> 3.0.0'
|
|||
#gem 'node'
|
||||
gem 'paper_trail'
|
||||
gem 'formtastic-bootstrap'
|
||||
gem 'bootstrap-sass'
|
||||
gem 'sass-rails', '>= 3.2'
|
||||
gem 'cocoon'
|
||||
gem 'transitions', :require => ["transitions", "active_record/transitions"]
|
||||
gem 'acts_as_commentable_with_threading'
|
||||
|
|
@ -53,3 +53,4 @@ gem 'prawn_rails'
|
|||
gem 'gravtastic'
|
||||
gem 'active_model_serializers'
|
||||
gem 'axlsx_rails'
|
||||
gem 'd3_rails'
|
||||
|
|
|
|||
160
Gemfile.lock
160
Gemfile.lock
|
|
@ -1,13 +1,12 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
Ascii85 (1.0.2)
|
||||
actionmailer (3.2.15)
|
||||
actionpack (= 3.2.15)
|
||||
actionmailer (3.2.17)
|
||||
actionpack (= 3.2.17)
|
||||
mail (~> 2.5.4)
|
||||
actionpack (3.2.15)
|
||||
activemodel (= 3.2.15)
|
||||
activesupport (= 3.2.15)
|
||||
actionpack (3.2.17)
|
||||
activemodel (= 3.2.17)
|
||||
activesupport (= 3.2.17)
|
||||
builder (~> 3.0.0)
|
||||
erubis (~> 2.7.0)
|
||||
journey (~> 1.0.4)
|
||||
|
|
@ -17,26 +16,25 @@ GEM
|
|||
sprockets (~> 2.2.1)
|
||||
active_model_serializers (0.8.1)
|
||||
activemodel (>= 3.0)
|
||||
activemodel (3.2.15)
|
||||
activesupport (= 3.2.15)
|
||||
activemodel (3.2.17)
|
||||
activesupport (= 3.2.17)
|
||||
builder (~> 3.0.0)
|
||||
activerecord (3.2.15)
|
||||
activemodel (= 3.2.15)
|
||||
activesupport (= 3.2.15)
|
||||
activerecord (3.2.17)
|
||||
activemodel (= 3.2.17)
|
||||
activesupport (= 3.2.17)
|
||||
arel (~> 3.0.2)
|
||||
tzinfo (~> 0.3.29)
|
||||
activeresource (3.2.15)
|
||||
activemodel (= 3.2.15)
|
||||
activesupport (= 3.2.15)
|
||||
activesupport (3.2.15)
|
||||
activeresource (3.2.17)
|
||||
activemodel (= 3.2.17)
|
||||
activesupport (= 3.2.17)
|
||||
activesupport (3.2.17)
|
||||
i18n (~> 0.6, >= 0.6.4)
|
||||
multi_json (~> 1.0)
|
||||
acts_as_commentable_with_threading (1.1.3)
|
||||
acts_as_commentable_with_threading (1.2.0)
|
||||
activerecord (>= 3.0)
|
||||
activesupport (~> 3.0)
|
||||
activesupport (>= 3.0)
|
||||
awesome_nested_set (>= 2.0)
|
||||
afm (0.2.0)
|
||||
arel (3.0.2)
|
||||
arel (3.0.3)
|
||||
awesome_nested_set (2.1.6)
|
||||
activerecord (>= 3.0.0)
|
||||
axlsx (2.0.1)
|
||||
|
|
@ -47,7 +45,7 @@ GEM
|
|||
axlsx
|
||||
rails (>= 3.1)
|
||||
bcrypt-ruby (3.0.1)
|
||||
bootstrap-sass (2.3.2.2)
|
||||
bootstrap-sass (3.1.1.0)
|
||||
sass (~> 3.2)
|
||||
builder (3.0.4)
|
||||
cancan (1.6.10)
|
||||
|
|
@ -58,16 +56,18 @@ GEM
|
|||
rack-test (>= 0.5.4)
|
||||
selenium-webdriver (~> 2.0)
|
||||
xpath (~> 0.1.4)
|
||||
childprocess (0.3.9)
|
||||
childprocess (0.5.1)
|
||||
ffi (~> 1.0, >= 1.0.11)
|
||||
climate_control (0.0.3)
|
||||
activesupport (>= 3.0)
|
||||
cocaine (0.5.2)
|
||||
cocaine (0.5.3)
|
||||
climate_control (>= 0.0.3, < 1.0)
|
||||
cocoon (1.2.1)
|
||||
coderay (1.0.9)
|
||||
cocoon (1.2.5)
|
||||
coderay (1.1.0)
|
||||
d3_rails (3.4.3)
|
||||
railties (>= 3.1.0)
|
||||
daemons (1.1.9)
|
||||
devise (2.2.7)
|
||||
devise (2.2.8)
|
||||
bcrypt-ruby (~> 3.0)
|
||||
orm_adapter (~> 0.1)
|
||||
railties (~> 3.1)
|
||||
|
|
@ -76,26 +76,25 @@ GEM
|
|||
erubis (2.7.0)
|
||||
eventmachine (1.0.3)
|
||||
execjs (2.0.2)
|
||||
ffi (1.9.0)
|
||||
ffi (1.9.3)
|
||||
formtastic (2.2.1)
|
||||
actionpack (>= 3.0)
|
||||
formtastic-bootstrap (2.1.3)
|
||||
formtastic (~> 2.2)
|
||||
formtastic-bootstrap (3.0.0)
|
||||
formtastic (>= 2.2)
|
||||
gravtastic (3.2.6)
|
||||
haml (4.0.3)
|
||||
haml (4.0.5)
|
||||
tilt
|
||||
hashery (2.1.1)
|
||||
hike (1.2.3)
|
||||
htmlentities (4.3.1)
|
||||
i18n (0.6.5)
|
||||
i18n (0.6.9)
|
||||
journey (1.0.4)
|
||||
jquery-fileupload-rails (0.4.1)
|
||||
actionpack (>= 3.1)
|
||||
railties (>= 3.1)
|
||||
jquery-rails (3.0.4)
|
||||
jquery-rails (3.1.0)
|
||||
railties (>= 3.0, < 5.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
jquery-ui-rails (4.0.5)
|
||||
jquery-ui-rails (4.1.2)
|
||||
railties (>= 3.1.0)
|
||||
json (1.8.1)
|
||||
libv8 (3.16.14.3)
|
||||
|
|
@ -103,36 +102,31 @@ GEM
|
|||
mime-types (~> 1.16)
|
||||
treetop (~> 1.4.8)
|
||||
method_source (0.8.2)
|
||||
mime-types (1.25)
|
||||
mini_portile (0.5.1)
|
||||
multi_json (1.8.2)
|
||||
mysql2 (0.3.13)
|
||||
nokogiri (1.6.0)
|
||||
mime-types (1.25.1)
|
||||
mini_portile (0.5.2)
|
||||
multi_json (1.9.0)
|
||||
mysql2 (0.3.15)
|
||||
nokogiri (1.6.1)
|
||||
mini_portile (~> 0.5.0)
|
||||
orm_adapter (0.4.0)
|
||||
paper_trail (2.7.2)
|
||||
activerecord (~> 3.0)
|
||||
railties (~> 3.0)
|
||||
paperclip (3.5.1)
|
||||
orm_adapter (0.5.0)
|
||||
paper_trail (3.0.0)
|
||||
activerecord (>= 3.0, < 5.0)
|
||||
activesupport (>= 3.0, < 5.0)
|
||||
paperclip (3.5.4)
|
||||
activemodel (>= 3.0.0)
|
||||
activesupport (>= 3.0.0)
|
||||
cocaine (~> 0.5.0)
|
||||
cocaine (~> 0.5.3)
|
||||
mime-types
|
||||
pdf-reader (1.3.3)
|
||||
Ascii85 (~> 1.0.0)
|
||||
afm (~> 0.2.0)
|
||||
hashery (~> 2.0)
|
||||
ruby-rc4
|
||||
ttfunk
|
||||
polyglot (0.3.3)
|
||||
prawn (0.12.0)
|
||||
pdf-reader (>= 0.9.0)
|
||||
ttfunk (~> 1.0.2)
|
||||
pdf-core (0.1.6)
|
||||
polyglot (0.3.4)
|
||||
prawn (0.15.0)
|
||||
pdf-core (~> 0.1.3)
|
||||
ttfunk (~> 1.1.0)
|
||||
prawn_rails (0.0.11)
|
||||
prawn (>= 0.11.1)
|
||||
railties (>= 3.0.0)
|
||||
pry (0.9.12.2)
|
||||
coderay (~> 1.0.5)
|
||||
pry (0.9.12.6)
|
||||
coderay (~> 1.0)
|
||||
method_source (~> 0.8)
|
||||
slop (~> 3.4)
|
||||
rack (1.4.5)
|
||||
|
|
@ -142,22 +136,22 @@ GEM
|
|||
rack
|
||||
rack-test (0.6.2)
|
||||
rack (>= 1.0)
|
||||
rails (3.2.15)
|
||||
actionmailer (= 3.2.15)
|
||||
actionpack (= 3.2.15)
|
||||
activerecord (= 3.2.15)
|
||||
activeresource (= 3.2.15)
|
||||
activesupport (= 3.2.15)
|
||||
rails (3.2.17)
|
||||
actionmailer (= 3.2.17)
|
||||
actionpack (= 3.2.17)
|
||||
activerecord (= 3.2.17)
|
||||
activeresource (= 3.2.17)
|
||||
activesupport (= 3.2.17)
|
||||
bundler (~> 1.0)
|
||||
railties (= 3.2.15)
|
||||
railties (3.2.15)
|
||||
actionpack (= 3.2.15)
|
||||
activesupport (= 3.2.15)
|
||||
railties (= 3.2.17)
|
||||
railties (3.2.17)
|
||||
actionpack (= 3.2.17)
|
||||
activesupport (= 3.2.17)
|
||||
rack-ssl (~> 1.3.2)
|
||||
rake (>= 0.8.7)
|
||||
rdoc (~> 3.4)
|
||||
thor (>= 0.14.6, < 2.0)
|
||||
rake (10.1.0)
|
||||
rake (10.1.1)
|
||||
rdoc (3.12.2)
|
||||
json (~> 1.4)
|
||||
ref (1.0.5)
|
||||
|
|
@ -174,43 +168,42 @@ GEM
|
|||
activesupport (>= 3.0)
|
||||
railties (>= 3.0)
|
||||
rspec (~> 2.11.0)
|
||||
ruby-rc4 (0.1.5)
|
||||
rubyzip (1.0.0)
|
||||
sass (3.2.12)
|
||||
sass (3.2.14)
|
||||
sass-rails (3.2.6)
|
||||
railties (~> 3.2.0)
|
||||
sass (>= 3.1.10)
|
||||
tilt (~> 1.3)
|
||||
selenium-webdriver (2.37.0)
|
||||
childprocess (>= 0.2.5)
|
||||
selenium-webdriver (2.40.0)
|
||||
childprocess (>= 0.5.0)
|
||||
multi_json (~> 1.0)
|
||||
rubyzip (~> 1.0.0)
|
||||
rubyzip (~> 1.0)
|
||||
websocket (~> 1.0.4)
|
||||
slop (3.4.6)
|
||||
slop (3.4.7)
|
||||
sprockets (2.2.2)
|
||||
hike (~> 1.2)
|
||||
multi_json (~> 1.0)
|
||||
rack (~> 1.0)
|
||||
tilt (~> 1.1, != 1.3.0)
|
||||
sqlite3 (1.3.8)
|
||||
therubyracer (0.12.0)
|
||||
sqlite3 (1.3.9)
|
||||
therubyracer (0.12.1)
|
||||
libv8 (~> 3.16.14.0)
|
||||
ref
|
||||
thin (1.5.1)
|
||||
thin (1.6.2)
|
||||
daemons (>= 1.0.9)
|
||||
eventmachine (>= 0.12.6)
|
||||
eventmachine (>= 1.0.0)
|
||||
rack (>= 1.0.0)
|
||||
thor (0.18.1)
|
||||
tilt (1.4.1)
|
||||
transitions (0.1.11)
|
||||
transitions (0.1.12)
|
||||
treetop (1.4.15)
|
||||
polyglot
|
||||
polyglot (>= 0.3.1)
|
||||
ttfunk (1.0.3)
|
||||
ttfunk (1.1.1)
|
||||
tzinfo (0.3.38)
|
||||
uglifier (2.2.1)
|
||||
uglifier (2.4.0)
|
||||
execjs (>= 0.3.0)
|
||||
multi_json (~> 1.0, >= 1.0.2)
|
||||
json (>= 1.8.0)
|
||||
warden (1.2.3)
|
||||
rack (>= 1.0)
|
||||
websocket (1.0.7)
|
||||
|
|
@ -230,6 +223,7 @@ DEPENDENCIES
|
|||
cancan
|
||||
capybara (= 1.1.2)
|
||||
cocoon
|
||||
d3_rails
|
||||
devise (~> 2.2)
|
||||
formtastic-bootstrap
|
||||
gravtastic
|
||||
|
|
@ -243,9 +237,9 @@ DEPENDENCIES
|
|||
prawn
|
||||
prawn_rails
|
||||
pry
|
||||
rails (= 3.2.15)
|
||||
rails (= 3.2.17)
|
||||
rspec-rails (= 2.11.0)
|
||||
sass-rails (~> 3.2.3)
|
||||
sass-rails (>= 3.2)
|
||||
sqlite3
|
||||
therubyracer
|
||||
thin
|
||||
|
|
|
|||
|
|
@ -19,10 +19,10 @@
|
|||
//= require cocoon
|
||||
//= require bootstrap
|
||||
//= require osem
|
||||
//= require d3.v3
|
||||
//= require d3.v3.min
|
||||
//= require d3
|
||||
|
||||
$(document).ready(function() {
|
||||
$('a[disabled=disabled]').click(function(event){
|
||||
return false;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
8774
app/assets/javascripts/d3.v3.js
vendored
8774
app/assets/javascripts/d3.v3.js
vendored
File diff suppressed because it is too large
Load diff
5
app/assets/javascripts/d3.v3.min.js
vendored
5
app/assets/javascripts/d3.v3.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -1,10 +1,12 @@
|
|||
/*
|
||||
*= require strap-on.css.scss
|
||||
*= require formtastic-bootstrap
|
||||
*= require osem
|
||||
*= require jquery-ui-1.9.2.custom
|
||||
*= require jquery.fileupload-ui
|
||||
*= require jquery-ui-timepicker-addon
|
||||
*= require jquery.dataTables_themeroller
|
||||
*= require osem
|
||||
*= require osem-rating
|
||||
*= require osem-schedule
|
||||
*= require osem-schedule-print
|
||||
*/
|
||||
|
|
|
|||
18
app/assets/stylesheets/osem-rating.css.scss
Normal file
18
app/assets/stylesheets/osem-rating.css.scss
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
/* Styling for voting on proposals*/
|
||||
.myrating.bright { background-image: image-url("star-bright.png"); }
|
||||
.myrating.glow { background-image: image-url("star-glow.png"); }
|
||||
.othersrating.bright { background-image: image-url("star-bright.png"); }
|
||||
.avgrating.bright { background-image: image-url("star-bright.png"); }
|
||||
.avgrating {
|
||||
background: image-url("star.png") 0 0;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
display: inline-block;
|
||||
}
|
||||
.myrating, .othersrating {
|
||||
background: image-url("star.png") 0 0;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
57
app/assets/stylesheets/osem-schedule.css.scss
Normal file
57
app/assets/stylesheets/osem-schedule.css.scss
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
#schedule td.event {
|
||||
background-image: linear-gradient(bottom, rgb(247,250,242) 24%, rgb(194,232,190) 97%, rgb(194,232,190) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(194,232,190) 97%, rgb(194,232,190) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(194,232,190) 97%, rgb(194,232,190) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(194,232,190) 97%, rgb(194,232,190) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(194,232,190) 97%, rgb(194,232,190) 100%);
|
||||
|
||||
background-image: -webkit-gradient(
|
||||
linear,
|
||||
left bottom,
|
||||
left top,
|
||||
color-stop(0.24, rgb(247,250,242)),
|
||||
color-stop(0.97, rgb(194,232,190)),
|
||||
color-stop(1, rgb(194,232,190))
|
||||
);
|
||||
}
|
||||
|
||||
#schedule td.event:hover
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(247,250,242) 24%, rgb(83,171,74) 97%, rgb(83,171,74) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(83,171,74) 97%, rgb(83,171,74) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(83,171,74) 97%, rgb(83,171,74) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(83,171,74) 97%, rgb(83,171,74) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(83,171,74) 97%, rgb(83,171,74) 100%);
|
||||
|
||||
background-image: -webkit-gradient(
|
||||
linear,
|
||||
left bottom,
|
||||
left top,
|
||||
color-stop(0.24, rgb(247,250,242)),
|
||||
color-stop(0.97, rgb(83,171,74)),
|
||||
color-stop(1, rgb(83,171,74))
|
||||
);
|
||||
}
|
||||
|
||||
.flexvideo {
|
||||
position: relative;
|
||||
padding-bottom: 56.25%; /* 16:9 */
|
||||
padding-top: 25px;
|
||||
height: 0;
|
||||
}
|
||||
.flexvideo iframe {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.schedule-title, .schedule-subtitle, .schedule-speaker, .schedule-track {
|
||||
clear: none;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.schedule-subtitle {
|
||||
color: rgb(185, 74, 72);
|
||||
}
|
||||
|
|
@ -1,207 +1,29 @@
|
|||
/* Sticky footer styles
|
||||
-------------------------------------------------- */
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
/* The html and body elements cannot have any padding or margin. */
|
||||
html {
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
}
|
||||
/* Styling for voting on proposals*/
|
||||
.myrating.bright { background-image: url(../assets/star-bright.png); }
|
||||
.myrating.glow { background-image: url(../assets/star-glow.png); }
|
||||
.othersrating.bright { background-image: url(../assets/star-bright.png); }
|
||||
.avgrating.bright { background-image: url(../assets/star-bright.png); }
|
||||
.avgrating {
|
||||
background: url(../assets/star.png) 0 0;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
display: inline-block;
|
||||
}
|
||||
.myrating, .othersrating {
|
||||
background: url(../assets/star.png) 0 0;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
float: left;
|
||||
body {
|
||||
/* Margin bottom by footer height */
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
|
||||
/* Wrapper for page content to push down footer */
|
||||
#wrap {
|
||||
min-height: 100%;
|
||||
height: auto !important;
|
||||
height: 100%;
|
||||
/* Negative indent footer by it's height */
|
||||
margin: 0 auto -60px;
|
||||
body > #content {
|
||||
padding: 60px 15px 0;
|
||||
}
|
||||
|
||||
/* Set the fixed height of the footer here */
|
||||
#push,
|
||||
#footer {
|
||||
height: 60px;
|
||||
}
|
||||
#footer {
|
||||
background-color: #f5f5f5;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
/* Set the fixed height of the footer here */
|
||||
height: 60px;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.container .credit {
|
||||
margin: 20px 0;
|
||||
.container .text-muted {
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
/* Lastly, apply responsive CSS fixes as necessary */
|
||||
@media (max-width: 767px) {
|
||||
#footer {
|
||||
margin-left: -20px;
|
||||
margin-right: -20px;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 980px) {
|
||||
body { padding-top: 60px; }
|
||||
}
|
||||
|
||||
.center {
|
||||
margin:0 auto;
|
||||
float:none;
|
||||
}
|
||||
|
||||
textarea {
|
||||
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
|
||||
-moz-box-sizing: border-box; /* Firefox, other Gecko */
|
||||
box-sizing: border-box; /* Opera/IE 8+ */
|
||||
width:100%;
|
||||
}
|
||||
|
||||
div.dataTables_length label {
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.dataTables_length select {
|
||||
width: 75px;
|
||||
}
|
||||
|
||||
div.dataTables_filter label {
|
||||
float: right;
|
||||
}
|
||||
|
||||
div.dataTables_info {
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
div.dataTables_paginate {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
table.table {
|
||||
clear: both;
|
||||
margin-bottom: 6px !important;
|
||||
max-width: none !important;
|
||||
}
|
||||
|
||||
table.table thead .sorting,
|
||||
table.table thead .sorting_asc,
|
||||
table.table thead .sorting_desc,
|
||||
table.table thead .sorting_asc_disabled,
|
||||
table.table thead .sorting_desc_disabled {
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
}
|
||||
|
||||
table.table thead .sorting { background: url('images/sort_both.png') no-repeat center right; }
|
||||
table.table thead .sorting_asc { background: url('images/sort_asc.png') no-repeat center right; }
|
||||
table.table thead .sorting_desc { background: url('images/sort_desc.png') no-repeat center right; }
|
||||
|
||||
table.table thead .sorting_asc_disabled { background: url('images/sort_asc_disabled.png') no-repeat center right; }
|
||||
table.table thead .sorting_desc_disabled { background: url('images/sort_desc_disabled.png') no-repeat center right; }
|
||||
|
||||
table.dataTable th:active {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* Scrolling */
|
||||
div.dataTables_scrollHead table {
|
||||
margin-bottom: 0 !important;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
div.dataTables_scrollHead table thead tr:last-child th:first-child,
|
||||
div.dataTables_scrollHead table thead tr:last-child td:first-child {
|
||||
border-bottom-left-radius: 0 !important;
|
||||
border-bottom-right-radius: 0 !important;
|
||||
}
|
||||
|
||||
div.dataTables_scrollBody table {
|
||||
border-top: none;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
div.dataTables_scrollBody tbody tr:first-child th,
|
||||
div.dataTables_scrollBody tbody tr:first-child td {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
div.dataTables_scrollFoot table {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#schedule td.event {
|
||||
background-image: linear-gradient(bottom, rgb(247,250,242) 24%, rgb(194,232,190) 97%, rgb(194,232,190) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(194,232,190) 97%, rgb(194,232,190) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(194,232,190) 97%, rgb(194,232,190) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(194,232,190) 97%, rgb(194,232,190) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(194,232,190) 97%, rgb(194,232,190) 100%);
|
||||
|
||||
background-image: -webkit-gradient(
|
||||
linear,
|
||||
left bottom,
|
||||
left top,
|
||||
color-stop(0.24, rgb(247,250,242)),
|
||||
color-stop(0.97, rgb(194,232,190)),
|
||||
color-stop(1, rgb(194,232,190))
|
||||
);
|
||||
}
|
||||
|
||||
#schedule td.event:hover
|
||||
{
|
||||
background-image: linear-gradient(bottom, rgb(247,250,242) 24%, rgb(83,171,74) 97%, rgb(83,171,74) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(83,171,74) 97%, rgb(83,171,74) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(83,171,74) 97%, rgb(83,171,74) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(83,171,74) 97%, rgb(83,171,74) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(247,250,242) 24%, rgb(83,171,74) 97%, rgb(83,171,74) 100%);
|
||||
|
||||
background-image: -webkit-gradient(
|
||||
linear,
|
||||
left bottom,
|
||||
left top,
|
||||
color-stop(0.24, rgb(247,250,242)),
|
||||
color-stop(0.97, rgb(83,171,74)),
|
||||
color-stop(1, rgb(83,171,74))
|
||||
);
|
||||
}
|
||||
|
||||
.flexvideo {
|
||||
position: relative;
|
||||
padding-bottom: 56.25%; /* 16:9 */
|
||||
padding-top: 25px;
|
||||
height: 0;
|
||||
}
|
||||
.flexvideo iframe {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.schedule-title, .schedule-subtitle, .schedule-speaker, .schedule-track {
|
||||
clear: none;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.schedule-subtitle {
|
||||
color: rgb(185, 74, 72);
|
||||
#footer > .container {
|
||||
padding: 15px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,471 +0,0 @@
|
|||
/***
|
||||
Spectrum Colorpicker v1.0.1
|
||||
https://github.com/bgrins/spectrum
|
||||
Author: Brian Grinstead
|
||||
License: MIT
|
||||
***/
|
||||
|
||||
.sp-container {
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
display:inline-block;
|
||||
*display: inline;
|
||||
*zoom: 1;
|
||||
z-index: 2147483647;
|
||||
overflow: hidden;
|
||||
}
|
||||
.sp-container.sp-flat {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* http://ansciath.tumblr.com/post/7347495869/css-aspect-ratio */
|
||||
.sp-top {
|
||||
position:relative;
|
||||
width: 100%;
|
||||
display:inline-block;
|
||||
}
|
||||
.sp-top-inner {
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
bottom:0;
|
||||
right:0;
|
||||
}
|
||||
.sp-color {
|
||||
position: absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
bottom:0;
|
||||
right:20%;
|
||||
}
|
||||
.sp-hue {
|
||||
position: absolute;
|
||||
top:0;
|
||||
right:0;
|
||||
bottom:0;
|
||||
left:84%;
|
||||
height: 100%;
|
||||
}
|
||||
.sp-fill {
|
||||
padding-top: 80%;
|
||||
}
|
||||
.sp-sat, .sp-val {
|
||||
position: absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
right:0;
|
||||
bottom:0;
|
||||
}
|
||||
|
||||
.sp-alpha-enabled .sp-top
|
||||
{
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
.sp-alpha-enabled .sp-alpha
|
||||
{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.sp-alpha-handle
|
||||
{
|
||||
position:absolute;
|
||||
top:-4px;
|
||||
bottom: -4px;
|
||||
width: 6px;
|
||||
left: 50%;
|
||||
cursor: pointer;
|
||||
border: 1px solid black;
|
||||
background: white;
|
||||
opacity: .8;
|
||||
}
|
||||
|
||||
.sp-alpha
|
||||
{
|
||||
display: none;
|
||||
position: absolute;
|
||||
bottom: -14px;
|
||||
right: 0;
|
||||
left: 0;
|
||||
height: 8px;
|
||||
}
|
||||
.sp-alpha-inner{
|
||||
border: solid 1px #333;
|
||||
}
|
||||
|
||||
/* Don't allow text selection */
|
||||
.sp-container, .sp-replacer, .sp-preview, .sp-dragger, .sp-slider, .sp-alpha, .sp-alpha-handle, .sp-container.sp-dragging .sp-input, .sp-container button {
|
||||
-webkit-user-select:none;
|
||||
-moz-user-select: -moz-none;
|
||||
-o-user-select:none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.sp-container.sp-input-disabled .sp-input-container {
|
||||
display: none;
|
||||
}
|
||||
.sp-container.sp-buttons-disabled .sp-button-container {
|
||||
display: none;
|
||||
}
|
||||
.sp-palette-only .sp-picker-container {
|
||||
display: none;
|
||||
}
|
||||
.sp-palette-disabled .sp-palette-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.sp-initial-disabled .sp-initial {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/* Gradients for hue, saturation and value instead of images. Not pretty... but it works */
|
||||
.sp-sat {
|
||||
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#FFF), to(rgba(204, 154, 129, 0)));
|
||||
background-image: -webkit-linear-gradient(left, #FFF, rgba(204, 154, 129, 0));
|
||||
background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
|
||||
background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
|
||||
background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
|
||||
background-image: linear-gradient(to right, #fff, rgba(204, 154, 129, 0));
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";
|
||||
filter : progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81');
|
||||
}
|
||||
.sp-val {
|
||||
background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#000000), to(rgba(204, 154, 129, 0)));
|
||||
background-image: -webkit-linear-gradient(bottom, #000000, rgba(204, 154, 129, 0));
|
||||
background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
|
||||
background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
|
||||
background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
|
||||
background-image: linear-gradient(to top, #000, rgba(204, 154, 129, 0));
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";
|
||||
filter : progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000');
|
||||
}
|
||||
|
||||
.sp-hue {
|
||||
background: -moz-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
|
||||
background: -ms-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
|
||||
background: -o-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), color-stop(0.17, #ffff00), color-stop(0.33, #00ff00), color-stop(0.5, #00ffff), color-stop(0.67, #0000ff), color-stop(0.83, #ff00ff), to(#ff0000));
|
||||
background: -webkit-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
|
||||
}
|
||||
|
||||
/* IE filters do not support multiple color stops.
|
||||
Generate 6 divs, line them up, and do two color gradients for each.
|
||||
Yes, really.
|
||||
*/
|
||||
|
||||
.sp-1 {
|
||||
height:17%;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00');
|
||||
}
|
||||
.sp-2 {
|
||||
height:16%;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00');
|
||||
}
|
||||
.sp-3 {
|
||||
height:17%;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff');
|
||||
}
|
||||
.sp-4 {
|
||||
height:17%;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff');
|
||||
}
|
||||
.sp-5 {
|
||||
height:16%;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff');
|
||||
}
|
||||
.sp-6 {
|
||||
height:17%;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000');
|
||||
}
|
||||
|
||||
/* Clearfix hack */
|
||||
.sp-cf:before, .sp-cf:after { content: ""; display: table; }
|
||||
.sp-cf:after { clear: both; }
|
||||
.sp-cf { *zoom: 1; }
|
||||
|
||||
/* Mobile devices, make hue slider bigger so it is easier to slide */
|
||||
@media (max-device-width: 480px) {
|
||||
.sp-color { right: 40%; }
|
||||
.sp-hue { left: 63%; }
|
||||
.sp-fill { padding-top: 60%; }
|
||||
}
|
||||
|
||||
.sp-dragger {
|
||||
border-radius: 5px;
|
||||
height: 5px;
|
||||
width: 5px;
|
||||
border: 1px solid #fff;
|
||||
background: #000;
|
||||
cursor: pointer;
|
||||
position:absolute;
|
||||
top:0;
|
||||
left: 0;
|
||||
}
|
||||
.sp-slider {
|
||||
position: absolute;
|
||||
top:0;
|
||||
cursor:pointer;
|
||||
height: 3px;
|
||||
left: -1px;
|
||||
right: -1px;
|
||||
border: 1px solid #000;
|
||||
background: white;
|
||||
opacity: .8;
|
||||
}
|
||||
|
||||
/* Basic display options (colors, fonts, global widths) */
|
||||
.sp-container {
|
||||
border-radius: 0;
|
||||
background-color: #ECECEC;
|
||||
border: solid 1px #f0c49B;
|
||||
padding: 0;
|
||||
}
|
||||
.sp-container, .sp-container button, .sp-container input, .sp-color, .sp-hue
|
||||
{
|
||||
font: normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.sp-top
|
||||
{
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
.sp-color, .sp-hue
|
||||
{
|
||||
border: solid 1px #666;
|
||||
}
|
||||
|
||||
/* Input */
|
||||
.sp-input-container {
|
||||
float:right;
|
||||
width: 100px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.sp-initial-disabled .sp-input-container {
|
||||
width: 100%;
|
||||
}
|
||||
.sp-input {
|
||||
font-size: 12px !important;
|
||||
border: 1px inset;
|
||||
padding: 4px 5px;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
background:transparent;
|
||||
border-radius: 3px;
|
||||
color: #222;
|
||||
}
|
||||
.sp-input:focus {
|
||||
border: 1px solid orange;
|
||||
}
|
||||
.sp-input.sp-validation-error
|
||||
{
|
||||
border: 1px solid red;
|
||||
background: #fdd;
|
||||
}
|
||||
.sp-picker-container , .sp-palette-container
|
||||
{
|
||||
float:left;
|
||||
position: relative;
|
||||
padding: 10px;
|
||||
padding-bottom: 300px;
|
||||
margin-bottom: -290px;
|
||||
}
|
||||
.sp-picker-container
|
||||
{
|
||||
width: 172px;
|
||||
border-left: solid 1px #fff;
|
||||
}
|
||||
|
||||
/* Palettes */
|
||||
.sp-palette-container
|
||||
{
|
||||
border-right: solid 1px #ccc;
|
||||
}
|
||||
|
||||
.sp-palette .sp-thumb-el {
|
||||
display: block;
|
||||
position:relative;
|
||||
float:left;
|
||||
width: 24px;
|
||||
height: 15px;
|
||||
margin: 3px;
|
||||
cursor: pointer;
|
||||
border:solid 2px transparent;
|
||||
}
|
||||
.sp-palette .sp-thumb-el:hover, .sp-palette .sp-thumb-el.sp-thumb-active {
|
||||
border-color: orange;
|
||||
}
|
||||
.sp-thumb-el
|
||||
{
|
||||
position:relative;
|
||||
}
|
||||
|
||||
/* Initial */
|
||||
.sp-initial
|
||||
{
|
||||
float: left;
|
||||
border: solid 1px #333;
|
||||
}
|
||||
.sp-initial span {
|
||||
width: 30px;
|
||||
height: 25px;
|
||||
border:none;
|
||||
display:block;
|
||||
float:left;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
/* Buttons */
|
||||
.sp-button-container {
|
||||
float: right;
|
||||
}
|
||||
|
||||
/* Replacer (the little preview div that shows up instead of the <input>) */
|
||||
.sp-replacer {
|
||||
margin:0;
|
||||
overflow:hidden;
|
||||
cursor:pointer;
|
||||
padding: 4px;
|
||||
display:inline-block;
|
||||
*zoom: 1;
|
||||
*display: inline;
|
||||
border: solid 1px #91765d;
|
||||
background: #eee;
|
||||
color: #333;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.sp-replacer:hover, .sp-replacer.sp-active {
|
||||
border-color: #F0C49B;
|
||||
color: #111;
|
||||
}
|
||||
.sp-replacer.sp-disabled {
|
||||
cursor:default;
|
||||
border-color: silver;
|
||||
color: silver;
|
||||
}
|
||||
.sp-dd {
|
||||
padding: 2px 0;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
float:left;
|
||||
font-size:10px;
|
||||
}
|
||||
.sp-preview
|
||||
{
|
||||
position:relative;
|
||||
width:25px;
|
||||
height: 20px;
|
||||
border: solid 1px #222;
|
||||
margin-right: 5px;
|
||||
float:left;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.sp-palette
|
||||
{
|
||||
*width: 220px;
|
||||
max-width: 220px;
|
||||
}
|
||||
.sp-palette .sp-thumb-el
|
||||
{
|
||||
width:16px;
|
||||
height: 16px;
|
||||
margin:2px 1px;
|
||||
border: solid 1px #d0d0d0;
|
||||
}
|
||||
|
||||
.sp-container
|
||||
{
|
||||
padding-bottom:0;
|
||||
}
|
||||
|
||||
|
||||
/* Buttons: http://hellohappy.org/css3-buttons/ */
|
||||
.sp-container button {
|
||||
background-color: #eeeeee;
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc);
|
||||
background-image: -moz-linear-gradient(top, #eeeeee, #cccccc);
|
||||
background-image: -ms-linear-gradient(top, #eeeeee, #cccccc);
|
||||
background-image: -o-linear-gradient(top, #eeeeee, #cccccc);
|
||||
background-image: -ms-linear-gradient(top, #eeeeee, #cccccc);
|
||||
background-image: linear-gradient(to bottom, #eeeeee, #cccccc);
|
||||
border: 1px solid #ccc;
|
||||
border-bottom: 1px solid #bbb;
|
||||
border-radius: 3px;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
line-height: 1;
|
||||
padding: 5px 4px;
|
||||
text-align: center;
|
||||
text-shadow: 0 1px 0 #eee;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.sp-container button:hover {
|
||||
background-color: #dddddd;
|
||||
background-image: -webkit-linear-gradient(top, #dddddd, #bbbbbb);
|
||||
background-image: -moz-linear-gradient(top, #dddddd, #bbbbbb);
|
||||
background-image: -ms-linear-gradient(top, #dddddd, #bbbbbb);
|
||||
background-image: -o-linear-gradient(top, #dddddd, #bbbbbb);
|
||||
background-image: -ms-linear-gradient(top, #dddddd, #bbbbbb);
|
||||
background-image: linear-gradient(to bottom, #dddddd, #bbbbbb);
|
||||
border: 1px solid #bbb;
|
||||
border-bottom: 1px solid #999;
|
||||
cursor: pointer;
|
||||
text-shadow: 0 1px 0 #ddd;
|
||||
}
|
||||
.sp-container button:active {
|
||||
border: 1px solid #aaa;
|
||||
border-bottom: 1px solid #888;
|
||||
-webkit-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
|
||||
-moz-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
|
||||
-ms-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
|
||||
-o-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
|
||||
box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
|
||||
}
|
||||
.sp-cancel
|
||||
{
|
||||
font-size: 11px;
|
||||
color: #d93f3f !important;
|
||||
margin:0;
|
||||
padding:2px;
|
||||
margin-right: 5px;
|
||||
vertical-align: middle;
|
||||
text-decoration:none;
|
||||
|
||||
}
|
||||
.sp-cancel:hover
|
||||
{
|
||||
color: #d93f3f !important;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
||||
.sp-palette span:hover, .sp-palette span.sp-thumb-active
|
||||
{
|
||||
border-color: #000;
|
||||
}
|
||||
|
||||
.sp-preview, .sp-alpha, .sp-thumb-el
|
||||
{
|
||||
position:relative;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);
|
||||
}
|
||||
.sp-preview-inner, .sp-alpha-inner, .sp-thumb-inner
|
||||
{
|
||||
display:block;
|
||||
position:absolute;
|
||||
top:0;left:0;bottom:0;right:0;
|
||||
}
|
||||
|
||||
.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner
|
||||
{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=);
|
||||
}
|
||||
|
||||
.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner
|
||||
{
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=);
|
||||
}
|
||||
|
|
@ -1,15 +1,8 @@
|
|||
$navbarBackground: #299a0b;
|
||||
$navbarBackgroundHighlight: #299a0b;
|
||||
$navbarBorder: 1px solid #d4d4d4;
|
||||
$navbarText: #ffffff;
|
||||
$navbarLinkColor: white;
|
||||
$navbarLinkColorHover: black;
|
||||
$navbarLinkBackgroundActive: #DFE0DF;
|
||||
$navbar-default-bg: #299a0b;
|
||||
$navbar-default-link-active-bg: #DFE0DF;
|
||||
$navbar-default-border: 1px solid #d4d4d4;
|
||||
$navbar-default-color: #ffffff;
|
||||
$navbar-default-link-color: #ffffff;
|
||||
$navbar-default-link-hover-color: #000000;
|
||||
|
||||
@import "bootstrap";
|
||||
@import "bootstrap-responsive";
|
||||
|
||||
/* Set to navbarBackgroundHighlight otherwise */
|
||||
.navbar .nav > li > a {
|
||||
text-shadow: none;
|
||||
}
|
||||
|
|
@ -1,14 +1,13 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar'
|
||||
.span9
|
||||
= semantic_form_for(@cfp, :url => admin_conference_cfp_update_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 :end_date, :as => :string, :input_html => { :id => "conference-end-datepicker", :readonly => "readonly" }
|
||||
= f.input :hard_deadline, :as => :string, :input_html => { :id => "cfp-hard-datepicker", :readonly => "readonly" }
|
||||
= f.input :description, :hint => "Welcome text for the Call for Papers"
|
||||
= f.input :schedule_changes
|
||||
= f.input :rating, :hint => "Enter the number of different rating levels you want to have for voting on proposals. Enter 0 if you do not want to vote on proposals."
|
||||
= f.input :rating_desc, :label => "Rating Description", :hint => "Enter comments about voting process.", :input_html => {:value => "1 is for 'I don't like this proposal',\n2 is for 'I am ok with this proposal.',\n3 is for 'I love this proposal!'", :rows => 5, :class => "span6"}
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
.row-fluid
|
||||
.col-md-3
|
||||
= render 'admin/conference/sidebar'
|
||||
.col-md-9
|
||||
= semantic_form_for(@cfp, :url => admin_conference_cfp_update_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 :end_date, :as => :string, :input_html => { :id => "conference-end-datepicker", :readonly => "readonly" }
|
||||
= f.input :hard_deadline, :as => :string, :input_html => { :id => "cfp-hard-datepicker", :readonly => "readonly" }
|
||||
= f.input :description, :hint => "Welcome text for the Call for Papers"
|
||||
= f.input :schedule_changes
|
||||
= f.input :rating, :hint => "Enter the number of different rating levels you want to have for voting on proposals. Enter 0 if you do not want to vote on proposals."
|
||||
= f.input :rating_desc, :label => "Rating Description", :hint => "Enter comments about voting process.", :input_html => {:value => "1 is for 'I don't like this proposal',\n2 is for 'I am ok with this proposal.',\n3 is for 'I love this proposal!'", :rows => 5, :class => "span6"}
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
|
|
|
|||
|
|
@ -1,29 +1,26 @@
|
|||
.well.sidebar-nav
|
||||
%ul.nav.nav-list
|
||||
%li.nav-header
|
||||
=@conference.short_title
|
||||
Settings
|
||||
%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_cfp_info_path(@conference.short_title))}
|
||||
= link_to "Call for Papers", admin_conference_cfp_info_path(@conference.short_title)
|
||||
%li{:class=> active_nav_li(admin_conference_rooms_list_path(@conference.short_title))}
|
||||
= link_to "Rooms", admin_conference_rooms_list_path(@conference.short_title)
|
||||
%li{:class=> active_nav_li(admin_conference_tracks_list_path(@conference.short_title))}
|
||||
= link_to "Tracks", admin_conference_tracks_list_path(@conference.short_title)
|
||||
%li{:class=> active_nav_li(admin_conference_eventtype_list_path(@conference.short_title))}
|
||||
= link_to "Event Types", admin_conference_eventtype_list_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_email_settings_path(@conference.short_title))}
|
||||
= link_to "Emails", admin_conference_email_settings_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)
|
||||
%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_cfp_info_path(@conference.short_title))}
|
||||
= link_to "Call for Papers", admin_conference_cfp_info_path(@conference.short_title)
|
||||
%li{:class=> active_nav_li(admin_conference_rooms_list_path(@conference.short_title))}
|
||||
= link_to "Rooms", admin_conference_rooms_list_path(@conference.short_title)
|
||||
%li{:class=> active_nav_li(admin_conference_tracks_list_path(@conference.short_title))}
|
||||
= link_to "Tracks", admin_conference_tracks_list_path(@conference.short_title)
|
||||
%li{:class=> active_nav_li(admin_conference_eventtype_list_path(@conference.short_title))}
|
||||
= link_to "Event Types", admin_conference_eventtype_list_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_email_settings_path(@conference.short_title))}
|
||||
= link_to "Emails", admin_conference_email_settings_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,20 +1,19 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar'
|
||||
.span9
|
||||
= 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 :short_title, :hint => "A short title, such as 'osc2013', to be used in URLs"
|
||||
= f.input :social_tag, :hint => "The hashtag you'll use on Twitter and Google+. Don't include the '#' sign!'"
|
||||
= f.input :contact_email, :hint => "Contact email address for your conference. Will be used as reply-to address in emails sent out by the system."
|
||||
= f.input :timezone, :as => :time_zone, :hint => "The conference time zone"
|
||||
= 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 :registration_start_date, :as => :string, :input_html => { :id => "conference-reg-start-datepicker", :readonly => "readonly" }
|
||||
= f.input :registration_end_date, :as => :string, :input_html => { :id => "conference-reg-end-datepicker", :readonly => "readonly" }
|
||||
- if !@conference.logo.blank?
|
||||
= image_tag @conference.logo(:thumb)
|
||||
= f.input :logo, :label => "Conference Logo", :hint => "This will be displayed on the front page."
|
||||
= f.input :html_export_path, :hint => "The path for static HTML exports"
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
.row
|
||||
.col-md-3
|
||||
= render 'admin/conference/sidebar'
|
||||
.col-md-9
|
||||
= 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 :short_title, :hint => "A short title, such as 'osc2013', to be used in URLs"
|
||||
= f.input :social_tag, :hint => "The hashtag you'll use on Twitter and Google+. Don't include the '#' sign!'"
|
||||
= f.input :contact_email, :hint => "Contact email address for your conference. Will be used as reply-to address in emails sent out by the system."
|
||||
= f.input :timezone, :as => :time_zone, :hint => "The conference time zone"
|
||||
= 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 :registration_start_date, :as => :string, :input_html => { :id => "conference-reg-start-datepicker", :readonly => "readonly" }
|
||||
= f.input :registration_end_date, :as => :string, :input_html => { :id => "conference-reg-end-datepicker", :readonly => "readonly" }
|
||||
- if !@conference.logo.blank?
|
||||
= image_tag @conference.logo(:thumb)
|
||||
= f.input :logo, :label => "Conference Logo", :hint => "This will be displayed on the front page."
|
||||
= f.input :html_export_path, :hint => "The path for static HTML exports"
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar', :activated => "Diet"
|
||||
.span9
|
||||
= semantic_form_for(@conference, :url => admin_conference_dietary_update_path(@conference.short_title)) do |f|
|
||||
= f.input :use_dietary_choices, :label => false
|
||||
= dynamic_association :dietary_choices, "Dietary Choices", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
.row
|
||||
.span3
|
||||
= render 'admin/conference/sidebar', :activated => "Diet"
|
||||
.span9
|
||||
= semantic_form_for(@conference, :url => admin_conference_dietary_update_path(@conference.short_title)) do |f|
|
||||
= f.input :use_dietary_choices, :label => false
|
||||
= dynamic_association :dietary_choices, "Dietary Choices", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
|
|
@ -1,9 +1,8 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar'
|
||||
.span9
|
||||
= semantic_form_for(@conference, :url => admin_conference_difficulty_levels_path(@conference.short_title)) do |f|
|
||||
= f.input :use_difficulty_levels, :label => false
|
||||
= dynamic_association :difficulty_levels, "Difficulty_Levels", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
.row
|
||||
.col-md-3
|
||||
= render 'admin/conference/sidebar'
|
||||
.col-md-9
|
||||
= semantic_form_for(@conference, :url => admin_conference_difficulty_levels_path(@conference.short_title)) do |f|
|
||||
= f.input :use_difficulty_levels, :label => false
|
||||
= dynamic_association :difficulty_levels, "Difficulty_Levels", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
|
|
|
|||
|
|
@ -1,45 +1,43 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar'
|
||||
.span9
|
||||
= link_to "Template Help", "#", :id => "template-help-link"
|
||||
#template-help
|
||||
Valid attributes:
|
||||
%table.table
|
||||
%tr
|
||||
%td {email}
|
||||
%td The user's email address
|
||||
%tr
|
||||
%td {name}
|
||||
%td The user's full name
|
||||
%tr
|
||||
%td {conference}
|
||||
%td The full conference title
|
||||
%tr
|
||||
%td {proposalslink}
|
||||
%td A link to the user's proposal page
|
||||
%tr
|
||||
%td {registrationlink}
|
||||
%td A link to the registration page
|
||||
%tr
|
||||
%td {eventtitle}
|
||||
%td The title of an accepted or rejected proposal
|
||||
|
||||
= semantic_form_for(@settings, :url => admin_conference_email_settings_path(@conference.short_title),:html => {:multipart => true}) do |f|
|
||||
= f.input :send_on_registration, :label => false, :hint => "Send an email when the user registers for the conference?"
|
||||
= f.input :registration_subject
|
||||
= f.input :registration_email_template, :input_html => { :rows => 10, :cols => 20}
|
||||
= f.input :send_on_accepted, :label => false, :hint => "Send an email when the proposal is accepted?"
|
||||
= f.input :accepted_subject
|
||||
= f.input :accepted_email_template, :input_html => { :rows => 10, :cols => 20 }
|
||||
= f.input :send_on_rejected, :label => false, :hint => "Send an email when the proposal is rejected?"
|
||||
= f.input :rejected_subject
|
||||
= f.input :rejected_email_template, :input_html => { :rows => 10, :cols => 20 }
|
||||
= f.input :send_on_confirmed_without_registration, :label => false, :hint => "Send an email when a user has a confirmed proposal, but isn't yet registered?"
|
||||
= f.input :confirmed_without_registration_subject
|
||||
= f.input :confirmed_email_template, :input_html => { :rows => 10, :cols => 20 }
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
.row
|
||||
.col-md-3
|
||||
= render 'admin/conference/sidebar'
|
||||
.col-md-9
|
||||
= link_to "Template Help", "#", :id => "template-help-link"
|
||||
#template-help
|
||||
Valid attributes:
|
||||
%table.table
|
||||
%tr
|
||||
%td {email}
|
||||
%td The user's email address
|
||||
%tr
|
||||
%td {name}
|
||||
%td The user's full name
|
||||
%tr
|
||||
%td {conference}
|
||||
%td The full conference title
|
||||
%tr
|
||||
%td {proposalslink}
|
||||
%td A link to the user's proposal page
|
||||
%tr
|
||||
%td {registrationlink}
|
||||
%td A link to the registration page
|
||||
%tr
|
||||
%td {eventtitle}
|
||||
%td The title of an accepted or rejected proposal
|
||||
= semantic_form_for(@settings, :url => admin_conference_email_settings_path(@conference.short_title),:html => {:multipart => true}) do |f|
|
||||
= f.input :send_on_registration, :label => false, :hint => "Send an email when the user registers for the conference?"
|
||||
= f.input :registration_subject
|
||||
= f.input :registration_email_template, :input_html => { :rows => 10, :cols => 20}
|
||||
= f.input :send_on_accepted, :label => false, :hint => "Send an email when the proposal is accepted?"
|
||||
= f.input :accepted_subject
|
||||
= f.input :accepted_email_template, :input_html => { :rows => 10, :cols => 20 }
|
||||
= f.input :send_on_rejected, :label => false, :hint => "Send an email when the proposal is rejected?"
|
||||
= f.input :rejected_subject
|
||||
= f.input :rejected_email_template, :input_html => { :rows => 10, :cols => 20 }
|
||||
= f.input :send_on_confirmed_without_registration, :label => false, :hint => "Send an email when a user has a confirmed proposal, but isn't yet registered?"
|
||||
= f.input :confirmed_without_registration_subject
|
||||
= f.input :confirmed_email_template, :input_html => { :rows => 10, :cols => 20 }
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
|
||||
:javascript
|
||||
$(document).ready( function() {
|
||||
|
|
|
|||
|
|
@ -1,45 +1,42 @@
|
|||
.row-fluid
|
||||
.row
|
||||
.span12
|
||||
%h5{:style=>"text-align: right"}
|
||||
= link_to "Events Stats", "#", :id => "events-stats-link", :class => "btn btn-success"
|
||||
|
||||
#events-stats
|
||||
.span12
|
||||
%table.table.table-bordered.table-striped
|
||||
%thead
|
||||
%th
|
||||
- @mystates.each do |state|
|
||||
.row
|
||||
.col-md-12
|
||||
= link_to "Show Events Stats", "#", :id => "events-stats-link", :class => "btn btn-default pull-right"
|
||||
.clearfix
|
||||
#events-stats
|
||||
.span12
|
||||
%table.table.table-bordered.table-striped
|
||||
%thead
|
||||
%th
|
||||
- @mystates.each do |state|
|
||||
%th{:colspan => 2, :style => "text-align:center"}
|
||||
State "#{state.name}"
|
||||
%th{:colspan => 2, :style => "text-align:center"}
|
||||
State "#{state.name}"
|
||||
%th{:colspan => 2, :style => "text-align:center"}
|
||||
Total
|
||||
%br
|
||||
No & Time
|
||||
|
||||
%tr
|
||||
%td
|
||||
%b Total
|
||||
- @mystates.each do |mystate|
|
||||
%td
|
||||
%b
|
||||
= @eventstats["#{mystate.name}"]["count"]
|
||||
%td
|
||||
%b
|
||||
#{@eventstats["#{mystate.name}"]["length"] / 60} h #{@eventstats["#{mystate.name}"]["length"] - @eventstats["#{mystate.name}"]["length"] / 60 * 60} m
|
||||
%td
|
||||
%b= @events.count
|
||||
%td
|
||||
%b= show_time(@eventstats["totallength"])
|
||||
|
||||
- @mytypes.each do |mytype|
|
||||
Total
|
||||
%br
|
||||
No & Time
|
||||
%tr
|
||||
%td= "#{mytype.title} (#{show_time(mytype.length)})"
|
||||
- @mystates.each do |mystate|
|
||||
%td= @eventstats["#{mytype.title}"]["#{mystate.name}"]["type_state_count"] unless @eventstats["#{mytype.title}"]["#{mystate.name}"] == nil
|
||||
%td= show_time(@eventstats["#{mytype.title}"]["#{mystate.name}"]["type_state_length"]) unless @eventstats["#{mytype.title}"]["#{mystate.name}"] == nil
|
||||
%td= @eventstats["#{mytype.title}"]["count"]
|
||||
%td= show_time(@eventstats["#{mytype.title}"]["length"])
|
||||
%td
|
||||
%b Total
|
||||
- @mystates.each do |mystate|
|
||||
%td
|
||||
%b
|
||||
= @eventstats["#{mystate.name}"]["count"]
|
||||
%td
|
||||
%b
|
||||
#{@eventstats["#{mystate.name}"]["length"] / 60} h #{@eventstats["#{mystate.name}"]["length"] - @eventstats["#{mystate.name}"]["length"] / 60 * 60} m
|
||||
%td
|
||||
%b= @events.count
|
||||
%td
|
||||
%b= show_time(@eventstats["totallength"])
|
||||
|
||||
- @mytypes.each do |mytype|
|
||||
%tr
|
||||
%td= "#{mytype.title} (#{show_time(mytype.length)})"
|
||||
- @mystates.each do |mystate|
|
||||
%td= @eventstats["#{mytype.title}"]["#{mystate.name}"]["type_state_count"] unless @eventstats["#{mytype.title}"]["#{mystate.name}"] == nil
|
||||
%td= show_time(@eventstats["#{mytype.title}"]["#{mystate.name}"]["type_state_length"]) unless @eventstats["#{mytype.title}"]["#{mystate.name}"] == nil
|
||||
%td= @eventstats["#{mytype.title}"]["count"]
|
||||
%td= show_time(@eventstats["#{mytype.title}"]["length"])
|
||||
|
||||
|
||||
:javascript
|
||||
|
|
|
|||
|
|
@ -1,15 +1,14 @@
|
|||
.row-fluid
|
||||
.span10
|
||||
.row
|
||||
.col-md-12
|
||||
%h3
|
||||
= @event.title
|
||||
%br
|
||||
%span.muted
|
||||
%small
|
||||
= @event.subtitle
|
||||
.span2
|
||||
= link_to "Edit", edit_admin_conference_event_path(@conference.short_title, @event), :class => "btn btn-mini btn-primary"
|
||||
= link_to "Edit", edit_admin_conference_event_path(@conference.short_title, @event), :class => "btn btn-mini btn-default pull-right"
|
||||
|
||||
.row-fluid
|
||||
.span12
|
||||
.row
|
||||
.col-md-12
|
||||
%table.table
|
||||
%tr
|
||||
%td{:style => "width:15%"}
|
||||
|
|
@ -161,7 +160,7 @@
|
|||
= link_to "Delete", conference_proposal_event_attachment_path(@conference.short_title, @event.id, a.id),
|
||||
:method => :delete, :confirm => "Are you sure you want to delete this attachment? It's permanant!"
|
||||
|
||||
.row-fluid
|
||||
.row
|
||||
= link_to "Comments (#{@comment_count})", "#", :id => "event-comment-link"
|
||||
#comments-div
|
||||
%hr
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
.container
|
||||
= render 'proposal/form'
|
||||
= render 'proposal/form'
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
= render :partial => "events_stats"
|
||||
|
||||
.row-fluid
|
||||
.span12
|
||||
.row
|
||||
.col-md-12
|
||||
%h2
|
||||
Events
|
||||
- if @events
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
#proposal-content.tab-pane.active
|
||||
= render 'proposal'
|
||||
#history-content.tab-pane
|
||||
.span12
|
||||
.col-md-12
|
||||
%table.table
|
||||
%thead
|
||||
%th
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar'
|
||||
.span9
|
||||
= semantic_form_for(@conference, :url => admin_conference_eventtype_update_path(@conference.short_title)) do |f|
|
||||
= dynamic_association :event_types, "Event Types", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
.row
|
||||
.col-md-3
|
||||
= render 'admin/conference/sidebar'
|
||||
.col-md-9
|
||||
= semantic_form_for(@conference, :url => admin_conference_eventtype_update_path(@conference.short_title)) do |f|
|
||||
= dynamic_association :event_types, "Event Types", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,14 @@
|
|||
.row-fluid
|
||||
.span6
|
||||
%h2
|
||||
People
|
||||
- if @people
|
||||
= "(#{@people.length})"
|
||||
.span6
|
||||
.pull-right{:style=>"margin-top:20px; margin-bottom:20px;"}
|
||||
= link_to "New person", new_admin_person_path, :class => "btn btn-success"
|
||||
.row
|
||||
.col-md-12
|
||||
.page-header
|
||||
%h1
|
||||
People
|
||||
- if @people
|
||||
= "(#{@people.length})"
|
||||
= link_to "New person", new_admin_person_path, :class => "btn btn-success pull-right"
|
||||
|
||||
.row-fluid
|
||||
.span12
|
||||
.row
|
||||
.col-md-12
|
||||
.well
|
||||
%table.table.table-striped.table-bordered.table-hover#people
|
||||
%thead
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
.row-fluid
|
||||
.span6
|
||||
.row
|
||||
.col-md-6
|
||||
%legend Question
|
||||
= f.input :title, :label => "Your Question"
|
||||
= f.input :question_type
|
||||
= f.input :global, :label => "Make Global", :hint => "(Global questions are available for selection to all conferences)"
|
||||
.span6
|
||||
.col-md-6
|
||||
= dynamic_association :answers, "Answers", f, :hint => "Insert your answers in the order you want them to appear"
|
||||
|
|
@ -1,31 +1,29 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar'
|
||||
.span9
|
||||
.pull-right
|
||||
%b= link_to "Create New Question","#", "data-toggle" => "modal", "data-target" => "#new-question", :class => "btn btn-success"
|
||||
%br
|
||||
%br
|
||||
.row
|
||||
.col-md-3
|
||||
= render 'admin/conference/sidebar'
|
||||
.col-md-9
|
||||
.pull-right
|
||||
%b= link_to "Create New Question","#", "data-toggle" => "modal", "data-target" => "#new-question", :class => "btn btn-success"
|
||||
%br
|
||||
%br
|
||||
- if @questions.count > 0
|
||||
= semantic_form_for(@conference, :url => admin_conference_questions_update_conference_path(@conference.short_title), :method => 'put') do |f|
|
||||
.questions{:id => "myquestions"}
|
||||
= render :partial => "questions"
|
||||
= f.submit "Update Questions for #{@conference.short_title}", :class => "btn btn-primary", :confirm => "Are you sure you want to make these changes?"
|
||||
|
||||
- if @questions.count > 0
|
||||
|
||||
= semantic_form_for(@conference, :url => admin_conference_questions_update_conference_path(@conference.short_title), :method => 'put') do |f|
|
||||
|
||||
.questions{:id => "myquestions"}
|
||||
= render :partial => "questions"
|
||||
|
||||
= f.submit "Update Questions for #{@conference.short_title}", :class => "btn btn-primary", :confirm => "Are you sure you want to make these changes?"
|
||||
|
||||
.modal.hide.fade{:id => "new-question", "role" => "dialog", "aria-hidden" => "true"}
|
||||
.modal-header
|
||||
%h3{:id => "new-question-header"}
|
||||
Add new question
|
||||
.modal-body
|
||||
= semantic_form_for(@new_question, :url => admin_conference_questions_path(@conference.short_title), :method => :post) do |f|
|
||||
= render :partial => "form", :locals => {:f => f}
|
||||
%button{:class => "btn btn-primary"}
|
||||
Save
|
||||
.pull-right
|
||||
%button{:class=> "btn btn-danger", "data-dismiss"=> "modal", "aria-hidden"=>"true"}
|
||||
Cancel
|
||||
.modal.fade{:id => "new-question", "role" => "dialog", "aria-hidden" => "true"}
|
||||
.modal-dialog
|
||||
.modal-content
|
||||
.modal-header
|
||||
%h3{:id => "new-question-header"}
|
||||
Add new question
|
||||
.modal-body
|
||||
= semantic_form_for(@new_question, :url => admin_conference_questions_path(@conference.short_title), :method => :post) do |f|
|
||||
= render :partial => "form", :locals => {:f => f}
|
||||
%button{:class => "btn btn-primary"}
|
||||
Save
|
||||
.pull-right
|
||||
%button{:class=> "btn btn-danger", "data-dismiss"=> "modal", "aria-hidden"=>"true"}
|
||||
Cancel
|
||||
|
|
|
|||
|
|
@ -1,41 +1,35 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span12
|
||||
%h3
|
||||
Edit registration of #{@person.public_name} (#{@person.email}) for #{@conference.title}
|
||||
%br
|
||||
.row-fluid
|
||||
.span12
|
||||
= semantic_form_for(@registration, :url => admin_conference_registrations_edit_path(@conference.short_title, @registration.id), :html => { :method => :put }) do |f|
|
||||
|
||||
= f.inputs "Personal Information" do
|
||||
= f.fields_for :person do |p|
|
||||
= p.input :first_name, :as => :string
|
||||
= p.input :last_name, :as => :string
|
||||
= p.label :Nickname, :as => :string
|
||||
= p.text_field :irc_nickname, :as => :string
|
||||
= p.label :Affiliation
|
||||
= p.text_field :company, :placeholder => "Company/User Group/nothing", :as => :string
|
||||
|
||||
= f.inputs "Registration Information" do
|
||||
- if @conference.use_supporter_levels? and @conference.supporter_levels.length > 0
|
||||
= f.semantic_fields_for :supporter_registration do |reg|
|
||||
= reg.input :supporter_level, :as => :select, :collection => @conference.supporter_levels
|
||||
= reg.input :code, :label => "Confirmation or registration code (if applicable)"
|
||||
%span#supporter-link.help-block
|
||||
|
||||
= f.input :attending_with_partner, :label => false
|
||||
= f.input :using_affiliated_lodging, :label => false
|
||||
= f.input :handicapped_access_required, :label => false
|
||||
= f.input :other_special_needs, :label => "Any other special needs?", :input_html => {:rows => 2, :class => "span6"}
|
||||
|
||||
- if @conference.social_events.count > 0
|
||||
= f.inputs "Are you planning to attend any of the parties?" do
|
||||
%br Yes, I'll be attending...
|
||||
%br
|
||||
= f.input :social_events, :as => :check_boxes, :label => false, :collection => @conference.social_events
|
||||
|
||||
= f.action :submit, :button_html => { :value => "Edit Registration", :class => "btn btn-primary" }
|
||||
.row
|
||||
.col-md-12
|
||||
%h3
|
||||
Edit registration of #{@person.public_name} (#{@person.email}) for #{@conference.title}
|
||||
%br
|
||||
.row
|
||||
.col-md-12
|
||||
= semantic_form_for(@registration, :url => admin_conference_registrations_edit_path(@conference.short_title, @registration.id), :html => { :method => :put }) do |f|
|
||||
= f.inputs "Personal Information" do
|
||||
= f.fields_for :person do |p|
|
||||
= p.input :first_name, :as => :string
|
||||
= p.input :last_name, :as => :string
|
||||
= p.label :Nickname, :as => :string
|
||||
= p.text_field :irc_nickname, :as => :string
|
||||
= p.label :Affiliation
|
||||
= p.text_field :company, :placeholder => "Company/User Group/nothing", :as => :string
|
||||
= f.inputs "Registration Information" do
|
||||
- if @conference.use_supporter_levels? and @conference.supporter_levels.length > 0
|
||||
= f.semantic_fields_for :supporter_registration do |reg|
|
||||
= reg.input :supporter_level, :as => :select, :collection => @conference.supporter_levels
|
||||
= reg.input :code, :label => "Confirmation or registration code (if applicable)"
|
||||
%span#supporter-link.help-block
|
||||
= f.input :attending_with_partner, :label => false
|
||||
= f.input :using_affiliated_lodging, :label => false
|
||||
= f.input :handicapped_access_required, :label => false
|
||||
= f.input :other_special_needs, :label => "Any other special needs?", :input_html => {:rows => 2, :class => "span6"}
|
||||
- if @conference.social_events.count > 0
|
||||
= f.inputs "Are you planning to attend any of the parties?" do
|
||||
%br Yes, I'll be attending...
|
||||
%br
|
||||
= f.input :social_events, :as => :check_boxes, :label => false, :collection => @conference.social_events
|
||||
= f.action :submit, :button_html => { :value => "Edit Registration", :class => "btn btn-primary" }
|
||||
:javascript
|
||||
$("#registration_supporter_registration_attributes_supporter_level_id").change(function () {
|
||||
var str = "";
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
.row
|
||||
.span12
|
||||
.col-md-12
|
||||
%h3
|
||||
Create new account and registration
|
||||
.row
|
||||
.span12
|
||||
.col-md-12
|
||||
= semantic_form_for(@registration, :url => admin_conference_registrations_new_path(@conference.short_title), :html => { :method => :put }) do |f|
|
||||
|
||||
= f.inputs "Your details" do
|
||||
|
|
|
|||
|
|
@ -1,16 +1,15 @@
|
|||
.row-fluid
|
||||
.span12
|
||||
.pull-right{:style=>"margin-top:20px; margin-bottom:20px;"}
|
||||
= link_to "New", admin_conference_registrations_new_path(@conference.short_title), :class => "btn btn-primary"
|
||||
= link_to "Export PDF", admin_conference_registrations_path(@conference.short_title, :format => :pdf), :class => "btn btn-success"
|
||||
= link_to "Export xlsx", {:format => :xlsx}, :class => "btn btn-success"
|
||||
.row-fluid
|
||||
.span12
|
||||
%h2
|
||||
Registrations
|
||||
- if @registrations
|
||||
= "(#{@registrations.length})"
|
||||
= " - Attended (#{@attended})"
|
||||
.row
|
||||
.col-md-12
|
||||
.page-header
|
||||
%h2
|
||||
Registrations
|
||||
- if @registrations
|
||||
= "(#{@registrations.length})"
|
||||
= " - Attended (#{@attended})"
|
||||
.btn-group.pull-right
|
||||
= link_to "New", admin_conference_registrations_new_path(@conference.short_title), :class => "btn btn-default"
|
||||
= link_to "Export PDF", admin_conference_registrations_path(@conference.short_title, :format => :pdf), :class => "btn btn-default"
|
||||
= link_to "Export XLS", {:format => :xlsx}, :class => "btn btn-default"
|
||||
%table.table.table-bordered.table-striped.table-hover#registrations
|
||||
%thead
|
||||
%th
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar'
|
||||
.span9
|
||||
= semantic_form_for(@conference, :url => admin_conference_rooms_update_path(@conference.short_title)) do |f|
|
||||
= dynamic_association :rooms, "Rooms", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
.row
|
||||
.col-md-3
|
||||
= render 'admin/conference/sidebar'
|
||||
.col-md-9
|
||||
= semantic_form_for(@conference, :url => admin_conference_rooms_update_path(@conference.short_title)) do |f|
|
||||
= dynamic_association :rooms, "Rooms", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar'
|
||||
.span9
|
||||
= semantic_form_for(@conference, :url => admin_conference_social_events_path(@conference.short_title)) do |f|
|
||||
= dynamic_association :social_events, "Social Events", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
.row
|
||||
.col-md-3
|
||||
= render 'admin/conference/sidebar'
|
||||
.col-md-9
|
||||
= semantic_form_for(@conference, :url => admin_conference_social_events_path(@conference.short_title)) do |f|
|
||||
= dynamic_association :social_events, "Social Events", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
.row-fluid
|
||||
.span4
|
||||
.row
|
||||
.col-md-4
|
||||
- if @registered > 0
|
||||
- if @attendees > 0
|
||||
%h4{:style => "text-indent: 25px"}= "Registrations - Attendees (#{(@attendees.to_f / @registered * 100).round }%)"
|
||||
|
|
@ -11,32 +11,31 @@
|
|||
- else
|
||||
%h5 There are no registrations yet.
|
||||
|
||||
|
||||
.span4
|
||||
.col-md-4
|
||||
- if @registered > 0
|
||||
%h4{:style => "text-indent: 10px"}= "Attendance of pre-registered"
|
||||
.row-fluid
|
||||
.span12#registered_attended
|
||||
= render :partial => "registered_attended"
|
||||
|
||||
.span4
|
||||
.col-md-4
|
||||
- if @registered > 0
|
||||
%h4{:style => "text-indent: 25px"}= "% of pre-registered"
|
||||
.row-fluid
|
||||
.span12#preregistered_onsite
|
||||
= render :partial => "preregistered_onsite"
|
||||
|
||||
.row-fluid
|
||||
.span6
|
||||
.row
|
||||
.col-md-6
|
||||
- if @registered > 0
|
||||
%h4= "Other Info"
|
||||
.row-fluid
|
||||
.span12#other_info
|
||||
= render :partial => "other_info"
|
||||
|
||||
.span6
|
||||
.col-md-6
|
||||
- if @registered > 0
|
||||
%h4{:style => "text-indent: 98px"}= "Registrations over time"
|
||||
.row-fluid
|
||||
.span12#registered_time
|
||||
= render :partial => "registered_time"
|
||||
= render :partial => "registered_time"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
.row-fluid
|
||||
.span12
|
||||
.row
|
||||
.col-md-12
|
||||
%ul.nav.nav-tabs#myTab
|
||||
%li.active
|
||||
%a{:href=>"#registrations", "data-toggle"=>"tab"} Registrations
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar'
|
||||
.span9
|
||||
= semantic_form_for(@conference, :url => admin_conference_supporter_levels_path(@conference.short_title)) do |f|
|
||||
= f.input :use_supporter_levels, :label => false
|
||||
= dynamic_association :supporter_levels, "Supporter Levels", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
.row
|
||||
.col-md-3
|
||||
= render 'admin/conference/sidebar'
|
||||
.col-md-9
|
||||
= semantic_form_for(@conference, :url => admin_conference_supporter_levels_path(@conference.short_title)) do |f|
|
||||
= f.input :use_supporter_levels, :label => false
|
||||
= dynamic_association :supporter_levels, "Supporter Levels", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@
|
|||
= f.input :code_is_valid, :as => :boolean, :label => false
|
||||
= f.action :submit, :button_html => { :value => "Save", :class => "btn btn-primary" }
|
||||
|
||||
.row-fluid
|
||||
.span12
|
||||
.row
|
||||
.col-md-12
|
||||
.pull-right{:style=>"margin-top:20px; margin-bottom:20px;"}
|
||||
= link_to "New Supporter", "#", :id => "new-supporter-button", :class => "btn btn-success"
|
||||
.row-fluid
|
||||
.span12
|
||||
.row
|
||||
.col-md-12
|
||||
%h2 Supporters
|
||||
.well
|
||||
%table.table.table-striped#supporters
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar'
|
||||
.span9
|
||||
= semantic_form_for(@conference, :url => admin_conference_tracks_update_path(@conference.short_title)) do |f|
|
||||
= dynamic_association :tracks, "Tracks", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
.row
|
||||
.col-md-3
|
||||
= render 'admin/conference/sidebar'
|
||||
.col-md-9
|
||||
= semantic_form_for(@conference, :url => admin_conference_tracks_update_path(@conference.short_title)) do |f|
|
||||
= dynamic_association :tracks, "Tracks", f
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
|
|
|
|||
|
|
@ -1,76 +1,74 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span12
|
||||
%h2
|
||||
Users
|
||||
- if @users
|
||||
= "(#{@users.length})"
|
||||
.well
|
||||
%table.table.table-striped.table-bordered.table-hover#users
|
||||
%thead
|
||||
%th
|
||||
%b ID
|
||||
%th
|
||||
%b State
|
||||
%th
|
||||
%b Email
|
||||
%th
|
||||
%b Last Name
|
||||
%th
|
||||
%b First Name
|
||||
%th
|
||||
%b Public Name
|
||||
%th
|
||||
%b Roles
|
||||
%th
|
||||
%th
|
||||
- @users.each do |user|
|
||||
- person = Person.find_person_by_user_id(user.id)
|
||||
%tr
|
||||
%td
|
||||
= user.id
|
||||
%td
|
||||
- if user.confirmed?
|
||||
confirmed
|
||||
- else
|
||||
unconfirmed
|
||||
%td
|
||||
= user.email
|
||||
%td
|
||||
= user.last_name
|
||||
%td
|
||||
= user.first_name
|
||||
%td
|
||||
= user.public_name
|
||||
%td
|
||||
= user.roles.map { |role| role.name }.join ','
|
||||
%td
|
||||
.modal.hide.fade{:id => "user-role-selection-#{user.id}", "role" => "dialog", "aria-hidden" => "true"}
|
||||
.modal-header
|
||||
%button{"type"=>"button", :class=>"close", "data-dismiss"=>"modal", "aria-hidden"=>"true"}
|
||||
×
|
||||
%h3{:id => "role-selector-header-#{user.id}"}
|
||||
Modifying Roles
|
||||
.modal-body
|
||||
- if current_user == user
|
||||
You cannot modify your own role!
|
||||
%br
|
||||
.row
|
||||
.col-md-12
|
||||
%h2
|
||||
Users
|
||||
- if @users
|
||||
= "(#{@users.length})"
|
||||
.well
|
||||
%table.table.table-striped.table-bordered.table-hover#users
|
||||
%thead
|
||||
%th
|
||||
%b ID
|
||||
%th
|
||||
%b State
|
||||
%th
|
||||
%b Email
|
||||
%th
|
||||
%b Last Name
|
||||
%th
|
||||
%b First Name
|
||||
%th
|
||||
%b Public Name
|
||||
%th
|
||||
%b Roles
|
||||
%th
|
||||
%th
|
||||
- @users.each do |user|
|
||||
- person = Person.find_person_by_user_id(user.id)
|
||||
%tr
|
||||
%td
|
||||
= user.id
|
||||
%td
|
||||
- if user.confirmed?
|
||||
confirmed
|
||||
- else
|
||||
unconfirmed
|
||||
%td
|
||||
= user.email
|
||||
%td
|
||||
= user.last_name
|
||||
%td
|
||||
= user.first_name
|
||||
%td
|
||||
= user.public_name
|
||||
%td
|
||||
= user.roles.map { |role| role.name }.join ','
|
||||
%td
|
||||
.modal.hide.fade{:id => "user-role-selection-#{user.id}", "role" => "dialog", "aria-hidden" => "true"}
|
||||
.modal-header
|
||||
%button{"type"=>"button", :class=>"close", "data-dismiss"=>"modal", "aria-hidden"=>"true"}
|
||||
×
|
||||
%h3{:id => "role-selector-header-#{user.id}"}
|
||||
Modifying Roles
|
||||
.modal-body
|
||||
- if current_user == user
|
||||
You cannot modify your own role!
|
||||
%br
|
||||
%button{:class=> "btn btn-danger", "data-dismiss"=> "modal", "aria-hidden"=>"true"}
|
||||
Cancel
|
||||
- else
|
||||
= "Give #{user.public_name} (#{user.email}) the following roles:"
|
||||
= semantic_form_for(user, :url => admin_user_path(user), :method => :put) do |f|
|
||||
= f.input :roles, :label => false
|
||||
%button{:class=> "btn btn-danger", "data-dismiss"=> "modal", "aria-hidden"=>"true"}
|
||||
Cancel
|
||||
|
||||
- else
|
||||
= "Give #{user.public_name} (#{user.email}) the following roles:"
|
||||
= semantic_form_for(user, :url => admin_user_path(user), :method => :put) do |f|
|
||||
= f.input :roles, :label => false
|
||||
%button{:class=> "btn btn-danger", "data-dismiss"=> "modal", "aria-hidden"=>"true"}
|
||||
Cancel
|
||||
= f.action :submit, :as => :button, :button_html => {:value => "Save", :class => "btn btn-primary"}
|
||||
=link_to "Modify Roles", "#", "data-toggle" => "modal", "data-target" => "#user-role-selection-#{user.id}"
|
||||
%td
|
||||
=link_to "Details", "javascript: void(0)", :class => "user-details-popover", "data-trigger" => "click", "data-placement" => "bottom",
|
||||
"data-html" => "true",
|
||||
"data-content" => user.popup_details,
|
||||
"data-original-title" => ""
|
||||
= f.action :submit, :as => :button, :button_html => {:value => "Save", :class => "btn btn-primary"}
|
||||
=link_to "Modify Roles", "#", "data-toggle" => "modal", "data-target" => "#user-role-selection-#{user.id}"
|
||||
%td
|
||||
=link_to "Details", "javascript: void(0)", :class => "user-details-popover", "data-trigger" => "click", "data-placement" => "bottom",
|
||||
"data-html" => "true",
|
||||
"data-content" => user.popup_details,
|
||||
"data-original-title" => ""
|
||||
|
||||
:javascript
|
||||
$(document).ready(function() {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar'
|
||||
.span9
|
||||
= 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 :address, :input_html => {:rows => 1}
|
||||
= f.input :website
|
||||
= f.input :description, :input_html => { :rows => 10, :cols => 20 }
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
.row
|
||||
.col-md-3
|
||||
= 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|
|
||||
= f.input :name, :input_html => {:rows => 1}
|
||||
= f.input :address, :input_html => {:rows => 1}
|
||||
= f.input :website
|
||||
= f.input :description, :input_html => { :rows => 10, :cols => 20 }
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<div class="nested-fields">
|
||||
<%= f.inputs do %>
|
||||
<%= f.date_select :day %>
|
||||
<%= f.input :description, :input_html => {:rows => "2", :class => "span8"} %>
|
||||
<%= f.input :description, :input_html => {:rows => "2", :class => "col-md-8"} %>
|
||||
<%= remove_association_link :vday, f %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<div class="nested-fields">
|
||||
<%= f.inputs do %>
|
||||
<%= f.input :title %>
|
||||
<%= f.input :description, :input_html => {:rows => "2", :class => "span8"}%>
|
||||
<%= f.input :description, :input_html => {:rows => "2", :class => "col-md-8"}%>
|
||||
<%= f.input :vdays, :collection => @conference.vdays.map {|x| [x.day, x.id]}, :label => "Position is required for the following days:"%>
|
||||
<%= remove_association_link :vposition, f %>
|
||||
<% end %>
|
||||
|
|
|
|||
|
|
@ -1,17 +1,16 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span3
|
||||
= render 'admin/conference/sidebar'
|
||||
.span9
|
||||
= 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"}
|
||||
%br
|
||||
%br
|
||||
= f.input :use_volunteers, :label => "Enable Volunteering"
|
||||
.row-fluid
|
||||
.span6
|
||||
= f.input :use_vdays, :label => false
|
||||
= dynamic_association :vdays, "Volunteer Days", f
|
||||
.span6
|
||||
= f.input :use_vpositions, :label => false
|
||||
= dynamic_association :vpositions, "Volunteer positions", f
|
||||
.row
|
||||
.col-md-3
|
||||
= render 'admin/conference/sidebar'
|
||||
.col-md-9
|
||||
= 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"}
|
||||
%br
|
||||
%br
|
||||
= f.input :use_volunteers, :label => "Enable Volunteering"
|
||||
.row
|
||||
.col-md-6
|
||||
= f.input :use_vdays, :label => false
|
||||
= dynamic_association :vdays, "Volunteer Days", f
|
||||
.col-md-6
|
||||
= f.input :use_vpositions, :label => false
|
||||
= dynamic_association :vpositions, "Volunteer positions", f
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
.row
|
||||
.span12
|
||||
.col-md-12
|
||||
%h3
|
||||
Registration for
|
||||
= @conference.title
|
||||
- if @person.proposal_count(@conference) > 0
|
||||
.row
|
||||
.span12
|
||||
.col-md-12
|
||||
%i
|
||||
Please note: Registration is not automatically performed for speakers. If you're scheduled to speak at the conference, you still need to register!
|
||||
.row
|
||||
.span12
|
||||
.col-md-12
|
||||
= f.inputs :name => "Your Details" do
|
||||
%br
|
||||
Your public name (required)
|
||||
|
|
@ -75,4 +75,4 @@
|
|||
onSelect: function(selected) {
|
||||
$("#registration-arrival-datepicker").datepicker("option","maxDate", selected)
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
.row
|
||||
.span12
|
||||
.col-md-12
|
||||
= f.input :volunteer, :label => "Click here if you want to become a volunteer at #{@conference.short_title}", :input_html => {:maxlength => 15, :size => 40}
|
||||
= f.fields_for :person do |p|
|
||||
= render :partial => 'devise/registrations/volunteerperson', :locals => {:p => p}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
.row
|
||||
.span12
|
||||
.col-md-12
|
||||
= semantic_form_for(@registration, :url => register_conference_path(@conference.short_title), :html => { :method => :put }) do |f|
|
||||
.tabbable
|
||||
%ul.nav.nav-tabs
|
||||
|
|
@ -19,4 +19,4 @@
|
|||
= link_to "Unregister", register_conference_path(@conference.short_title),:method => :delete, :class => "btn btn-danger",
|
||||
:confirm => "Are you sure you want to unregister?"
|
||||
- else
|
||||
= f.action :submit, :button_html => { :value => "Register", :class => "btn btn-primary" }
|
||||
= f.action :submit, :button_html => { :value => "Register", :class => "btn btn-primary" }
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
<p>Welcome <%= @resource.email %>!</p>
|
||||
|
||||
<p>You can confirm your account email through the link below:</p>
|
||||
|
||||
<p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<p>Hello <%= @resource.email %>!</p>
|
||||
|
||||
<p>Someone has requested a link to change your password, and you can do this through the link below.</p>
|
||||
|
||||
<p><%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %></p>
|
||||
|
||||
<p>If you didn't request this, please ignore this email.</p>
|
||||
<p>Your password won't change until you access the link above and create a new one.</p>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<p>Hello <%= @resource.email %>!</p>
|
||||
|
||||
<p>Your account has been locked due to an excessive amount of unsuccessful sign in attempts.</p>
|
||||
|
||||
<p>Click the link below to unlock your account:</p>
|
||||
|
||||
<p><%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token) %></p>
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
<h2>Change your password</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
<%= f.hidden_field :reset_password_token %>
|
||||
|
||||
<div><%= f.label :password, "New password" %><br />
|
||||
<%= f.password_field :password %></div>
|
||||
|
||||
<div><%= f.label :password_confirmation, "Confirm new password" %><br />
|
||||
<%= f.password_field :password_confirmation %></div>
|
||||
|
||||
<div><%= f.submit "Change my password" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
<h2>Forgot your password?</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email %></div>
|
||||
|
||||
<div><%= f.submit "Send me reset password instructions" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email %></div>
|
||||
|
||||
<div><%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
|
||||
<%= f.password_field :password, :autocomplete => "off" %></div>
|
||||
|
||||
<div><%= f.label :password_confirmation %><br />
|
||||
<%= f.password_field :password_confirmation %></div>
|
||||
|
||||
<div><%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
|
||||
<%= f.password_field :current_password %></div>
|
||||
|
||||
<div><%= f.submit "Update" %></div>
|
||||
<% end %>
|
||||
|
||||
<h3>Cancel my account</h3>
|
||||
|
||||
<p>Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), :data => { :confirm => "Are you sure?" }, :method => :delete %>.</p>
|
||||
|
||||
<%= link_to "Back", :back %>
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
<% if false %>
|
||||
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
|
||||
<%= f.fields_for :person do |p| %>
|
||||
<h2><%= p.label :first_name %></h2>
|
||||
<p><%= p.text_field :first_name %></p>
|
||||
|
||||
<h2><%= p.label :last_name %></h2>
|
||||
<p><%= p.text_field :last_name %></p>
|
||||
<% end %>
|
||||
<div><%= f.submit "Update" %></div>
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
|
||||
<%= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
|
||||
<%= f.fields_for :person do |p| %>
|
||||
<%= f.inputs :first_name, :last_name, :for => :person %>
|
||||
<% end %>
|
||||
<div><%= f.submit "Update" %></div>
|
||||
<% end %>
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
<%= devise_error_messages! %>
|
||||
<%= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
|
||||
|
||||
<%= f.inputs :name => "Profile" do %>
|
||||
<%= f.fields_for :person do |p| %>
|
||||
<%= f.inputs :first_name, :last_name, :for => :person %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<%= f.inputs :name => "Account" do %>
|
||||
<%= f.input :email %>
|
||||
<%= f.input :password, :hint => "(Leave blank if you don't want to change it)", :input_html => {:autocomplete => "off"} %>
|
||||
<%= f.input :password_confirmation, :input_html => {:autocomplete => "off"} %>
|
||||
<%= f.input :current_password, :input_html => {:autocomplete => "off"}, :hint => "(we need your current password to confirm your changes)" %>
|
||||
<% end %>
|
||||
|
||||
<div><%= f.submit "Update" %></div>
|
||||
<% end %>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
.container
|
||||
.row-fluid
|
||||
.row
|
||||
.col-md-12
|
||||
= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f|
|
||||
= f.inputs :name => "Profile" do
|
||||
= f.fields_for :person do |p|
|
||||
|
|
@ -8,8 +8,6 @@
|
|||
= p.input :public_name, :as => :string
|
||||
= p.input :irc_nickname, :label => "IRC nick:", :as => :string
|
||||
= p.input :company, :label => "Affiliation", :as => :string, :hint => "This could be a company, a user group, or nothing at all."
|
||||
= image_tag current_user.person.avatar(:small)
|
||||
= p.input :avatar, :label => "Picture", :hint => "Upload a new picture."
|
||||
= p.input :biography, :input_html => {:rows => 5, "onkeyup" => "word_count(this, 'biography-count', 150)"}, :for => :person
|
||||
You have used
|
||||
%span#biography-count #{current_user.person.biography_word_count}
|
||||
|
|
@ -17,7 +15,6 @@
|
|||
%br
|
||||
%br
|
||||
= render :partial => 'devise/registrations/volunteerperson', :locals => {:p => p}
|
||||
|
||||
= f.inputs :name => "Account" do
|
||||
= f.input :email, :required => false
|
||||
= f.input :password, :hint => "(Leave blank if you don't want to change it)", :input_html => {:autocomplete => "off"}
|
||||
|
|
|
|||
|
|
@ -1,18 +0,0 @@
|
|||
<h2>Sign up</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email %></div>
|
||||
|
||||
<div><%= f.label :password %><br />
|
||||
<%= f.password_field :password %></div>
|
||||
|
||||
<div><%= f.label :password_confirmation %><br />
|
||||
<%= f.password_field :password_confirmation %></div>
|
||||
|
||||
<div><%= f.submit "Sign up" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
|
|
@ -1,14 +1,15 @@
|
|||
.container
|
||||
%h2.text-center
|
||||
Sign Up
|
||||
.row-fluid
|
||||
.well.span3.offset2
|
||||
.row
|
||||
.page-header
|
||||
%h1.text-center Sign Up
|
||||
.col-md-5.col-md-offset-1
|
||||
.well
|
||||
= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f|
|
||||
= f.input :email
|
||||
= f.input :password
|
||||
= f.input :password_confirmation
|
||||
= f.action :submit, :as => :button, :label => "Sign Up", :button_html => {:class => "btn btn-primary"}
|
||||
.well.span3.offset2
|
||||
.col-md-3.col-md-offset-2
|
||||
.well
|
||||
%h4
|
||||
Already have an account?
|
||||
= render "devise/shared/links"
|
||||
|
|
|
|||
|
|
@ -1,18 +0,0 @@
|
|||
/
|
||||
<h2>Sign in</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email %></div>
|
||||
|
||||
<div><%= f.label :password %><br />
|
||||
<%= f.password_field :password %></div>
|
||||
|
||||
<% if devise_mapping.rememberable? -%>
|
||||
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
|
||||
<% end -%>
|
||||
|
||||
<div><%= f.submit "Sign in" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
.container
|
||||
%h2.text-center
|
||||
Sign In
|
||||
.row-fluid
|
||||
.well.span3.offset2
|
||||
= semantic_form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f|
|
||||
= f.input :email
|
||||
= f.input :password
|
||||
- if devise_mapping.rememberable?
|
||||
= f.input :remember_me, :as=> :boolean, :label => false
|
||||
= f.action :submit, :as => :button, :label => "Sign In", :button_html => {:class => "btn btn-primary"}
|
||||
.well.span3.offset2
|
||||
%h4
|
||||
No account?
|
||||
= render "devise/shared/links"
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
- if controller_name != 'sessions'
|
||||
= button_to "Sign In", new_session_path(resource_name), :method => :get, :class => "btn btn-primary", :style=> "margin-top: 5px"
|
||||
|
||||
- if devise_mapping.registerable? && controller_name != 'registrations'
|
||||
= button_to "Sign Up", new_registration_path(resource_name), :method => :get, :class => "btn btn-primary", :style=> "margin-top: 5px"
|
||||
|
||||
- if devise_mapping.recoverable? && controller_name != 'passwords'
|
||||
= link_to "Forgot your password?", new_password_path(resource_name)
|
||||
%br
|
||||
|
||||
- if devise_mapping.confirmable? && controller_name != 'confirmations'
|
||||
= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name)
|
||||
%br
|
||||
|
||||
- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks'
|
||||
= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name)
|
||||
%br
|
||||
|
||||
- if devise_mapping.omniauthable?
|
||||
- resource_class.omniauth_providers.each do |provider|
|
||||
= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider)
|
||||
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
<h2>Resend unlock instructions</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email %></div>
|
||||
|
||||
<div><%= f.submit "Resend unlock instructions" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
<div class="row">
|
||||
<div class="span12">
|
||||
<h2 class="text-center">Upcoming Conferences</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% @current.each do |conference| %>
|
||||
<div class="row-fluid" style="margin-top: 30px;">
|
||||
<div clas="span12">
|
||||
<div class="well">
|
||||
<div class="row">
|
||||
<div class="span4 text-center">
|
||||
<%= image_tag conference.logo(:original) %>
|
||||
</div>
|
||||
|
||||
<div class="span6">
|
||||
<h3>
|
||||
<%= conference.title %>
|
||||
<br>
|
||||
<span class="muted"><%= conference.date_range_string %></span>
|
||||
</h3>
|
||||
<% if conference.venue.name and conference.venue.website and conference.venue.address %>
|
||||
<p>
|
||||
<small>
|
||||
<%= link_to conference.venue.name, conference.venue.website %>,
|
||||
<%= link_to conference.venue.address, "http://maps.google.com/maps?q=#{conference.venue.address}" %>
|
||||
</small>
|
||||
<% end -%>
|
||||
<% if conference.venue.description %>
|
||||
<%= simple_format(conference.venue.description, class: 'lead') %>
|
||||
<% end -%>
|
||||
</div>
|
||||
<div class="span2">
|
||||
<ul class="nav nav-tabs nav-stacked">
|
||||
<% if conference.registration_open? %>
|
||||
<%- if conference.user_registered?(current_user) %>
|
||||
<li><%= link_to "Modify Registration", register_conference_path(conference.short_title) %></li>
|
||||
<%- else %>
|
||||
<li><%= link_to "Register", register_conference_path(conference.short_title) %></li>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<li><%= link_to "Schedule", conference_schedule_path(conference.short_title) %></li>
|
||||
<%- if !current_user.nil? && current_user.person.proposal_count(conference) > 0 %>
|
||||
<li><%= link_to "View My Proposals", conference_proposal_index_path(conference.short_title) %></li>
|
||||
<%- elsif conference.cfp_open? %>
|
||||
<li><%= link_to "Submit Proposal", conference_proposal_index_path(conference.short_title) %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
36
app/views/home/index.html.haml
Normal file
36
app/views/home/index.html.haml
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
.row
|
||||
.col-md-12.page-header
|
||||
%h2.text-center Upcoming Conferences
|
||||
- @current.each do |conference|
|
||||
.row
|
||||
.col-md-12
|
||||
.well
|
||||
.row
|
||||
.col-md-4.text-center
|
||||
= image_tag(conference.logo(:original), class: 'img-responsive')
|
||||
.col-md-6
|
||||
%h3
|
||||
= conference.title
|
||||
%small
|
||||
%b
|
||||
= conference.date_range_string
|
||||
- if conference.venue.name and conference.venue.website and conference.venue.address
|
||||
%p
|
||||
%small
|
||||
= link_to conference.venue.name, conference.venue.website
|
||||
,
|
||||
\#{link_to conference.venue.address, "http://maps.google.com/maps?q=#{conference.venue.address}"}
|
||||
- if conference.venue.description
|
||||
= simple_format(conference.venue.description, class: 'lead')
|
||||
.col-md-2
|
||||
.btn-group-vertical
|
||||
- if conference.registration_open?
|
||||
- if conference.user_registered?(current_user)
|
||||
= link_to "Modify Registration", register_conference_path(conference.short_title), :class =>"btn btn-default"
|
||||
- else
|
||||
= link_to "Register", register_conference_path(conference.short_title), :class =>"btn btn-success"
|
||||
= link_to "Schedule", conference_schedule_path(conference.short_title), :class =>"btn btn-default"
|
||||
- if !current_user.nil? && current_user.person.proposal_count(conference) > 0
|
||||
= link_to "View My Proposals", conference_proposal_index_path(conference.short_title), :class =>"btn btn-default"
|
||||
- elsif conference.cfp_open?
|
||||
= link_to "Submit Proposal", conference_proposal_index_path(conference.short_title), :class =>"btn btn-default"
|
||||
30
app/views/layouts/_admin_menu.html.haml
Normal file
30
app/views/layouts/_admin_menu.html.haml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
%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
|
||||
|
|
@ -1,83 +1,59 @@
|
|||
%a.btn.btn-navbar{"data-target" => ".nav-collapse", "data-toggle" => "collapse", :id => "mobmenu" }
|
||||
%span.icon-th
|
||||
= link_to "OSEM", root_path, :class => 'brand', :title => "Open Source Event Manager"
|
||||
- if @conference && !@conference.short_title.nil?
|
||||
%span.brand
|
||||
= @conference.short_title
|
||||
.nav-collapse.collapse
|
||||
/ The Admin Menu for Conferences /
|
||||
- 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 !@conference.short_title.nil?
|
||||
%ul.nav
|
||||
%li.nav-header.hidden-desktop
|
||||
= @conference.short_title
|
||||
%li{:class=> active_nav_li(admin_conference_path(@conference.short_title))}
|
||||
= link_to(admin_conference_path(@conference.short_title)) do
|
||||
%i.icon-wrench
|
||||
Settings
|
||||
%li{:class=> active_nav_li(admin_conference_registrations_path(@conference.short_title))}
|
||||
= link_to(admin_conference_registrations_path(@conference.short_title)) do
|
||||
%i.icon-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
|
||||
%i.icon-star
|
||||
Supporters
|
||||
%li{:class=> active_nav_li(admin_conference_events_path(@conference.short_title))}
|
||||
= link_to(admin_conference_events_path(@conference.short_title)) do
|
||||
%i.icon-comment
|
||||
Events
|
||||
%li{:class=> active_nav_li(admin_conference_stats_path(@conference.short_title))}
|
||||
= link_to(admin_conference_stats_path(@conference.short_title)) do
|
||||
%i.icon-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
|
||||
%i.icon-user
|
||||
Volunteers
|
||||
%li
|
||||
= link_to(admin_conference_schedule_path(@conference.short_title), :target => "_blank") do
|
||||
%i.icon-calendar
|
||||
Schedule
|
||||
%ul.nav.hidden-desktop
|
||||
= render 'layouts/user_menu'
|
||||
%ul.nav.pull-right.visible-desktop
|
||||
%li.dropdown
|
||||
%a.dropdown-toggle{"data-toggle" => "dropdown", :href => "#"}
|
||||
#{current_user.person.public_name} (#{current_user.email})
|
||||
= image_tag(current_user.person.gravatar_url(:size => "18"), :title => "Yo #{current_user.person.public_name}!")
|
||||
%b.caret
|
||||
%ul.dropdown-menu{:style => "padding: 15px;"}
|
||||
= render 'layouts/user_menu'
|
||||
- else
|
||||
%ul.nav.pull-right
|
||||
- if current_page?(new_registration_path('user'))
|
||||
%li.active
|
||||
= link_to(new_registration_path('user')) do
|
||||
%i.icon-heart
|
||||
Sign Up
|
||||
- else
|
||||
%li
|
||||
= link_to(new_registration_path('user')) do
|
||||
%i.icon-heart
|
||||
Sign Up
|
||||
%li.dropdown.visible-desktop
|
||||
%a.dropdown-toggle{"data-toggle" => "dropdown", :href => "#"}
|
||||
%i.icon-user.icon-2x
|
||||
Sign In
|
||||
%i.icon-angle-down
|
||||
.dropdown-menu{:style => "padding: 17px;"}
|
||||
= form_tag user_session_path do
|
||||
= text_field_tag 'user[email]'
|
||||
= password_field_tag 'user[password]'
|
||||
%label.checkbox
|
||||
= check_box_tag 'user[remember_me]'
|
||||
Remember me
|
||||
%button.btn.btn-block Sign in
|
||||
%br
|
||||
= link_to "Forgot your password?", new_password_path('user')
|
||||
%li.hidden-desktop
|
||||
= link_to('Sign In', new_user_session_path)
|
||||
.navbar.navbar-default.navbar-fixed-top{:role=>"navigation"}
|
||||
.container
|
||||
.navbar-header
|
||||
%button{"data-target"=>".navbar-collapse", "data-toggle"=>"collapse", :class=>"navbar-toggle", :type=>"button"}
|
||||
%span.sr-only
|
||||
Toggle navigation
|
||||
%span.icon-bar
|
||||
%span.icon-bar
|
||||
%span.icon-bar
|
||||
= link_to "OSEM", root_path, :class => 'navbar-brand', :title => "Open Source Event Manager"
|
||||
.collapse.navbar-collapse
|
||||
- if @conference && !@conference.short_title.nil?
|
||||
%p.navbar-text
|
||||
= @conference.short_title
|
||||
- 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
|
||||
%li.dropdown
|
||||
%a.dropdown-toggle{"data-toggle" => "dropdown", :href => "#"}
|
||||
- if not current_user.person.public_name.empty?
|
||||
#{current_user.person.public_name}
|
||||
-else
|
||||
#{current_user.email}
|
||||
= image_tag(current_user.person.gravatar_url(:size => "18"), :title => "Yo #{current_user.person.public_name}!")
|
||||
%b.caret
|
||||
%ul.dropdown-menu
|
||||
= render 'layouts/user_menu'
|
||||
- else
|
||||
%ul.nav.navbar-nav.navbar-right
|
||||
- if current_page?(new_registration_path('user'))
|
||||
%li.active
|
||||
= link_to(new_registration_path('user')) do
|
||||
%span.glyphicon.glyphicon-heart
|
||||
Sign Up
|
||||
- else
|
||||
%li
|
||||
= link_to(new_registration_path('user')) do
|
||||
%span.glyphicon.glyphicon-heart
|
||||
Sign Up
|
||||
%li.dropdown.visible-desktop
|
||||
%a.dropdown-toggle{"data-toggle" => "dropdown", :href => "#"}
|
||||
%span.glyphicon.glyphicon-user
|
||||
Sign In
|
||||
%span.caret
|
||||
.dropdown-menu{:style => "padding: 17px;"}
|
||||
= form_tag user_session_path do
|
||||
= text_field_tag 'user[email]'
|
||||
= password_field_tag 'user[password]'
|
||||
%label.checkbox
|
||||
= check_box_tag 'user[remember_me]'
|
||||
Remember me
|
||||
%button.btn.btn-block Sign in
|
||||
%br
|
||||
= link_to "Forgot your password?", new_password_path('user')
|
||||
%li.hidden-lg
|
||||
= link_to('Sign In', new_user_session_path)
|
||||
|
|
@ -1,5 +1,3 @@
|
|||
%li.nav-header
|
||||
= current_user.person.public_name if current_user.person
|
||||
%li
|
||||
= link_to(edit_user_registration_path) do
|
||||
%i.icon-wrench
|
||||
|
|
@ -15,7 +13,7 @@
|
|||
Sign out
|
||||
-if has_role?(current_user, "admin") || has_role?(current_user, "organizer")
|
||||
%li.divider
|
||||
%li.nav-header
|
||||
%li.dropdown-header
|
||||
Conferences
|
||||
- @conferences.each do |conference|
|
||||
%li
|
||||
|
|
@ -28,7 +26,7 @@
|
|||
%i.icon-plus
|
||||
New Conference
|
||||
%li.divider
|
||||
%li.nav-header
|
||||
%li.dropdown-header
|
||||
People
|
||||
%li
|
||||
= link_to(admin_users_path) do
|
||||
|
|
|
|||
|
|
@ -17,31 +17,26 @@
|
|||
});
|
||||
= yield(:head)
|
||||
%body
|
||||
#wrap
|
||||
.navbar.navbar-fixed-top
|
||||
.navbar-inner
|
||||
.container-fluid
|
||||
= render 'layouts/navigation'
|
||||
.container#messages
|
||||
.row
|
||||
.span12
|
||||
= render 'layouts/messages'
|
||||
%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.
|
||||
.container#content
|
||||
= yield
|
||||
#push
|
||||
= render 'layouts/navigation'
|
||||
.container#messages
|
||||
.row
|
||||
.col-md-12
|
||||
= render 'layouts/messages'
|
||||
%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.
|
||||
.container#content
|
||||
= yield
|
||||
|
||||
#footer
|
||||
.container
|
||||
%p.muted.credit.text-center
|
||||
%p.muted.text-center
|
||||
OSEM is (C) 2013
|
||||
= link_to "Matt Barringer", "http://incoherent.de"
|
||||
and released under the GPL. You can get the source code from
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
.row
|
||||
.span12
|
||||
.col-md-12
|
||||
.tabbable
|
||||
%ul.nav.nav-tabs
|
||||
%li.active
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
.container
|
||||
= render 'form'
|
||||
= render 'form'
|
||||
|
|
@ -1,36 +1,34 @@
|
|||
.container-fluid
|
||||
.row-fluid
|
||||
.span13
|
||||
%h2.pull-left
|
||||
= "My Proposals for #{@conference.title}"
|
||||
.pull-right{:style=>"margin-top:20px;"}
|
||||
- if @conference.cfp_open? || organizer_or_admin?
|
||||
= link_to "New Proposal", new_conference_proposal_path(@conference.short_title), :class => "btn btn-primary"
|
||||
- if @person.proposal_count(@conference) > 0
|
||||
.row-fluid
|
||||
.span12
|
||||
%table.table.table-bordered.table-striped
|
||||
%thead
|
||||
%th
|
||||
%b Title
|
||||
%th
|
||||
%b Status
|
||||
%th
|
||||
- @events.each do |event|
|
||||
%tr
|
||||
%td
|
||||
= link_to event.title, conference_proposal_path(@conference.short_title, event.id)
|
||||
%td
|
||||
= event.public_state
|
||||
- if event.state == 'confirmed' && event.require_registration == true
|
||||
(Pre-registered: #{pre_registered(event).count})
|
||||
- if event.confirmed? && !@conference.user_registered?(current_user)
|
||||
%br
|
||||
= link_to "Register to attend", register_conference_path(@conference.short_title), :style => "font-size:10px;"
|
||||
%td
|
||||
.pull-right
|
||||
- if event.transition_possible? :confirm
|
||||
= link_to "Confirm", conference_proposal_confirm_path(@conference.short_title, event, :send_mail=>false), :method => :put, :class => "btn btn-mini btn-success"
|
||||
= link_to "Edit", edit_conference_proposal_path(@conference.short_title, event.id), :class => "btn btn-mini btn-primary"
|
||||
= link_to "Withdraw", conference_proposal_path(@conference.short_title, event.id), :method => :delete,
|
||||
:confirm => "Are you sure you want to withdraw this proposal?", :class => "btn btn-mini btn-danger"
|
||||
.row
|
||||
.col-md-12.page-header
|
||||
%h1
|
||||
= "My Proposals for #{@conference.title}"
|
||||
- if @conference.cfp_open? || organizer_or_admin?
|
||||
= link_to "New Proposal", new_conference_proposal_path(@conference.short_title), :class => "btn btn-primary pull-right"
|
||||
- if @person.proposal_count(@conference) > 0
|
||||
.row
|
||||
.col-md-12
|
||||
%table.table.table-bordered.table-striped
|
||||
%thead
|
||||
%th
|
||||
%b Title
|
||||
%th
|
||||
%b Status
|
||||
%th
|
||||
- @events.each do |event|
|
||||
%tr
|
||||
%td
|
||||
= link_to event.title, conference_proposal_path(@conference.short_title, event.id)
|
||||
%td
|
||||
= event.public_state
|
||||
- if event.state == 'confirmed' && event.require_registration == true
|
||||
(Pre-registered: #{pre_registered(event).count})
|
||||
- if event.confirmed? && !@conference.user_registered?(current_user)
|
||||
%br
|
||||
= link_to "Register to attend", register_conference_path(@conference.short_title), :style => "font-size:10px;"
|
||||
%td
|
||||
.pull-right
|
||||
- if event.transition_possible? :confirm
|
||||
= link_to "Confirm", conference_proposal_confirm_path(@conference.short_title, event, :send_mail=>false), :method => :put, :class => "btn btn-mini btn-success"
|
||||
= link_to "Edit", edit_conference_proposal_path(@conference.short_title, event.id), :class => "btn btn-mini btn-primary"
|
||||
= link_to "Withdraw", conference_proposal_path(@conference.short_title, event.id), :method => :delete,
|
||||
:confirm => "Are you sure you want to withdraw this proposal?", :class => "btn btn-mini btn-danger"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
.row
|
||||
.span12
|
||||
.col-md-12
|
||||
= simple_format(@conference.call_for_papers.description)
|
||||
.row
|
||||
.span12
|
||||
.col-md-12
|
||||
= render 'proposal_form'
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
.row
|
||||
.span12
|
||||
.col-md-12.page-header
|
||||
%h2
|
||||
= @event.title
|
||||
- if @event.subtitle
|
||||
%br
|
||||
%span.muted
|
||||
%small
|
||||
= @event.subtitle
|
||||
.row-fluid
|
||||
.span3
|
||||
.row
|
||||
.col-md-3
|
||||
%p
|
||||
= simple_format(@event.abstract)
|
||||
%dl
|
||||
|
|
@ -22,31 +22,32 @@
|
|||
- if @event.track_id
|
||||
%span.label{:style =>"background-color: #{@event.track.color};"}
|
||||
= @event.track.name
|
||||
.span9
|
||||
.col-md-9
|
||||
-unless @event.video_id
|
||||
.row-fluid
|
||||
.span12
|
||||
.row
|
||||
.col-md-12
|
||||
%h5.text-error
|
||||
No video of the event yet, sorry! Meanwhile...
|
||||
.row-fluid
|
||||
.span12.flexvideo
|
||||
-if @event.video_id
|
||||
%iframe{:width=>"560", :height=>"315", :frameborder=>"0", :allowfullscreen=>"true", :src=>"http://www.youtube.com/embed/#{@event.video_id}?rel=0"}
|
||||
-else
|
||||
%iframe{:width=>"560", :height=>"315", :frameborder=>"0", :allowfullscreen=>"true", :src=>"http://www.youtube.com/embed/Eiv4e5ZxTmg?rel=0"}
|
||||
.row-fluid
|
||||
.span8
|
||||
.row
|
||||
.col-md-12
|
||||
.flexvideo
|
||||
-if @event.video_id
|
||||
%iframe{:width=>"560", :height=>"315", :frameborder=>"0", :allowfullscreen=>"true", :src=>"http://www.youtube.com/embed/#{@event.video_id}?rel=0"}
|
||||
-else
|
||||
%iframe{:width=>"560", :height=>"315", :frameborder=>"0", :allowfullscreen=>"true", :src=>"http://www.youtube.com/embed/Eiv4e5ZxTmg?rel=0"}
|
||||
.row
|
||||
.col-md-8
|
||||
%h3
|
||||
by
|
||||
= @speaker.public_name
|
||||
- if @speaker.company
|
||||
- if @speaker.company?
|
||||
%br
|
||||
%span.muted
|
||||
from
|
||||
= @speaker.company
|
||||
-if @speaker.biography
|
||||
-if @speaker.biography?
|
||||
= simple_format(@speaker.biography)
|
||||
.span4
|
||||
= image_tag @speaker.gravatar_url(:size => 200), :class => "img-rounded pull-right", :style => "margin: 8px;"
|
||||
.col-md-4
|
||||
= image_tag @speaker.gravatar_url(:size => 200), :class => "img-responsive img-rounded"
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue