Log In to Orbit
-- - <% end %>
diff --git a/app/assets/stylesheets/basic/global.css b/app/assets/stylesheets/basic/global.css
index 1880808e..6be8050e 100644
--- a/app/assets/stylesheets/basic/global.css
+++ b/app/assets/stylesheets/basic/global.css
@@ -682,8 +682,8 @@ legend {
margin-bottom: 25px;
}
.sign-in .btn {
- padding: 4px 0;
display: block;
+ padding: 4px 0;
width: 100%;
margin-bottom: 10px;
}
@@ -711,7 +711,7 @@ legend {
.sign-in .checkbox {
position: absolute;
text-align: left;
- bottom: 37px;
+ bottom: 47px;
}
.sign-in .switchboard {
color: #08C;
@@ -766,4 +766,4 @@ legend {
#main-wrap .wrap-inner {
padding: 20px 0;
}
-}
\ No newline at end of file
+}
diff --git a/app/assets/stylesheets/basic/orbit_bar.css.erb b/app/assets/stylesheets/basic/orbit_bar.css.erb
index c381c4dd..72b6c6eb 100644
--- a/app/assets/stylesheets/basic/orbit_bar.css.erb
+++ b/app/assets/stylesheets/basic/orbit_bar.css.erb
@@ -2,16 +2,17 @@
top: 0px;
left: -10px;
right: -10px;
- height: 40px;
z-index: 1041;
position: fixed;
margin-bottom: 0;
+ height: 40px;
}
#orbit-bar .orbitlogo {
- width: 20px;
- height: 20px;
+ width: 50px;
+ height: 40px;
+ padding: 0!important;
background-size: 70%;
- display: inline-block;
+ display: block;
background-position: center;
background-repeat: no-repeat;
background-image: url(<%= asset_path 'orbit-logo.svg' %>);
@@ -19,8 +20,23 @@
/* For Suck IE */
background-image: url(<%= asset_path 'orbit-logo.png' %>)\9;
}
+#orbit-bar .dropdown-menu li > a {
+ padding: 0 20px;
+ display: block;
+ height: 30px;
+ line-height: 30px;
+}
+#orbit-bar .dropdown-menu li i {
+ float: left;
+ display: inline-block;
+ margin-right: 5px;
+ line-height: 30px;
+ height: 100%;
+}
#orbit-bar.navbar .nav > li > a {
color: #EEE;
+ padding: 0 15px;
+ display: block;
text-shadow: 0 -1px 0 #000;
border-right: 1px solid #363636;
box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.3);
@@ -34,6 +50,11 @@
background-color: #0095CF;
text-shadow: 0 -1px 0 #014380;
}
+#orbit-bar.navbar .nav > li > a > [class^="icon"],
+#orbit-bar.navbar .nav > li > a > [class*=" icon"] {
+ line-height: 40px;
+ display: block;
+}
#orbit-bar.navbar .nav li.dropdown.open > .dropdown-toggle,
#orbit-bar.navbar .nav li.dropdown.active > .dropdown-toggle,
#orbit-bar.navbar .nav li.dropdown.open.active > .dropdown-toggle {
@@ -41,9 +62,7 @@
text-shadow: 0 -1px 0 #014380;
}
#orbit-bar .navbar-inner {
- height: 40px;
border-width: 0;
- min-height: 40px;
background-color: #333333;
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
@@ -66,6 +85,10 @@
right: auto;
bottom: auto;
}
+#orbit-bar .nav > li {
+ display: block;
+ line-height: 40px;
+}
#orbit-bar .nav [class^="icon"],
#orbit-bar .nav [class*=" icon"] {
font-size: 1.5em;
@@ -92,17 +115,45 @@
#orbit-bar .modal .input-prepend {
margin-bottom: 15px;
}
+#orbit-bar .modal .other-sign-in {
+ position: relative;
+ text-align: center;
+ margin-top: 20px;
+ margin-bottom: 30px;
+ padding-bottom: 20px;
+ border-bottom: 1px solid #EDEDED;
+}
+#orbit-bar .modal .other-sign-in .btn {
+ padding: 4px 0;
+ display: block;
+ margin-bottom: 5px;
+ width: 100%;
+}
+#orbit-bar .modal .other-sign-in p {
+ position: absolute;
+ width: 30px;
+ height: 30px;
+ background-color: #FFF;
+ padding: 0 10px;
+ margin-bottom: 0;
+ margin-left: -25px;
+ line-height: 30px;
+ left: 50%;
+ bottom: -15px;
+ font-size: 1.3em;
+ color: #B1B1B1;
+}
/*Search*/
#orbit-bar #search {
margin-bottom: 0;
position: relative;
- padding: 8px 10px 0;
+ padding: 0 10px;
border-right: 1px solid #363636;
box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.3);
}
#orbit-bar #search form {
- margin-bottom: 8px;
+ margin: 8px 0;
}
#orbit-bar #search input[type="text"] {
height: 14px;
@@ -110,6 +161,7 @@
font-size: 13px;
padding-left: 25px;
padding-right: 25px;
+ display: block;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
-o-border-radius: 12px;
@@ -122,15 +174,16 @@
#orbit-bar #search .search-clear {
position: absolute;
color: #A3A3A3;
- top: 14px;
+ top: 16px;
}
#orbit-bar #search .icon-search {
- left: 13px;
- top: 15px;
+ left: 15px;
font-size: 1.2em;
+ width: 1.25em;
+ margin-top: 0;
}
#orbit-bar #search .search-clear {
- right: 14px;
+ right: 13px;
font-size: 1.3em;
}
#orbit-bar #search .search-clear:hover {
diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb
new file mode 100644
index 00000000..3e5a5ed3
--- /dev/null
+++ b/app/controllers/sessions_controller.rb
@@ -0,0 +1,40 @@
+# encoding: utf-8
+
+class SessionsController < Devise::SessionsController
+ prepend_before_filter :require_no_authentication, :only => [ :new, :create ]
+
+
+ def create
+ @site = Site.first
+
+ private_key = OpenSSL::PKey::RSA.new(@site.private_key)
+ wresult = private_key.private_decrypt(request.params['wresult'])
+
+ @ids = wresult.split("@")
+
+ login_uid = @ids[0]
+
+ resource = User.first(conditions:{user_id: login_uid})
+
+ if !resource.blank?
+ resource_name = resource.class.to_s.downcase
+ sign_in(resource_name, resource)
+ session[:user_id_type] = "myntumb"
+ redirect_to after_sign_in_path_for(resource)
+ else
+ flash[:error] = "很抱歉,您無此權限或帳號登入本站,請洽本站管理員
Sorry, you don't have the account or authority to login. Please contact the website administrator."
+ redirect_to :root
+ end
+ end
+
+ def destroy
+ @user_id_type = session[:user_id_type]
+ sign_out
+ if @user_id_type == "myntumb"
+ redirect_to "https://adfs.ntu.edu.tw/adfs/ls/?wa=wsignout1.0&wreply=https://management.ntu.edu.tw"
+ else
+ redirect_to root_path
+ end
+ end
+
+end
\ No newline at end of file
diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb
index 1b77fce2..7722b9f4 100644
--- a/app/views/devise/sessions/new.html.erb
+++ b/app/views/devise/sessions/new.html.erb
@@ -1,59 +1,62 @@
- Log In to Orbit
-
-
- <% end %>
or
+