Merge branch 'anc_approval_list' of https://github.com/Rulingcom/orbit into anc_approval_list

This commit is contained in:
Matthew K. Fu JuYuan 2012-04-30 03:14:53 +08:00
commit 17635a2cf2
68 changed files with 1998 additions and 1007 deletions

3
.gitignore vendored
View File

@ -10,8 +10,7 @@ uploads/**/*
*.swp *.swp
public/javascripts public/assets
public/stylesheets
config/application.rb config/application.rb
.rvmrc .rvmrc

View File

@ -1,79 +0,0 @@
.widget-size-300 {
width:298px;
}
.widget-box {
background-color: #FFF;
overflow: hidden;
min-width: 300px;
border: 1px solid #DDD;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
margin: 0 0 5px 5px;
position:relative;
}
.widget-box .widget-title {
background: #999;
color: #FFF;
padding-left: 5px;
border-radius: 5px 5px 0 0;
-moz-border-radius: 5px 5px 0 0;
-webkit-border-radius: 5px 5px 0 0;
}
.widget-box .widget-content {
padding: 10px;
}
.widget-box .form-horizontal .control-group > label {
width: 50px;
}
.widget-box .form-horizontal .controls {
margin-left: 60px;
}
.widget-action {
position:absolute;
right:1px;
top:6px;
}
.action {
float: left;
display:inline-block;
margin-right: 5px;
opacity: 0.8;
filter: alpha(opacity=80);
}
.action:hover {
opacity: 1;
filter: alpha(opacity=100);
cursor: pointer;
}
.select-role {
display:none;
padding: 10px 0 0;
}
.file-upload {
position:relative;
}
.file-upload .file-name {
display: inline-block;
margin: 0 0 5px 5px;
white-space: nowrap;
width: 140px;
}
.file-upload .upload {
margin:0;
padding:0;
position:absolute;
top:0;
left:0;
opacity:.0;
filter: alpha(opacity=100);
}
.file-upload .upload:focus {
position:absolute;
}
.upload-picture {
margin-right: 5px;
}
#widget-link table {
margin-bottom:0
}

View File

@ -1,4 +1,4 @@
$('#submit_button').live('click', function(){ $(document).on('click', '#ajax_form_submit', function(){
$('#ajaxForm').ajaxSubmit({ $('#ajaxForm').ajaxSubmit({
beforeSubmit: function(a,f,o) { beforeSubmit: function(a,f,o) {
o.dataType = 'script'; o.dataType = 'script';

View File

@ -6,10 +6,9 @@ $('.bulletin_files_block a.delete').live('click', function(){
$(this).parents('.list_item').remove(); $(this).parents('.list_item').remove();
}); });
$('.action a.remove_existing_record').live('click', function(){ $(document).on('click', '.action a.remove_existing_record', function(){
$(this).next('.should_destroy').attr('value', 1); $(this).next('.should_destroy').attr('value', 1);
//$("#bulletin_" + $(this).prev().attr('value')).hide(); $("tr #" + $(this).prev().attr('value')).hide();
$("tr#bulletin_" + $(this).prev().attr('value')).hide();
}); });
$('.quick_edit_cancel').live('click', function(){ $('.quick_edit_cancel').live('click', function(){

View File

@ -1 +1,118 @@
(function(a){function b(b,c){function w(a){if(!(g.ratio>=1)){o.now=Math.min(i[c.axis]-j[c.axis],Math.max(0,o.start+((k?a.pageX:a.pageY)-p.start)));n=o.now*h.ratio;g.obj.css(l,-n);j.obj.css(l,o.now)}return false}function v(b){a(document).unbind("mousemove",w);a(document).unbind("mouseup",v);j.obj.unbind("mouseup",v);document.ontouchmove=j.obj[0].ontouchend=document.ontouchend=null;return false}function u(b){if(!(g.ratio>=1)){var b=b||window.event;var d=b.wheelDelta?b.wheelDelta/120:-b.detail/3;n-=d*c.wheel;n=Math.min(g[c.axis]-f[c.axis],Math.max(0,n));j.obj.css(l,n/h.ratio);g.obj.css(l,-n);b=a.event.fix(b);b.preventDefault()}}function t(b){p.start=k?b.pageX:b.pageY;var c=parseInt(j.obj.css(l));o.start=c=="auto"?0:c;a(document).bind("mousemove",w);document.ontouchmove=function(b){a(document).unbind("mousemove");w(b.touches[0])};a(document).bind("mouseup",v);j.obj.bind("mouseup",v);j.obj[0].ontouchend=document.ontouchend=function(b){a(document).unbind("mouseup");j.obj.unbind("mouseup");v(b.touches[0])};return false}function s(){j.obj.bind("mousedown",t);j.obj[0].ontouchstart=function(a){a.preventDefault();j.obj.unbind("mousedown");t(a.touches[0]);return false};i.obj.bind("mouseup",w);if(c.scroll&&this.addEventListener){e[0].addEventListener("DOMMouseScroll",u,false);e[0].addEventListener("mousewheel",u,false)}else if(c.scroll){e[0].onmousewheel=u}}function r(){j.obj.css(l,n/h.ratio);g.obj.css(l,-n);p["start"]=j.obj.offset()[l];var a=m.toLowerCase();h.obj.css(a,i[c.axis]);i.obj.css(a,i[c.axis]);j.obj.css(a,j[c.axis])}function q(){d.update();s();return d}var d=this;var e=b;var f={obj:a(".viewport",b)};var g={obj:a(".overview",b)};var h={obj:a(".scrollbar",b)};var i={obj:a(".track",h.obj)};var j={obj:a(".thumb",h.obj)};var k=c.axis=="x",l=k?"left":"top",m=k?"Width":"Height";var n,o={start:0,now:0},p={};this.update=function(a){f[c.axis]=f.obj[0]["offset"+m];g[c.axis]=g.obj[0]["scroll"+m];g.ratio=f[c.axis]/g[c.axis];h.obj.toggleClass("disable",g.ratio>=1);i[c.axis]=c.size=="auto"?f[c.axis]:c.size;j[c.axis]=Math.min(i[c.axis],Math.max(0,c.sizethumb=="auto"?i[c.axis]*g.ratio:c.sizethumb));h.ratio=c.sizethumb=="auto"?g[c.axis]/i[c.axis]:(g[c.axis]-f[c.axis])/(i[c.axis]-j[c.axis]);n=a=="relative"&&g.ratio<=1?Math.min(g[c.axis]-f[c.axis],Math.max(0,n)):0;n=a=="bottom"&&g.ratio<=1?g[c.axis]-f[c.axis]:isNaN(parseInt(a))?n:parseInt(a);r()};return q()}a.tiny=a.tiny||{};a.tiny.scrollbar={options:{axis:"y",wheel:40,scroll:true,size:"auto",sizethumb:"auto"}};a.fn.tinyscrollbar=function(c){var c=a.extend({},a.tiny.scrollbar.options,c);this.each(function(){a(this).data("tsb",new b(a(this),c))});return this};a.fn.tinyscrollbar_update=function(b){return a(this).data("tsb").update(b)};})(jQuery) (function(a){
function b(b,c){
function w(a){
if(!(g.ratio>=1)){
o.now=Math.min(i[c.axis]-j[c.axis],Math.max(0,o.start+((k?a.pageX:a.pageY)-p.start)));
n=o.now*h.ratio;g.obj.css(l,-n);
j.obj.css(l,o.now)
}
return false
}
function v(b){
a(document).unbind("mousemove",w);
a(document).unbind("mouseup",v);
j.obj.unbind("mouseup",v);
document.ontouchmove=j.obj[0].ontouchend=document.ontouchend=null;
return false
}
function u(b){
if(!(g.ratio>=1)){
var b=b||window.event;
var d=b.wheelDelta?b.wheelDelta/120:-b.detail/3;
n-=d*c.wheel;
n=Math.min(g[c.axis]-f[c.axis],Math.max(0,n));
j.obj.css(l,n/h.ratio);
g.obj.css(l,-n);
b=a.event.fix(b);
b.preventDefault()
}
}
function t(b){
p.start=k?b.pageX:b.pageY;
var c=parseInt(j.obj.css(l));
o.start=c=="auto"?0:c;
a(document).bind("mousemove",w);
document.ontouchmove=function(b){
a(document).unbind("mousemove");
w(b.touches[0])
};
a(document).bind("mouseup",v);
j.obj.bind("mouseup",v);
j.obj[0].ontouchend=document.ontouchend=function(b){
a(document).unbind("mouseup");
j.obj.unbind("mouseup");
v(b.touches[0])
};
return false
}
function s(){
j.obj.bind("mousedown",t);
j.obj[0].ontouchstart=function(a){
a.preventDefault();
j.obj.unbind("mousedown");
t(a.touches[0]);
return false
};
i.obj.bind("mouseup",w);
if(c.scroll&&this.addEventListener){
e[0].addEventListener("DOMMouseScroll",u,false);
e[0].addEventListener("mousewheel",u,false)
}else if(c.scroll){
e[0].onmousewheel=u
}
}
function r(){
j.obj.css(l,n/h.ratio);
g.obj.css(l,-n);
p["start"]=j.obj.offset()[l];
var a=m.toLowerCase();
h.obj.css(a,i[c.axis]);
i.obj.css(a,i[c.axis]);
j.obj.css(a,j[c.axis])
}
function q(){
d.update();
s();
return d
}
var d=this;
var e=b;
var f={obj:a(".viewport",b)};
var g={obj:a(".overview",b)};
var h={obj:a(".scrollbar",b)};
var i={obj:a(".track",h.obj)};
var j={obj:a(".thumb",h.obj)};
var k=c.axis=="x",
l=k?"left":"top",
m=k?"Width":"Height";
var n,
o={start:0,now:0},
p={};
this.update=function(a){
f[c.axis]=f.obj[0]["offset"+m];
g[c.axis]=g.obj[0]["scroll"+m];
g.ratio=f[c.axis]/g[c.axis];
h.obj.toggleClass("disable",g.ratio>=1);
i[c.axis]=c.size=="auto"?f[c.axis]:c.size;
j[c.axis]=Math.min(i[c.axis],Math.max(0,c.sizethumb=="auto"?i[c.axis]*g.ratio:c.sizethumb));
h.ratio=c.sizethumb=="auto"?g[c.axis]/i[c.axis]:(g[c.axis]-f[c.axis])/(i[c.axis]-j[c.axis]);
n=a=="relative"&&g.ratio<=1?Math.min(g[c.axis]-f[c.axis],Math.max(0,n)):0;
n=a=="bottom"&&g.ratio<=1?g[c.axis]-f[c.axis]:isNaN(parseInt(a))?n:parseInt(a);
r()
};
return q()
}
a.tiny=a.tiny||{};
a.tiny.scrollbar={options:{axis:"y",wheel:40,scroll:true,size:"auto",sizethumb:"auto"}};
a.fn.tinyscrollbar=function(c){
var c=a.extend({},a.tiny.scrollbar.options,c);
this.each(function(){
a(this).data("tsb",new b(a(this),c))
});
return this
};
a.fn.tinyscrollbar_update=function(b){
return a(this).data("tsb").update(b)
};
})
(jQuery)

View File

@ -6,6 +6,7 @@
// //
//= require jquery //= require jquery
//= require jquery_ujs //= require jquery_ujs
//= require jquery.form
//= require bootstrap //= require bootstrap
//= require jquery.isotope.min //= require jquery.isotope.min
//= require jquery.tinyscrollbar.min //= require jquery.tinyscrollbar.min
@ -14,3 +15,4 @@
//= require tinymce_orbit //= require tinymce_orbit
//= require orbit-bar-search //= require orbit-bar-search
//= require side_bar_history //= require side_bar_history
//= require ajax_form

View File

@ -1,5 +1,6 @@
var viewportwidth, var viewportwidth,
viewportheight; viewportheight;
console.log($(window).height())
function resize() { function resize() {
viewportheight=$(window).height(); viewportheight=$(window).height();
viewportwidth=$(window).width(); viewportwidth=$(window).width();
@ -49,14 +50,20 @@ $(document).ready(function(){
resize(); resize();
var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-2, var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-2,
$subWiget = $('#sub-wiget').width()+18; $subWiget = $('#sub-wiget').width()+18;
$('#main-sidebar').css("height", viewportheight-30); $orbitBar = $('#orbit-bar').height(),
$('#main-sidebar .viewport').css("height", viewportheight-30); $mainSidebar = $('#main-sidebar').width()+5,
$formActionPadding = parseInt($('.form-fixed').css("padding-left"))+parseInt($('.form-fixed').css("padding-right"));
console.log($orbitBar);
console.log("ready"+$(window).height());
$('#main-sidebar').css("height", viewportheight-$orbitBar);
$('#main-sidebar .viewport').css("height", viewportheight-$orbitBar);
$('#post-body').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget); $('#post-body').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget);
$('.post-title').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget-16); $('.post-title').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget-16);
$('#main-wrap .subnav').css("width", viewportwidth-$mainWrapMarginLeft); $('#main-wrap .subnav').css("width", viewportwidth-$mainWrapMarginLeft);
$('#main-sidebar').tinyscrollbar(); $('.form-fixed').css("width", viewportwidth-$mainWrapMarginLeft-$formActionPadding);
$('#bulletin_pagination').css("width", viewportwidth-$mainSidebar);
$('#main-sidebar').tinyscrollbar({size:(viewportheight-$orbitBar-4)});
$('.detal-list').tinyscrollbar(); $('.detal-list').tinyscrollbar();
$('#main-sidebar').tinyscrollbar({size:(viewportheight-34)});
mainTablePosition(); mainTablePosition();
/*isotope*/ /*isotope*/
@ -72,12 +79,18 @@ $(window).resize(function(){
resize(); resize();
var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-2, var $mainWrapMarginLeft = parseInt($('#main-wrap').css("margin-left"))-2,
$subWiget = $('#sub-wiget').width()+18; $subWiget = $('#sub-wiget').width()+18;
$('#main-sidebar').css("height", viewportheight-30); $orbitBar = $('#orbit-bar').height(),
$('#main-sidebar .viewport').css("height", viewportheight-30); $mainSidebar = $('#main-sidebar').width()+5,
$formActionPadding = parseInt($('.form-fixed').css("padding-left"))+parseInt($('.form-fixed').css("padding-right"));
console.log(viewportheight);
$('#main-sidebar').css("height", viewportheight-$orbitBar);
$('#main-sidebar .viewport').css("height", viewportheight-$orbitBar);
$('#post-body').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget); $('#post-body').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget);
$('.post-title').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget-16); $('.post-title').css("width", viewportwidth-$mainWrapMarginLeft-$subWiget-16);
$('#main-wrap .subnav').css("width", viewportwidth-$mainWrapMarginLeft) $('#main-wrap .subnav').css("width", viewportwidth-$mainWrapMarginLeft);
$('#main-sidebar').tinyscrollbar({size:(viewportheight-34)}); $('.form-fixed').css("width", viewportwidth-$mainWrapMarginLeft-$formActionPadding);
$('#bulletin_pagination').css("width", viewportwidth-$mainSidebar);
$('#main-sidebar').tinyscrollbar({size:(viewportheight-$orbitBar-4)});
mainTablePosition(); mainTablePosition();
}); });
/*main-table position*/ /*main-table position*/

View File

@ -1,28 +1,28 @@
var history_edited = false; var history_edited = false;
// $('#back_sidebar a, #back_main a.nav').live('click', $('#back_sidebar a, #back_main a.nav').live('click',
// function () { function () {
// $.getScript(this.href); $.getScript(this.href);
// history.pushState(null, document.title, this.href); history.pushState(null, document.title, this.href);
// history_edited = true; history_edited = true;
// return false; return false;
// } }
// ); );
// $('#back_main a.reload').live('click', $('#back_main a.reload').live('click',
// function () { function () {
// $.getScript(this.href); $.getScript(this.href);
// history.replaceState(null, document.title, this.href); history.replaceState(null, document.title, this.href);
// history_edited = true; history_edited = true;
// return false; return false;
// } }
// ); );
// $('.form').live('submit', function () { $('#back_main .form').live('submit', function () {
// $.post(this.action, $(this).serialize(), null, 'script'); $.post(this.action, $(this).serialize(), null, 'script');
// history_edited = true; history_edited = true;
// return false; return false;
// }); });
$(document).on('click', '.js_history', $(document).on('click', '.js_history',
function () { function () {

View File

@ -6,6 +6,10 @@
// //
//= require jquery //= require jquery
//= require jquery_ujs //= require jquery_ujs
//= require page_edit //= require bootstrap
//= require jquery.isotope.min
//= require jquery.tinyscrollbar.min
//= require orbit-1.0
//= require orbit-bar-search
//= require side_bar_history //= require side_bar_history
//= require new_admin //= require page_edit

View File

@ -112,6 +112,18 @@ table .span1-3 {
.qe-block .form-horizontal .form-actions { .qe-block .form-horizontal .form-actions {
text-align:right; text-align:right;
} }
.form-actions form {
margin-bottom: 0;
}
.form-actions form input {
margin-bottom: 0;
}
.modal.fade { .modal.fade {
top: -50%; top: -50%;
} }
.form-search button {
margin-bottom: 0;
}
.modal form {
margin-bottom: 0;
}

View File

@ -2,17 +2,10 @@
#isotope { #isotope {
margin-top: 2px; margin-top: 2px;
background-color:#f4f4f4;
} }
.isotope-item { .isotope-item {
z-index: 2; z-index: 2;
} }
.isotope-hidden.isotope-item {
pointer-events: none;
z-index: 1;
}
/**** Isotope CSS3 transitions ****/ /**** Isotope CSS3 transitions ****/
.isotope, .isotope,
@ -48,28 +41,27 @@
transition-duration: 0s; transition-duration: 0s;
} }
.w-a { .w-a {
width: 388px; width: 398px;
} }
.w-b { .w-b {
width: 802px; width: 812px;
} }
.h-a { .h-a {
height: 315px; height: 315px;
} }
.h-b { .h-b {
height: 699px; height: 703px;
} }
.item { .item {
margin: 5px 0 15px 15px; margin: 5px 0 15px 15px;
} }
.item h3 { .item h3 {
margin: 5px 0; margin: 20px 0 5px;
} }
.item h3 [class^="icons-"] { .item h3 [class^="icons-"] {
margin: 3px 5px 0 3px; margin: 1px 5px 0 3px;
} }
.item .detail { .item .detail {
padding: 5px;
border: 1px solid rgba(0, 0, 0, 0.1); border: 1px solid rgba(0, 0, 0, 0.1);
background-color: #FFFFFF; background-color: #FFFFFF;
border-radius: 5px; border-radius: 5px;
@ -77,12 +69,11 @@
-moz-border-radius: 5px; -moz-border-radius: 5px;
box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
} }
.item .detail .totle { .item .detail .totle {
font-size: 50px; font-size: 50px;
padding:10px 5px 20px 0; padding:10px 5px 30px 0;
margin: 0px; margin: 0;
text-align: right; text-align: right;
border-bottom:1px solid #d9d9d9; border-bottom:1px solid #d9d9d9;
} }
@ -92,20 +83,60 @@
color: #333; color: #333;
padding-left: 5px; padding-left: 5px;
text-align:left; text-align:left;
margin-bottom: -7px;
}
.item .detail .table {
margin-bottom: 0;
} }
.item .detail .table th, .item .detail .table td { .item .detail .table th, .item .detail .table td {
border-top: none; border-top: none;
border-bottom: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD;
} }
.item .detail .table tr th {
background-color: #F2F2F2;
border-bottom: 1px solid #AAAAAA;
}
.item .detail .table tr td:first-child { .item .detail .table tr td:first-child {
color: #666;; color: #666;;
} }
.item .detail .table tr td:last-child { .item .detail .table tr td:last-child, .item .detail .table tr th:last-child {
text-align:right; text-align:right;
padding-right: 15px;
} }
.item .h-a .my_scroll .viewport { .item .h-a .my_scroll .viewport {
height: 248px; height: 210px;
} }
.item .h-b .my_scroll .viewport { .item .h-b .my_scroll .viewport {
height: 632px; height: 594px;
}
.item .isotope-hidden.isotope-item {
pointer-events: none;
z-index: 1;
}
.item .my_scroll {
position: relative;
}
.item .my_scroll .scrollbar {
right: 3px;
top: 0;
position: absolute;
z-index: 10;
}
.item .my_scroll .track {
background-color: transparent;
}
.detail.noStatistics {
overflow: hidden;
}
.detail.noStatistics.h-a {
height: 315px;
}
.detail.noStatistics.h-a .my_scroll .viewport {
height: 280px;
}
.detail.noStatistics.h-b {
height: 704px;
}
.detail.noStatistics.h-b .my_scroll .viewport {
height: 670px;
} }

View File

@ -22,7 +22,7 @@
.main-list .nav-pills > li > a { .main-list .nav-pills > li > a {
border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px;
margin: 2px; margin: 2px;
padding:5px padding:5px;
} }
.main-list tbody .quick-edit { .main-list tbody .quick-edit {
position:relative; position:relative;
@ -35,6 +35,9 @@
width: 350px; width: 350px;
left: -8px; left: -8px;
} }
.main-list tr:first-child td {
border-top: 1px solid #DDDDDD;
}
.main-list td { .main-list td {
background-color: #FFFFFF; background-color: #FFFFFF;
border-bottom: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD;
@ -51,6 +54,11 @@
position: relative; position: relative;
height: 40px; height: 40px;
} }
.main-list .label-group .label {
margin-bottom: 1px;
display: inline-block;
padding: 0 3px;
}
.main-list .label-td { .main-list .label-td {
background-color: rgba(255, 255, 255, 1); background-color: rgba(255, 255, 255, 1);
height: 40px; height: 40px;
@ -75,6 +83,9 @@
-moz-border-radius: 3px; -moz-border-radius: 3px;
z-index: 5; z-index: 5;
} }
.qe-edit-div .table-condensed {
background-color: #F2F2F2;
}
.table-label { .table-label {
background-color: #F2F2F2; background-color: #F2F2F2;
position: relative; position: relative;
@ -93,6 +104,19 @@
.qe-block td { .qe-block td {
height:auto; height:auto;
padding: 0; padding: 0;
/*background-color: #dedede;*/
}
.qe-block legend {
padding-left: 8px;
margin-bottom: 0;
padding-bottom: 0;
}
.qe-block .control-group {
margin-bottom: 0;
}
.qe-block .controls, .qe-block .control-label {
margin-top: 10px;
margin-bottom: 10px;
} }
.qe-block .table td, .qe-block .table th { .qe-block .table td, .qe-block .table th {
padding: 8px; padding: 8px;
@ -156,11 +180,18 @@ legend {
.sort-header th a:hover { .sort-header th a:hover {
text-decoration: none; text-decoration: none;
} }
#check_all_bulletins { .list-remove {
position: absolute; position: absolute;
top: 10px; top: 0;
left: 5px; padding-top: 9px !important;
left: 25px;
} }
#sort_headers .list-remove { .form-fixed {
padding: 8px 0 8px 16px !important; position: fixed;
margin-bottom: 0;
bottom: 0;
z-index: 10;
}
.paginationFixed {
margin-bottom: 25px;
} }

View File

@ -1,12 +1,23 @@
/*sidebar*/ /*sidebar*/
#back_sidebar { .nav-list {
left: 0; padding: 0px 0px 100px 5px;
position: fixed;
top: 0;
width: 160px;
} }
.nav-list li {
position: relative;
}
.nav-list ul {
margin-left: 10px;
}
.nav-list ul li {
padding: 5px 0;
}
.nav-list ul li a {
font-size: 13px;
padding: 3px 0px;
display: block;
}
/*
#back_sidebar h1 { #back_sidebar h1 {
background: url(<%= asset_path "h1_bg.png" %>) repeat-x scroll left top transparent; background: url(<%= asset_path "h1_bg.png" %>) repeat-x scroll left top transparent;
border-bottom: 1px solid #1B1B1B; border-bottom: 1px solid #1B1B1B;
@ -106,36 +117,35 @@
} }
#main-sidebar ul ul li a{ #main-sidebar ul ul li a{
padding: 10px 0 10px 20px; padding: 10px 0 10px 20px;
} }*/
#main-sidebar li:hover .quick-edit{ .with_action:hover .hide {
display: block; display: block;
} }
#main-sidebar .quick-edit { #main-sidebar .quick-edit {
background: none repeat scroll 0 0 #FFFFFF; background: none repeat scroll 0 0 #FFFFFF;
border: 1px solid #DDDDDD; border: 1px solid #DDDDDD;
border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px;
display: none; margin: 0 0 0 3px;
margin:-3px 0 0 3px; padding: 0;
padding: 3px;
z-index:1; z-index:1;
} position: absolute;
#main-sidebar .quick-edit:after{ left: -3px;
content: "."; width: 70px;
display: block;
height: 0;
clear: both;
visibility: hidden;
} }
#main-sidebar .quick-edit a { #main-sidebar .quick-edit a {
display: block;
line-height: 22px;
border-bottom: medium none; border-bottom: medium none;
border-radius: 5px 5px 5px 5px;
font-size:12px; font-size:12px;
float: left; margin: 0;
margin: 0 3px 0 0; padding: 3px 5px;
padding: 3px; }
#main-sidebar .quick-edit a:first-child {
border-radius: 5px 5px 0px 0px;
}
#main-sidebar .quick-edit a:last-child {
border-radius: 0px 0px 5px 5px;
} }
#main-sidebar .quick-edit a:hover { #main-sidebar .quick-edit a:hover {
background: none repeat scroll 0 0 #EEEEEE; background-color: #DDDDDD;
border-bottom:none;
} }

View File

@ -5,6 +5,10 @@
*= require reset *= require reset
*= require_self *= require_self
*= require message *= require message
*= require bootstrap
*= require style
*= require bootstrap-orbit
*= require scroll_style
*= require site_items *= require site_items
*= require sidebar *= require sidebar
*/ */

View File

@ -243,7 +243,7 @@
padding-right: 4px; padding-right: 4px;
border-right: 1px solid rgba(0,0,0,.2); border-right: 1px solid rgba(0,0,0,.2);
position:fixed; position:fixed;
top: 32px; top: 31px;
z-index: 88; z-index: 88;
} }
#main-sidebar .nav { #main-sidebar .nav {
@ -286,17 +286,18 @@
background-color: #FFF; background-color: #FFF;
margin-left:160px; margin-left:160px;
padding-top: 32px; padding-top: 32px;
padding-bottom: 18px; /*padding-bottom: 18px;*/
position: relative; position: relative;
min-height: 100%; padding-bottom: 45px;
/*min-height: 100%;*/
} }
#main-wrap > .form-actions { /*#main-wrap > .form-actions {
background-color: #FFF; background-color: #FFF;
text-align: center; text-align: center;
padding: 17px 20px 0; padding: 17px 20px 0;
margin: 0; margin: 0;
border-top: none; border-top: none;
} }*/
#main-wrap .subnav { #main-wrap .subnav {
height: auto; height: auto;
min-height: 36px; min-height: 36px;
@ -345,7 +346,7 @@
text-align: right; text-align: right;
padding-left: 10px; padding-left: 10px;
padding-right: 10px; padding-right: 10px;
margin-bottom: 0; margin-bottom: -50px;
clear: both; clear: both;
} }
#poststuff form { #poststuff form {
@ -613,8 +614,15 @@
.text-green { .text-green {
color: #39b54a !important; color: #39b54a !important;
} }
.adbanner-setup {
margin-right: 10px;
margin-bottom: 30px !important;
}
.adbanner-list { .adbanner-list {
margin-top: 20px; border-top: 1px solid #AAA;
margin-right: 10px;
padding-top: 10px;
position: relative;
} }
.adbanner-list ul { .adbanner-list ul {
margin: 0px; margin: 0px;
@ -915,5 +923,5 @@
} }
/*21*/ /*21*/
.icons- { .icons- {
background-position: -0px -640px; background-position: -0px -640px
} }

View File

@ -53,11 +53,11 @@
display:inline-block; display:inline-block;
margin-right: 5px; margin-right: 5px;
opacity: 0.8; opacity: 0.8;
filter: alpha(opacity:80); filter: alpha(opacity=80);
} }
.action:hover { .action:hover {
opacity: 1; opacity: 1;
filter: alpha(opacity:100); filter: alpha(opacity=100);
cursor: pointer; cursor: pointer;
} }
.select-role { .select-role {
@ -95,12 +95,24 @@
opacity:.0; opacity:.0;
font-size: 60px; font-size: 60px;
left: -595px/9; left: -595px/9;
filter: alpha(opacity: 0); filter: alpha(opacity= 0);
outline: none; outline: none;
} }
.file-upload .upload:focus { .file-upload .upload:focus {
position:absolute; position:absolute;
} }
.file-upload .input-medium {
border-radius: 3px 3px 3px 3px !important;
width: 267px;
position: relative;
z-index: 5;
display: block;
clear: both;
}
.file-upload .control-label {
margin-top: 0;
margin-bottom: 5px;
}
.upload-picture { .upload-picture {
margin-bottom: 5px; margin-bottom: 5px;
text-align: center; text-align: center;
@ -120,12 +132,6 @@
margin : 0px 0 5px; margin : 0px 0 5px;
padding: 5px 10px; padding: 5px 10px;
} }
.file-upload .input-medium {
border-radius: 3px 3px 3px 3px !important;
width: 267px;
position: relative;
z-index: 5;
}
#widget-link table { #widget-link table {
margin-bottom:0 margin-bottom:0
} }

View File

@ -9,18 +9,20 @@ module Admin::ItemHelper
when 'Link' when 'Link'
dest = admin_link_path(node) dest = admin_link_path(node)
end end
ret << "<ul class='list'>" ret << "<ul>" unless node.parent.nil?
ret << "<li>" ret << "<li>"
ret << "<div class='with_action'>"
ret << (link_to node.i18n_variable[I18n.locale], dest) ret << (link_to node.i18n_variable[I18n.locale], dest)
ret << "<div class='quick-edit'>" ret << "<div class='quick-edit hide'>"
ret << (link_to t('admin.edit'), eval("edit_admin_#{node._type.downcase}_path(node)")) if node._type.eql?('Page') ret << (link_to t('admin.edit'), eval("edit_admin_#{node._type.downcase}_path(node)")) if node._type.eql?('Page')
ret << (link_to t('admin.new_page'), new_admin_page_path(:parent_id => node.id), :class => 'new_page') if node._type.eql?('Page') ret << (link_to t('admin.new_page'), new_admin_page_path(:parent_id => node.id), :class => 'new_page') if node._type.eql?('Page')
ret << (link_to t('admin.new_link'), new_admin_link_path(:parent_id => node.id), :class => 'new_link') if node._type.eql?('Page') ret << (link_to t('admin.new_link'), new_admin_link_path(:parent_id => node.id), :class => 'new_link') if node._type.eql?('Page')
ret << (link_to t(:delete), eval("delete_admin_#{node._type.downcase}_path(node, :authenticity_token => form_authenticity_token)"), :confirm => t('sure?'), :class => 'delete') ret << (link_to t(:delete), eval("delete_admin_#{node._type.downcase}_path(node, :authenticity_token => form_authenticity_token)"), :confirm => t('sure?'), :class => 'delete')
ret << "</div>" ret << "</div>"
ret << "</li>" ret << "</div>"
ret << render_children(node) ret << render_children(node)
ret << "</ul>" ret << "</li>"
ret << "</ul>" unless node.parent.nil?
end end
ret.html_safe ret.html_safe
end end

View File

@ -124,11 +124,13 @@ module ApplicationHelper
"<title>#{page.title ? page.title[I18n.locale] : page.i18n_variable[I18n.locale]}</title>\n" "<title>#{page.title ? page.title[I18n.locale] : page.i18n_variable[I18n.locale]}</title>\n"
end end
def page_stylesheets(page) def page_stylesheets(page, edit=nil)
stylesheets = '' stylesheets = ''
stylesheets << "<link href='/assets/bootstrap.css.erb' rel='stylesheet' type='text/css' />\n" unless edit
stylesheets << "<link href='/assets/bootstrap.css' rel='stylesheet' type='text/css' />\n"
stylesheets << "<link href='/assets/bootstrap-orbit.css' rel='stylesheet' type='text/css' />\n" stylesheets << "<link href='/assets/bootstrap-orbit.css' rel='stylesheet' type='text/css' />\n"
stylesheets << "<link href='/assets/style.css.erb' rel='stylesheet' type='text/css' />\n" stylesheets << "<link href='/assets/style.css' rel='stylesheet' type='text/css' />\n"
end
stylesheets << "<link href='#{page.design.reset_css.file.url}' rel='stylesheet' type='text/css' />\n" if page.design.reset_css stylesheets << "<link href='#{page.design.reset_css.file.url}' rel='stylesheet' type='text/css' />\n" if page.design.reset_css
stylesheets << "<link href='#{page.design.default_css.file.url}' rel='stylesheet' type='text/css' />\n" if page.design.default_css stylesheets << "<link href='#{page.design.default_css.file.url}' rel='stylesheet' type='text/css' />\n" if page.design.default_css
theme = page.design.themes.detect{ |d| d.id == page.theme_id } theme = page.design.themes.detect{ |d| d.id == page.theme_id }
@ -136,17 +138,19 @@ module ApplicationHelper
stylesheets stylesheets
end end
def page_javascripts(page) def page_javascripts(page, edit=nil)
javascripts = '' javascripts = ''
unless edit
javascripts << "<script type='text/javascript' src='/static/jquery.js'></script>\n" javascripts << "<script type='text/javascript' src='/static/jquery.js'></script>\n"
javascripts << "<script type='text/javascript' src='/static/jquery.cycle.all.latest.js'></script>\n"
javascripts << "<script type='text/javascript' src='/static/kernel.js'></script>\n"
javascripts << "<script type='text/javascript' src='/assets/bootstrap.js'></script>\n" javascripts << "<script type='text/javascript' src='/assets/bootstrap.js'></script>\n"
javascripts << "<script type='text/javascript' src='/assets/jquery.tinyscrollbar.min.js'></script>\n" javascripts << "<script type='text/javascript' src='/assets/jquery.tinyscrollbar.min.js'></script>\n"
javascripts << "<script type='text/javascript' src='/assets/jquery.isotope.min.js'></script>\n" javascripts << "<script type='text/javascript' src='/assets/jquery.isotope.min.js'></script>\n"
javascripts << "<script type='text/javascript' src='/assets/orbit-bar-member.js'></script>\n" javascripts << "<script type='text/javascript' src='/assets/orbit-bar-member.js'></script>\n"
javascripts << "<script type='text/javascript' src='/assets/orbit-bar-search.js'></script>\n" javascripts << "<script type='text/javascript' src='/assets/orbit-bar-search.js'></script>\n"
javascripts << "<script type='text/javascript' src='/assets/orbit_bar.js'></script>\n" javascripts << "<script type='text/javascript' src='/assets/orbit_bar.js'></script>\n"
end
javascripts << "<script type='text/javascript' src='/static/jquery.cycle.all.latest.js'></script>\n"
javascripts << "<script type='text/javascript' src='/static/kernel.js'></script>\n"
javascripts << "<script type='text/javascript' src='/assets/event.js'></script>\n" javascripts << "<script type='text/javascript' src='/assets/event.js'></script>\n"
page.design.javascripts.each do |js| page.design.javascripts.each do |js|
# javascripts << "<script type='text/javascript' src='#{js.file.url}'></script>" # javascripts << "<script type='text/javascript' src='#{js.file.url}'></script>"

View File

@ -1,17 +1,21 @@
<div class="tab-pane <%= "active" if ad_banner_tab==@active%>" id=<%= ad_banner_tab.title %>> <div class="tab-pane fade <%= "active in" if ad_banner_tab==@active%>" id=<%= ad_banner_tab.title.dehumanize %>>
<p><%= t("admin.ad.banner_best_size") %></p>
<%= form_for ad_banner_tab,:url=> admin_ad_banner_path(ad_banner_tab),:method => :put,:class=>"input-medium" do |f| -%> <%= form_for ad_banner_tab,:url=> admin_ad_banner_path(ad_banner_tab),:method => :put,:class=>"input-medium" do |f| -%>
<div class="adbanner-setup well">
<!--<p><%#= t("admin.ad.banner_best_size") %></p>-->
<%= f.label :ad_fx, t('admin.ad.ab_fx') %> <%= f.label :ad_fx, t('admin.ad.ab_fx') %>
<%= f.select :ad_fx ,AdBanner::FX_TYPES %> <%= f.select :ad_fx ,AdBanner::FX_TYPES %>
<%= f.label :transition_sec, t('admin.ad.transition_sec') %> <%= f.label :transition_sec, t('admin.ad.transition_sec') %>
<%= f.text_field :transition_sec,:placeholder=>t('admin.ad.sec_place_holder'),:class=> "span3" %> <%= t("admin.ad.trans_unit_sec") %> <%= f.text_field :transition_sec,:placeholder=>t('admin.ad.sec_place_holder'),:class=> "span3" %> <%= t("admin.ad.trans_unit_sec") %>
<%= f.submit t("admin.ad.update_banner") %> <br>
<%= f.submit t("cancel"),:type=>'reset' %> <%= f.submit t("admin.ad.update_banner"), :class => 'btn' %>
<%= f.submit t("cancel"),:type=>'reset', :class => 'btn' %>
</div>
<h3>圖片列表</h3>
<div class="adbanner-list"> <div class="adbanner-list">
<div class="adbanner-action"> <div class="adbanner-action">
<%= link_to t("admin.ad.new_image"),new_admin_ad_banner_ad_image_path(ad_banner_tab) ,:class => "btn btn-primary"%> <%= link_to t("admin.ad.new_image"),new_admin_ad_banner_ad_image_path(ad_banner_tab) ,:class => "btn btn-primary"%>
<%= link_to t("modal.preview"), admin_realtime_preview_ad_banner_path(ad_banner_tab) , :class=>'preview_trigger btn btn-success'%> <%= link_to t("modal.preview"), admin_realtime_preview_ad_banner_path(ad_banner_tab.title) , :class=>'preview_trigger btn btn-success'%>
</div> </div>
<ul class="clear"> <ul class="clear">
<%= render :partial => "ad_image_update", :collection => ad_banner_tab.ad_images,:as => :ad_image,:locals=>{:ad_banner => ad_banner_tab} %> <%= render :partial => "ad_image_update", :collection => ad_banner_tab.ad_images,:as => :ad_image,:locals=>{:ad_banner => ad_banner_tab} %>

View File

@ -1,5 +1,5 @@
<div id="new-a-banner" class="modal fade in tab-pane <%= 'active' if @active.nil? %>"> <div id="new-a-banner" class="modal fade <%= 'active' if @active.nil? %>">
<%= form_for(:ad_banner,:remote => true, :url => admin_ad_banners_path) do |f| %> <%= form_for(:ad_banner,:remote => true, :url => admin_ad_banners_path) do |f| %>
<div class="modal-header"> <div class="modal-header">
@ -28,25 +28,11 @@
<%= f.select :ad_fx ,AdBanner::FX_TYPES %> <%= f.select :ad_fx ,AdBanner::FX_TYPES %>
</div> </div>
</div> </div>
</div>
<div class="modal-footer"> <div class="modal-footer">
<%= f.submit t('submit'), :class=>'btn btn-primary',:remote=>true %> <%= f.submit t('submit'), :class=>'btn btn-primary',:remote=>true %>
<a class="btn" data-dismiss="modal"><%= t('cancel')%></a> <a class="btn" data-dismiss="modal"><%= t('cancel')%></a>
</div> </div>
<% end %> <% end %>
</div> </div>
<script type="text/javascript" charset="utf-8">
$('#new_ad_banner_tab_but').on('shown', function (e) {
$('#new-a-banner').modal({show: true});
});
$('#new-a-banner').on('hidden', function (e) {
$('#post-body-content').find(".nav.nav-tabs").children('li.active').removeClass("active");
$('#post-body-content').find(".nav.nav-tabs").children('li[id!="new_ad_banner_tab_but"]').last().addClass("active");
$('.tab-pane').find(".nav.nav-tabs").children('li[id!="new_ad_banner_tab_but"]').last().addClass("active");
});
</script>

View File

@ -8,7 +8,7 @@
<div class="modal-body"> <div class="modal-body">
<p class="ad_banner_slideshow"> <p class="ad_banner_slideshow">
<% preview_block_ad_images_helper(ad_banner).each do |ad_image| -%> <% preview_block_ad_images_helper(ad_banner).each do |ad_image| -%>
<%= image_tag ad_image.file,:alt => (ad_image.title[locale] || " "),:time_to_next => ad_banner.transition_sec,:link_open=> ad_image.link_open, :link_url =>((ad_image.out_link || ad_banner.context || " ")) %> <%= image_tag ad_image.file,:alt => (ad_image.title[locale] || " "),:time_to_next => ad_banner.transition_msec,:link_open=> ad_image.link_open, :link_url =>((ad_image.out_link || ad_banner.context || " ")) %>
<% end -%> <% end -%>
</p> </p>
</div> </div>

View File

@ -9,7 +9,7 @@
<div class="modal-body"> <div class="modal-body">
<p class="ad_banner_slideshow"> <p class="ad_banner_slideshow">
<% preview_block_ad_images_helper(ad_banner).each do |ad_image| -%> <% preview_block_ad_images_helper(ad_banner).each do |ad_image| -%>
<%= image_tag ad_image.file,:alt => (ad_image.title[locale] || ' '),:time_to_next => ad_banner.transition_sec,:link_open=> ad_image.link_open, :link_url =>((ad_image.out_link || ad_banner.context || ' ')) %> <%= image_tag ad_image.file,:alt => (ad_image.title[locale] || ' '),:time_to_next => ad_banner.transition_msec,:link_open=> ad_image.link_open, :link_url =>((ad_image.out_link || ad_banner.context || ' ')) %>
<% end -%> <% end -%>
</p> </p>
</div> </div>

View File

@ -8,17 +8,17 @@
<div id="post-body-content" class="clear"> <div id="post-body-content" class="clear">
<ul class="nav nav-tabs"> <ul id="banner_tab" class="nav nav-tabs">
<% @ad_banners.each do |ab| %> <% @ad_banners.each do |ab| %>
<%= content_tag :li,link_to(ab.title,"##{ab.title}",:data=>{:toggle=>"tab"}),:class => (ab == @active ? 'active' : nil ) %> <%= content_tag :li,link_to(ab.title,"##{ab.title.dehumanize}",:data=>{:toggle=>"tab"}),:class => (ab == @active ? 'active' : nil ) %>
<% end -%> <% end -%>
<%= content_tag :li,link_to(t("admin.ad.new_banner"),"#new-a-banner",:data=>{:toggle=>"tab"}),:id=>'new_ad_banner_tab_but',:class => (@active.nil? ? 'active' : nil ) %> <%= content_tag :li,link_to(t("admin.ad.new_banner"),"#new-a-banner",:data=>{:toggle=>"modal"}),:id=>'new_ad_banner_tab_but',:class => (@active.nil? ? 'active' : nil ) %>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<%= render :partial => 'ad_banner_tab',:collection => @ad_banners %> <%= render :partial => 'ad_banner_tab',:collection => @ad_banners %>
<%= render :partial => "modal_ad_banner_form"%>
</div> </div>
<%= render :partial => "modal_ad_banner_form"%>
</div> </div>

View File

@ -3,10 +3,10 @@
<% end %> <% end %>
<% content_for :page_specific_javascript do %> <% content_for :page_specific_javascript do %>
<%= javascript_include_tag "lib/datepicker" %> <%= javascript_include_tag "lib/datepicker" %>
<%= javascript_include_tag "lib/date.format" %> <%= javascript_include_tag "lib/date.format.js" %>
<%= javascript_include_tag "inc/modal-preview" %> <%= javascript_include_tag "inc/modal-preview" %>
<%= javascript_include_tag "/static/jquery.cycle.all.latest.js" %> <%= javascript_include_tag "/static/jquery.cycle.all.latest.js" %>
<%= javascript_include_tag "inc/jquery.imagesloaded" %> <%= javascript_include_tag "inc/jquery.imagesloaded.js" %>
<% end %> <% end %>
@ -83,7 +83,7 @@
<span class="alert widgetInfo">此區塊圖片尺寸請使用580px × 225px</span> <span class="alert widgetInfo">此區塊圖片尺寸請使用580px × 225px</span>
<div class="controls file-upload input-prepend"> <div class="controls file-upload input-prepend">
<label class="control-label add-on btn" for="input-upload"> <label class="control-label add-on btn" for="input-upload">
Choose file <%= t(:browse) %>
<%= f.file_field :file,:id=>"input-upload",:class => "upload", :onchange=> "document.getElementById('fu1').innerHTML = this.form.fu1.value = this.value;" %> <%= f.file_field :file,:id=>"input-upload",:class => "upload", :onchange=> "document.getElementById('fu1').innerHTML = this.form.fu1.value = this.value;" %>
</label> </label>
<span id="fu1" class="file-name"></span> <span id="fu1" class="file-name"></span>
@ -157,7 +157,7 @@
</div> </div>
</div> </div>
<div class="form-actions"> <div class="form-actions">
<%= link_to t("modal.preview"), admin_realtime_preview_ad_banner_path(@ad_image.ad_banner.title) ,:class=>"preview_trigger btn btn-success" rescue nil%> <%#= link_to t("modal.preview"), admin_realtime_preview_ad_banner_path(@ad_image.ad_banner.title) ,:class=>"preview_trigger btn btn-success" rescue nil%>
<%= f.submit t("submit"),:class=>"btn btn-primary" %> <%= f.submit t("submit"),:class=>"btn btn-primary" %>
<%= f.submit t("cancel"),:class=>"btn ",:type => 'reset' %> <%= f.submit t("cancel"),:class=>"btn ",:type => 'reset' %>
</div> </div>

View File

@ -9,7 +9,7 @@
<%= link_back %> <%= link_back %>
<%= f.submit t(:edit) %> <%= f.submit t(:edit) %>
<% else %> <% else %>
<a id='submit_button'><%= t(:edit) %></a> <a id='ajax_form_submit'><%= t(:edit) %></a>
<% end %> <% end %>
</div> </div>
<% end %> <% end %>

View File

@ -9,7 +9,7 @@
<%= link_back %> <%= link_back %>
<%= f.submit t(:create) %> <%= f.submit t(:create) %>
<% else %> <% else %>
<a id='submit_button' class="new"><%= t(:create) %></a> <a id='ajax_form_submit' class="new"><%= t(:create) %></a>
<% end %> <% end %>
</div> </div>
<% end %> <% end %>

View File

@ -2,198 +2,17 @@
<div id="isotope"> <div id="isotope">
<div class="item element"> <div class="item element">
<h3><i class="icons-member"></i><a href="">Member</a></h3> <h3><i class="icons-content"></i><a href=""><%= t(:content) %></a></h3>
<div class="detail w-a h-a">
<p class="totle"><span>Quantity</span>9,517</p>
<div class="detal-list my_scroll">
<div class="scrollbar">
<div class="track">
<div class="thumb">
<div class="end"></div>
</div>
</div>
</div>
<div class="viewport">
<div class="overview">
<table class="table table-striped">
<tbody>
<tr>
<td>University</td>
<td>2,304</td>
</tr>
<tr>
<td>Master</td>
<td>783</td>
</tr>
<tr>
<td>Doctor</td>
<td>45</td>
</tr>
<tr>
<td>Staff</td>
<td>62</td>
</tr>
<tr>
<td>Teacher</td>
<td>52</td>
</tr>
<tr>
<td>Professor</td>
<td>20</td>
</tr>
<tr>
<td>Assistant Professor</td>
<td>41</td>
</tr>
<tr>
<td>Substitute teacher</td>
<td>37</td>
</tr>
<tr>
<td>Lecturer</td>
<td>41</td>
</tr>
<tr>
<td>Part-time teacher</td>
<td>20</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="item element">
<h3><i class="icons-content"></i><a href="">Content</a></h3>
<div class="detail w-a h-a">
<p class="totle"><span>Quantity</span>9,517</p>
<div class="detal-list my_scroll">
<div class="scrollbar">
<div class="track">
<div class="thumb">
<div class="end"></div>
</div>
</div>
</div>
<div class="viewport">
<div class="overview">
<table class="table table-striped">
<tbody>
<tr>
<td>University</td>
<td>2,304</td>
</tr>
<tr>
<td>Master</td>
<td>783</td>
</tr>
<tr>
<td>Doctor</td>
<td>45</td>
</tr>
<tr>
<td>Staff</td>
<td>62</td>
</tr>
<tr>
<td>Teacher</td>
<td>52</td>
</tr>
<tr>
<td>Professor</td>
<td>20</td>
</tr>
<tr>
<td>Assistant Professor</td>
<td>41</td>
</tr>
<tr>
<td>Substitute teacher</td>
<td>37</td>
</tr>
<tr>
<td>Lecturer</td>
<td>41</td>
</tr>
<tr>
<td>Part-time teacher</td>
<td>20</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="item element">
<h3><i class="icons-asset"></i><a href="">Asset</a></h3>
<div class="detail w-a h-a">
<p class="totle"><span>Quantity</span>9,517</p>
<div class="detal-list my_scroll">
<div class="scrollbar">
<div class="track">
<div class="thumb">
<div class="end"></div>
</div>
</div>
</div>
<div class="viewport">
<div class="overview">
<table class="table table-striped">
<tbody>
<tr>
<td>University</td>
<td>2,304</td>
</tr>
<tr>
<td>Master</td>
<td>783</td>
</tr>
<tr>
<td>Doctor</td>
<td>45</td>
</tr>
<tr>
<td>Staff</td>
<td>62</td>
</tr>
<tr>
<td>Teacher</td>
<td>52</td>
</tr>
<tr>
<td>Professor</td>
<td>20</td>
</tr>
<tr>
<td>Assistant Professor</td>
<td>41</td>
</tr>
<tr>
<td>Substitute teacher</td>
<td>37</td>
</tr>
<tr>
<td>Lecturer</td>
<td>41</td>
</tr>
<tr>
<td>Part-time teacher</td>
<td>20</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="item element">
<h3><i class="icons-"></i><a href="">Traffic</a></h3>
<div class="detail w-a h-b"> <div class="detail w-a h-b">
<p class="totle"><span>Quantity</span>9,517</p> <p class="totle"><span><%= t(:all_content) %></span>9,517</p>
<table class="table table-striped">
<thead>
<tr>
<th><%= t(:module) %></th>
<th class="span2"><%= t(:quantity) %></th>
</tr>
</thead>
</table>
<div class="detal-list my_scroll"> <div class="detal-list my_scroll">
<div class="scrollbar"> <div class="scrollbar">
<div class="track"> <div class="track">
@ -207,128 +26,44 @@
<table class="table table-striped"> <table class="table table-striped">
<tbody> <tbody>
<tr> <tr>
<td>University</td> <td>公告</td>
<td>2,304</td> <td class="span2">2,304</td>
</tr> </tr>
<tr> <tr>
<td>Master</td> <td>新聞</td>
<td>783</td> <td class="span2">783</td>
</tr> </tr>
<tr> <tr>
<td>Doctor</td> <td>連結</td>
<td>45</td> <td class="span2">45</td>
</tr> </tr>
<tr> <tr>
<td>Staff</td> <td>連結</td>
<td>62</td> <td class="span2">62</td>
</tr> </tr>
<tr> <tr>
<td>Teacher</td> <td>連結</td>
<td>52</td> <td class="span2">52</td>
</tr> </tr>
<tr> <tr>
<td>Professor</td> <td>新聞</td>
<td>20</td> <td class="span2">20</td>
</tr> </tr>
<tr> <tr>
<td>Assistant Professor</td> <td>公告</td>
<td>41</td> <td class="span2">41</td>
</tr> </tr>
<tr> <tr>
<td>Substitute teacher</td> <td>公告</td>
<td>37</td> <td class="span2">37</td>
</tr> </tr>
<tr> <tr>
<td>Lecturer</td> <td>公告</td>
<td>41</td> <td class="span2">41</td>
</tr> </tr>
<tr> <tr>
<td>Part-time teacher</td> <td>公告</td>
<td>20</td> <td class="span2">20</td>
</tr>
<tr>
<td>Staff</td>
<td>62</td>
</tr>
<tr>
<td>Teacher</td>
<td>52</td>
</tr>
<tr>
<td>Professor</td>
<td>20</td>
</tr>
<tr>
<td>Assistant Professor</td>
<td>41</td>
</tr>
<tr>
<td>Substitute teacher</td>
<td>37</td>
</tr>
<tr>
<td>Lecturer</td>
<td>41</td>
</tr>
<tr>
<td>Part-time teacher</td>
<td>20</td>
</tr>
<tr>
<td>Staff</td>
<td>62</td>
</tr>
<tr>
<td>Teacher</td>
<td>52</td>
</tr>
<tr>
<td>Professor</td>
<td>20</td>
</tr>
<tr>
<td>Assistant Professor</td>
<td>41</td>
</tr>
<tr>
<td>Substitute teacher</td>
<td>37</td>
</tr>
<tr>
<td>Lecturer</td>
<td>41</td>
</tr>
<tr>
<td>Part-time teacher</td>
<td>20</td>
</tr>
<tr>
<td>Staff</td>
<td>62</td>
</tr>
<tr>
<td>Teacher</td>
<td>52</td>
</tr>
<tr>
<td>Professor</td>
<td>20</td>
</tr>
<tr>
<td>Assistant Professor</td>
<td>41</td>
</tr>
<tr>
<td>Substitute teacher</td>
<td>37</td>
</tr>
<tr>
<td>Lecturer</td>
<td>41</td>
</tr>
<tr>
<td>Part-time teacher</td>
<td>20</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -338,72 +73,17 @@
</div> </div>
</div> </div>
<div class="item element"> <div class="item element">
<h3><i class="icons-"></i><a href="">Site info</a></h3> <h3><i class="icons-member"></i><a href=""><%= t(:member) %></a></h3>
<div class="detail w-b h-a">
<p class="totle"><span>Quantity</span>9,517</p>
<div class="detal-list my_scroll">
<div class="scrollbar">
<div class="track">
<div class="thumb">
<div class="end"></div>
</div>
</div>
</div>
<div class="viewport">
<div class="overview">
<table class="table table-striped">
<tbody>
<tr>
<td>University</td>
<td>2,304</td>
</tr>
<tr>
<td>Master</td>
<td>783</td>
</tr>
<tr>
<td>Doctor</td>
<td>45</td>
</tr>
<tr>
<td>Staff</td>
<td>62</td>
</tr>
<tr>
<td>Teacher</td>
<td>52</td>
</tr>
<tr>
<td>Professor</td>
<td>20</td>
</tr>
<tr>
<td>Assistant Professor</td>
<td>41</td>
</tr>
<tr>
<td>Substitute teacher</td>
<td>37</td>
</tr>
<tr>
<td>Lecturer</td>
<td>41</td>
</tr>
<tr>
<td>Part-time teacher</td>
<td>20</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="item element">
<h3><i class="icons-"></i><a href="">Connection</a></h3>
<div class="detail w-a h-a"> <div class="detail w-a h-a">
<p class="totle"><span>Quantity</span>9,517</p> <p class="totle"><span><%= t(:all_member) %></span>2,217</p>
<table class="table table-striped">
<thead>
<tr>
<th><%= t(:role) %></th>
<th class="span2"><%= t(:quantity) %></th>
</tr>
</thead>
</table>
<div class="detal-list my_scroll"> <div class="detal-list my_scroll">
<div class="scrollbar"> <div class="scrollbar">
<div class="track"> <div class="track">
@ -463,4 +143,450 @@
</div> </div>
</div> </div>
</div> </div>
<div class="item element">
<h3><i class="icons-asset"></i><a href=""><%= t(:file) %></a></a></h3>
<div class="detail w-a h-a">
<p class="totle"><span><%= t(:all_file) %></span>3,422</p>
<table class="table table-striped">
<thead>
<tr>
<th><%= t(:file_type) %></th>
<th class="span2"><%= t(:quantity) %></th>
</tr>
</thead>
</table>
<div class="detal-list my_scroll">
<div class="scrollbar">
<div class="track">
<div class="thumb">
<div class="end"></div>
</div>
</div>
</div>
<div class="viewport">
<div class="overview">
<table class="table table-striped">
<tbody>
<tr>
<td>Word</td>
<td>304</td>
</tr>
<tr>
<td>PDF</td>
<td>783</td>
</tr>
<tr>
<td>PowerPoint</td>
<td>45</td>
</tr>
<tr>
<td>Excel</td>
<td>62</td>
</tr>
<tr>
<td>Jpeg</td>
<td>52</td>
</tr>
<tr>
<td>Gif</td>
<td>20</td>
</tr>
<tr>
<td>Png</td>
<td>41</td>
</tr>
<tr>
<td>Avi</td>
<td>37</td>
</tr>
<tr>
<td>Txt</td>
<td>41</td>
</tr>
<tr>
<td>Zip</td>
<td>20</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="item element">
<h3><i class="icons-"></i><a href=""><%= t(:referral_in_links) %></a></h3>
<div class="detail w-a h-a">
<p class="totle"><span><%= t(:statistics) %></span>517</p>
<table class="table table-striped">
<thead>
<tr>
<th><%= t(:site_name) %></th>
<th class="span2"><%= t(:statistics) %></th>
</tr>
</thead>
</table>
<div class="detal-list my_scroll">
<div class="scrollbar">
<div class="track">
<div class="thumb">
<div class="end"></div>
</div>
</div>
</div>
<div class="viewport">
<div class="overview">
<table class="table table-striped">
<tbody>
<tr>
<td>Ruling</td>
<td class="span2">36</td>
</tr>
<tr>
<td>Yahoo</td>
<td class="span2">31</td>
</tr>
<tr>
<td>Google</td>
<td class="span2">3,187</td>
</tr>
<tr>
<td>facebook</td>
<td class="span2">公告</td>
</tr>
<tr>
<td>Title5</td>
<td class="span2">公告</td>
</tr>
<tr>
<td>Title6</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title7</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title8</td>
<td class="span2">公告</td>
</tr>
<tr>
<td>Title9</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title10</td>
<td class="span2">公告</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="item element">
<h3><i class="icons-"></i><a href=""><%= t(:most_visited_page) %></a></h3>
<div class="detail noStatistics w-b h-a">
<table class="table table-striped">
<thead>
<tr>
<th><%= t(:title) %></th>
<th class="span2"><%= t(:module) %></th>
<th class="span2"><%= t(:hits) %></th>
</tr>
</thead>
</table>
<div class="detal-list my_scroll">
<div class="scrollbar">
<div class="track">
<div class="thumb">
<div class="end"></div>
</div>
</div>
</div>
<div class="viewport">
<div class="overview">
<table class="table table-striped">
<tbody>
<tr>
<td>Title1</td>
<td class="span2">公告</td>
<td class="span2">2,549</td>
</tr>
<tr>
<td>Title2</td>
<td class="span2">頁面</td>
<td class="span2">1,022</td>
</tr>
<tr>
<td>Title3</td>
<td class="span2">頁面</td>
<td class="span2">928</td>
</tr>
<tr>
<td>Title4</td>
<td class="span2">公告</td>
<td class="span2">904</td>
</tr>
<tr>
<td>Title5</td>
<td class="span2">公告</td>
<td class="span2">867</td>
</tr>
<tr>
<td>Title6</td>
<td class="span2">頁面</td>
<td class="span2">830</td>
</tr>
<tr>
<td>Title7</td>
<td class="span2">頁面</td>
<td class="span2">749</td>
</tr>
<tr>
<td>Title8</td>
<td class="span2">公告</td>
<td class="span2">702</td>
</tr>
<tr>
<td>Title9</td>
<td class="span2">頁面</td>
<td class="span2">639</td>
</tr>
<tr>
<td>Title10</td>
<td class="span2">公告</td>
<td class="span2">549</td>
</tr>
<tr>
<td>Title1</td>
<td class="span2">公告</td>
<td class="span2">2,549</td>
</tr>
<tr>
<td>Title2</td>
<td class="span2">頁面</td>
<td class="span2">1,022</td>
</tr>
<tr>
<td>Title3</td>
<td class="span2">頁面</td>
<td class="span2">928</td>
</tr>
<tr>
<td>Title4</td>
<td class="span2">公告</td>
<td class="span2">904</td>
</tr>
<tr>
<td>Title5</td>
<td class="span2">公告</td>
<td class="span2">867</td>
</tr>
<tr>
<td>Title6</td>
<td class="span2">頁面</td>
<td class="span2">830</td>
</tr>
<tr>
<td>Title7</td>
<td class="span2">頁面</td>
<td class="span2">749</td>
</tr>
<tr>
<td>Title8</td>
<td class="span2">公告</td>
<td class="span2">702</td>
</tr>
<tr>
<td>Title9</td>
<td class="span2">頁面</td>
<td class="span2">639</td>
</tr>
<tr>
<td>Title10</td>
<td class="span2">公告</td>
<td class="span2">549</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="item element">
<h3><i class="icons-"></i><a href=""><%= t(:traffic) %></a></h3>
<div class="detail w-a h-a">
<p class="totle"><span><%= t(:total_visitors) %></span>438,913</p>
<table class="table table-striped">
<thead>
<tr>
<th><%= t(:item) %></th>
<th class="span2"><%= t(:data) %></th>
</tr>
</thead>
</table>
<div class="detal-list my_scroll">
<div class="scrollbar">
<div class="track">
<div class="thumb">
<div class="end"></div>
</div>
</div>
</div>
<div class="viewport">
<div class="overview">
<table class="table table-striped">
<tbody>
<tr>
<td>Visitors Today</td>
<td>2,304</td>
</tr>
<tr>
<td>Visitors This Month</td>
<td>783</td>
</tr>
<tr>
<td>Visitor This Tear</td>
<td>45</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="item element">
<h3><i class="icons-"></i><a href=""><%= t(:site_info) %></a></h3>
<div class="detail noStatistics w-b h-a">
<!--<p class="totle"><span><%= t(:statistics) %></span>9,517</p>-->
<table class="table table-striped">
<thead>
<tr>
<th><%= t(:item) %></th>
<th class="span6"><%= t(:content) %></th>
</tr>
</thead>
</table>
<div class="detal-list my_scroll">
<div class="scrollbar">
<div class="track">
<div class="thumb">
<div class="end"></div>
</div>
</div>
</div>
<div class="viewport">
<div class="overview">
<table class="table table-striped">
<tbody>
<tr>
<td>Title:</td>
<td class="span6">National Chengchi University</td>
</tr>
<tr>
<td>Description:</td>
<td class="span6">......</td>
</tr>
<tr>
<td>Keywords</td>
<td class="span6">.....</td>
</tr>
<tr>
<td>Online Date:</td>
<td class="span6">2012/04/30</td>
</tr>
<tr>
<td>WedID:</td>
<td class="span6">nccu</td>
</tr>
<tr>
<td>Softwave Version:</td>
<td class="span6">R4 beta</td>
</tr>
<tr>
<td>Warranty:</td>
<td class="span6">Valid</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="item element">
<h3><i class="icons-"></i><a href=""><%= t(:recent_update) %></a></h3>
<div class="detail noStatistics w-a h-a">
<!--<p class="totle"><span><%= t(:statistics) %></span>9,517</p>-->
<table class="table table-striped">
<thead>
<tr>
<th><%= t(:title) %></th>
<th class="span2"><%= t(:module) %></th>
</tr>
</thead>
</table>
<div class="detal-list my_scroll">
<div class="scrollbar">
<div class="track">
<div class="thumb">
<div class="end"></div>
</div>
</div>
</div>
<div class="viewport">
<div class="overview">
<table class="table table-striped">
<tbody>
<tr>
<td>Title1</td>
<td class="span2">公告</td>
</tr>
<tr>
<td>Title2</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title3</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title4</td>
<td class="span2">公告</td>
</tr>
<tr>
<td>Title5</td>
<td class="span2">公告</td>
</tr>
<tr>
<td>Title6</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title7</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title8</td>
<td class="span2">公告</td>
</tr>
<tr>
<td>Title9</td>
<td class="span2">頁面</td>
</tr>
<tr>
<td>Title10</td>
<td class="span2">公告</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div> </div>

View File

@ -1,4 +1,7 @@
<%= flash_messages %> <%= flash_messages %>
<div id="filter" class="subnav">
<div class="filters">
<div id="sort_headers" class="table-label">
<table class="table main-list"> <table class="table main-list">
<thead> <thead>
<tr> <tr>
@ -6,19 +9,33 @@
<input type="checkbox"> <input type="checkbox">
<a href class="list-remove"><i class="icon-trash"></i></a> <a href class="list-remove"><i class="icon-trash"></i></a>
</th> </th>
<th class="span7 select"><%= t('admin.title') %></th> <th class="span7"><%= t('admin.title') %></th>
<th class="span1-2"><%= t('admin.author') %></th> <th class="span2"><%= t('admin.author') %></th>
<th class="span1-2"><%= t('admin.intro') %></th> <th class="span2"><%= t('admin.intro') %></th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<table class="table main-list">
<thead>
<tr>
<th class="span1 strong"></th>
<th class="span7"></th>
<th class="span2"></th>
<th class="span2"></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<% @designs.each do |design| %> <% @designs.each do |design| %>
<tr> <tr class="with_action">
<td><input type="checkbox"></td> <td><input type="checkbox"></td>
<td> <td>
<%= design.title %> <%= design.title %>
<div class="quick-edit"> <div class="quick-edit">
<ul class="nav nav-pills"> <ul class="nav nav-pills hide">
<li><%= link_to t(:edit), edit_admin_design_path(design), :class => 'edit' %></li> <li><%= link_to t(:edit), edit_admin_design_path(design), :class => 'edit' %></li>
<li class="dropdown"><%= link_to t(:delete), admin_design_path(design), :confirm => t('sure?'), :method => :delete, :class => 'delete' %></li> <li class="dropdown"><%= link_to t(:delete), admin_design_path(design), :confirm => t('sure?'), :method => :delete, :class => 'delete' %></li>
</ul> </ul>
@ -30,6 +47,6 @@
<% end %> <% end %>
</tbody> </tbody>
</table> </table>
<div class="form-actions"> <div class="form-actions form-fixed pagination-right">
<%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('admin.add'), new_admin_design_path, :class => 'btn btn-primary' %> <%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('admin.add'), new_admin_design_path, :class => 'btn btn-primary' %>
</div> </div>

View File

@ -1,3 +1 @@
<div id="viewport">
<%= render_node_and_children(Item.first(:conditions => {:parent_id => nil})) %> <%= render_node_and_children(Item.first(:conditions => {:parent_id => nil})) %>
</div>

View File

@ -1,7 +1,7 @@
<%= flash_messages %> <%= flash_messages %>
<%= page_stylesheets(@item).html_safe %> <%= page_stylesheets(@item, true).html_safe %>
<%= page_javascripts(@item).html_safe %> <%= page_javascripts(@item, true).html_safe %>
<%= parse_page_edit_noko(@item).html_safe %> <%= parse_page_edit_noko(@item).html_safe %>

View File

@ -1,5 +1 @@
<% content_for :sidebar do %>
<%= render 'admin/items/site_map_left_bar' %>
<% end -%>
<%= render 'show' %> <%= render 'show' %>

View File

@ -1,4 +1,4 @@
<div class="subnav"> <!--<div class="subnav">
<ul class="nav nav-pills filter"> <ul class="nav nav-pills filter">
<li class="accordion-group"> <li class="accordion-group">
<form class="form-search"> <form class="form-search">
@ -8,9 +8,10 @@
</li> </li>
</ul> </ul>
</div> </div>
-->
<div id='tags' class="clear"> <div id='tags' class="clear">
<%= render :partial => 'tag', :collection => @tags %> <%= render :partial => 'tag', :collection => @tags %>
</div> </div>
<div class="form-actions"> <div class="form-actions form-fixed pagination-right">
<%= render 'add' %> <%= render 'add' %>
</div> </div>

View File

@ -16,10 +16,10 @@
<span class="help-inline">Please correct the error</span> <span class="help-inline">Please correct the error</span>
</div> </div>
<div class="control-group clear"> <div class="control-group clear">
<%= link_to t(:forgot_password), new_user_password_path, :class => 'pull-right forgot' %>
<%= f.label :password %> <%= f.label :password %>
<%= f.password_field :password, :placeholder => t(:dots), :style => "width: 330px;" %> <%= f.password_field :password, :placeholder => t(:dots), :style => "width: 330px;" %>
<span class="help-inline">Please correct the error</span> <span class="help-inline">Please correct the error</span>
<%= link_to t(:forgot_password), new_user_password_path, :class => 'pull-right forgot hide' %>
</div> </div>
</div> </div>
</div> </div>

View File

@ -69,7 +69,7 @@
<a class="dropdown-toggle orbit-bar-member" href="#"><%= t(:login) %></a> <a class="dropdown-toggle orbit-bar-member" href="#"><%= t(:login) %></a>
<div class="dropdown-menu"> <div class="dropdown-menu">
<ul class="log"> <ul class="log">
<li class="title"></li> <li class="title hide"></li>
<%= form_for :user, :url => user_session_path do |f| %> <%= form_for :user, :url => user_session_path do |f| %>
<li> <li>
@ -84,7 +84,7 @@
<%= f.password_field :password, :class => 'span2', :placeholder => t(:password), :size => 16 %> <%= f.password_field :password, :class => 'span2', :placeholder => t(:password), :size => 16 %>
</div> </div>
</li> </li>
<li class="clear"> <li class="clear hide">
<%= link_to t(:forgot_password), new_user_password_path, :class => 'forgot' %> <%= link_to t(:forgot_password), new_user_password_path, :class => 'forgot' %>
</li> </li>
<li> <li>
@ -94,10 +94,10 @@
<span style="display: inline-block;height: 10px;"><%= t(:remember_me) %></span> <span style="display: inline-block;height: 10px;"><%= t(:remember_me) %></span>
</label> </label>
</li> </li>
<li class="divider"><span><%= t(:or_lower) %></span></li> <li class="divider hide"><span><%= t(:or_lower) %></span></li>
<% end %> <% end %>
</ul> </ul>
<%= link_to t(:register), new_user_registration_path, :class => 'btn btn-danger register' %> <%#= link_to t(:register), new_user_registration_path, :class => 'btn btn-danger register' %>
</div> </div>
</li> </li>
<% end %> <% end %>

View File

@ -26,9 +26,9 @@
<%= content_tag :li, :class => active_for_controllers('page_contexts') do -%> <%= content_tag :li, :class => active_for_controllers('page_contexts') do -%>
<%= link_to content_tag(:i, nil, :class => 'icons-page') + t('admin.page'), panel_page_content_back_end_page_contexts_path %> <%= link_to content_tag(:i, nil, :class => 'icons-page') + t('admin.page'), panel_page_content_back_end_page_contexts_path %>
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('page_contexts')) do -%> <%#= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('page_contexts')) do -%>
<%= content_tag :li, link_to(t('admin.all_articles'), panel_page_content_back_end_page_contexts_path), :class => active_for_action('page_context', 'index') %> <%#= content_tag :li, link_to(t('admin.all_articles'), panel_page_content_back_end_page_contexts_path), :class => active_for_action('page_context', 'index') %>
<% end -%> <%# end -%>
<% end -%> <% end -%>
<%= content_tag :li, :class => active_for_controllers('designs') do -%> <%= content_tag :li, :class => active_for_controllers('designs') do -%>
@ -37,18 +37,18 @@
<%= content_tag :li, :class => active_for_controllers('ad_banners', 'ad_images') do -%> <%= content_tag :li, :class => active_for_controllers('ad_banners', 'ad_images') do -%>
<%= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.ad_banner'), admin_ad_banners_path %> <%= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.ad_banner'), admin_ad_banners_path %>
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('ad_banners', 'ad_images')) do -%> <%#= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('ad_banners', 'ad_images')) do -%>
<%= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %> <%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %>
<%= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %> <%#= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %>
<%= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %> <%#= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %>
<% end %> <%# end %>
<% end %> <% end %>
<%= content_tag :li, :class => active_for_controllers('web_links', '/panel/web_resource/back_end/tags', 'web_link_categorys') do -%> <%= content_tag :li, :class => active_for_controllers('web_links', '/panel/web_resource/back_end/tags', 'web_link_categorys') do -%>
<%= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.link'), panel_web_resource_back_end_web_links_path %> <%= link_to content_tag(:i, nil, :class => 'icons-link') + t('admin.link'), panel_web_resource_back_end_web_links_path %>
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('web_links', '/panel/web_resource/back_end/tags', 'web_link_categorys')) do -%> <%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('web_links', '/panel/web_resource/back_end/tags', 'web_link_categorys')) do -%>
<%= content_tag :li, link_to(t('admin.all_articles'), panel_web_resource_back_end_web_links_path), :class => active_for_action('web_link', 'index') %> <%= content_tag :li, link_to(t('admin.all_articles'), panel_web_resource_back_end_web_links_path), :class => active_for_action('web_links', 'index') %>
<%= content_tag :li, link_to(t('announcement.add_new'), new_panel_web_resource_back_end_web_link_path), :class => active_for_action('web_link', 'new') %> <%= content_tag :li, link_to(t('announcement.add_new'), new_panel_web_resource_back_end_web_link_path), :class => active_for_action('web_links', 'new') %>
<%= content_tag :li, link_to(t('announcement.categories'), panel_web_resource_back_end_web_link_categorys_path), :class => active_for_action('web_link_categorys', 'index') %> <%= content_tag :li, link_to(t('announcement.categories'), panel_web_resource_back_end_web_link_categorys_path), :class => active_for_action('web_link_categorys', 'index') %>
<%= content_tag :li, link_to(t('announcement.tags'), panel_web_resource_back_end_tags_path), :class => active_for_action('/panel/web_resource/back_end/tags', 'index') %> <%= content_tag :li, link_to(t('announcement.tags'), panel_web_resource_back_end_tags_path), :class => active_for_action('/panel/web_resource/back_end/tags', 'index') %>
<% end -%> <% end -%>

View File

@ -9,31 +9,30 @@
<![endif]--> <![endif]-->
<%= stylesheet_link_tag "site_editor" %> <%= stylesheet_link_tag "site_editor" %>
<%= javascript_include_tag "site_editor" %> <%= javascript_include_tag "site_editor" %>
<%= yield :page_specific_css %>
<%= yield :page_specific_javascript %>
<%= csrf_meta_tag %> <%= csrf_meta_tag %>
</head> </head>
<body> <body>
<!-- <%= render 'layouts/orbit_bar' %>
<header id="back_banner_link" class="fixed clear" > <nav id="main-sidebar" class="my_scroll">
<nav id="back_orbit"> <div class="scrollbar">
<span>Orbit Icon</span> <div class="track">
<%= render 'layouts/drop_down_menu' %> <div class="thumb">
<div class="end"></div>
</div>
</div>
</div>
<div class="viewport">
<div id='back_sidebar' class="overview">
<ul class="nav nav-list">
<%= yield :sidebar %>
</ul>
</div>
</div>
</nav> </nav>
<div class="hmenu">
<%= render 'devise/menu/login_items' %>
<div class="lang"><%= render 'layouts/lang_menu' %></div>
</div>
</header>
-->
<div id="main-wrap"> <div id="main-wrap">
<div id="main-sidebar"><%= yield :sidebar %></div> <div id='back_main'>
<div class="main"><div id='back_main' class="main2">
<%= yield %> <%= yield %>
</div></div>
<div class="tertiary"><%= yield :tertiary %></div>
<div id="back_footer"><p><%= APP_CONFIG['ruling_digital'] %></p></div>
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@ -38,8 +38,32 @@ en:
submit: Submit submit: Submit
sure?: Are you sure? sure?: Are you sure?
update: Update update: Update
view: View
yes_: "Yes" yes_: "Yes"
all_content: All Content
all_file: All File
all_member: All Member
content: Content
data: Data
file: File
file_type: File Type
hits: Hits
item: Item
member: Member
module: Module
most_visited_page: Most Visited Page
quantity: Quantity
recent_update: Recent Update
referral_in_links: Referral in Links
role: Role
site_info: Site Info
site_name: Site Name
statistics: Statistics
title: Title
total_visitors: Total Visitors
traffic: Traffic
admin: admin:
action: Action action: Action
ad_banner: AD Banner ad_banner: AD Banner

View File

@ -35,8 +35,32 @@ zh_tw:
submit: 送出 submit: 送出
sure?: 您肯定嗎? sure?: 您肯定嗎?
update: 更新 update: 更新
view: 檢視
yes_: "Yes" yes_: "Yes"
all_content: 全部內容有:
all_file: 全部檔案有:
all_member: 成員總數:
content: 內容
data: 數據
file: 檔案
file_type: 檔案類型
hits: 點擊率
item: 項目
member: 成員
module: 模組
most_visited_page: 熱門頁面
quantity: 數量
recent_update: 近期更新
referral_in_links: 外部推薦連結
role: 角色
site_info: 網站資訊
site_name: 網站名稱
statistics: 統計
title: 標題
total_visitors: 造訪次數:
traffic: 流量
admin: admin:
action: 操作 action: 操作
ad_banner: 廣告輪播 ad_banner: 廣告輪播

View File

@ -29,6 +29,7 @@ module ParserCommon
res << '</ul>' res << '</ul>'
end end
end end
res
end end
def menu_li(page, current, menu, i, edit) def menu_li(page, current, menu, i, edit)
@ -66,7 +67,7 @@ module ParserCommon
printable_ad_images.each do |ad_image| #TODO Need Reflact printable_ad_images.each do |ad_image| #TODO Need Reflact
res << "<img src='#{ad_image.file}' " res << "<img src='#{ad_image.file}' "
res << "alt='#{ad_image.title || ' '}' " res << "alt='#{ad_image.title || ' '}' "
res << "time_to_next='#{ad_banner.transition_sec}' " res << "time_to_next='#{ad_banner.transition_msec}' "
res << "link_open='#{ad_image.link_open}' " res << "link_open='#{ad_image.link_open}' "
# res << "link_url='#{(ad_image.direct_to_after_click?? ad_image.out_link : ad_banner.context) || ' '}' " # res << "link_url='#{(ad_image.direct_to_after_click?? ad_image.out_link : ad_banner.context) || ' '}' "
res << "link_url='#{(ad_image.out_link || ad_banner.context || ' ')}' " res << "link_url='#{(ad_image.out_link || ad_banner.context || ' ')}' "

View File

@ -5,44 +5,204 @@
<subtitle>其他類別-最新活動</subtitle> <subtitle>其他類別-最新活動</subtitle>
<dc:language>zh-tw</dc:language> <dc:language>zh-tw</dc:language>
<entry> <entry>
<title>國立政治大學101學年度碩士班暨碩士在職專班招生考試</title> <title>IEEE Computer Society與ACM資料庫教育訓練</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2697&amp;key2=20120225" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2758&amp;key2=20120426"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/02/25-101/02/26 07:00-17:00</summary> <summary type="text">101/04/26 13:00-15:00</summary>
</entry> </entry>
<entry> <entry>
<title>國立中正大學101學年度碩士班招生考試</title> <title>「學生健康體位控制班」</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2698&amp;key2=20120310" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2766&amp;key2=20120426"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/10 07:00-17:00</summary> <summary type="text">101/03/01-101/05/03 18:00-20:30</summary>
</entry> </entry>
<entry> <entry>
<title>「樂活飲食•健康之鑰」系列活動--膳食纖維的功用及食物來源</title> <title>傳播沙龍:從南加大電影藝術學院看美國電影創作教育</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2749&amp;key2=20120229" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2914&amp;key2=20120426"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/02/29 12:00-14:00</summary> <summary type="text">101/04/26 12:30-14:00</summary>
</entry> </entry>
<entry> <entry>
<title>「樂活飲食•健康之鑰」系列活動-美味的代價與健康問題之探討</title> <title>傳播沙龍:從南加大電影藝術學院看美國電影創作教育</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2750&amp;key2=20120308" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2914&amp;key2=20120426"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/08 12:00-14:00</summary> <summary type="text">101/04/26 12:30-14:00</summary>
</entry> </entry>
<entry> <entry>
<title>「樂活飲食•健康之鑰」系列活動--代謝症候群與檢康飲食</title> <title>IEEE Computer Society與ACM資料庫教育訓練</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2751&amp;key2=20120322" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2758&amp;key2=20120426"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/22 12:00-14:00</summary> <summary type="text">101/04/26 13:00-15:00</summary>
</entry>
<entry>
<title>ScienceDirect Online資料庫教育訓練</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2770&amp;key2=20120427"/>
<author>
<name/>
</author>
<summary type="text">101/04/27 12:30-14:00</summary>
</entry>
<entry>
<title>傳播沙龍:心健的心劍--新媒體藝術創作與教學</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2915&amp;key2=20120427"/>
<author>
<name/>
</author>
<summary type="text">101/04/27 12:30-14:00</summary>
</entry>
<entry>
<title>智財論壇:智財生態變革及研發創新經營</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2888&amp;key2=20120430"/>
<author>
<name/>
</author>
<summary type="text">101/04/30 10:10-11:50</summary>
</entry>
<entry>
<title>EICP東方線上資料庫教育訓練</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2754&amp;key2=20120430"/>
<author>
<name/>
</author>
<summary type="text">101/04/30 13:00-15:00</summary>
</entry>
<entry>
<title>職場講座「數位文本實務課程」</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2874&amp;key2=20120424"/>
<author>
<name/>
</author>
<summary type="text">101/04/24-101/05/15 12:20-13:50</summary>
</entry>
<entry>
<title>EBSCO教育心理資料庫教育訓練</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2756&amp;key2=20120502"/>
<author>
<name/>
</author>
<summary type="text">101/05/02 12:30-14:00</summary>
</entry>
<entry>
<title>傳播沙龍:建制內的多元解讀:諜戰劇迷群體、文化表徵與中國語境</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2919&amp;key2=20120503"/>
<author>
<name/>
</author>
<summary type="text">101/05/03 12:30-14:00</summary>
</entry>
<entry>
<title>職場講座「數位文本實務課程」</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2874&amp;key2=20120424"/>
<author>
<name/>
</author>
<summary type="text">101/04/24-101/05/15 12:20-13:50</summary>
</entry>
<entry>
<title>教發中心五月份數位教材製作工作坊_錄影後製與剪輯 05/09</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2909&amp;key2=20120509"/>
<author>
<name/>
</author>
<summary type="text">101/05/09 12:00-14:00</summary>
</entry>
<entry>
<title>文獻蒐集與報告撰寫入門</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2739&amp;key2=20120511"/>
<author>
<name/>
</author>
<summary type="text">101/05/11 13:00-15:00</summary>
</entry>
<entry>
<title>「2012台北-莫斯科論壇:新政展望」國際學術研討會</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2890&amp;key2=20120512"/>
<author>
<name/>
</author>
<summary type="text">101/05/12-101/05/13 08:30-17:30</summary>
</entry>
<entry>
<title>「2012台北-莫斯科論壇:新政展望」國際學術研討會</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2890&amp;key2=20120512"/>
<author>
<name/>
</author>
<summary type="text">101/05/12-101/05/13 08:30-17:30</summary>
</entry>
<entry>
<title>職場講座「數位文本實務課程」</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2874&amp;key2=20120424"/>
<author>
<name/>
</author>
<summary type="text">101/04/24-101/05/15 12:20-13:50</summary>
</entry>
<entry>
<title>文化講座「破戒:關於『色•戒』的實與虛」</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2875&amp;key2=20120524"/>
<author>
<name/>
</author>
<summary type="text">101/05/24 12:20-14:00</summary>
</entry>
<entry>
<title>John,我愛你-Suming彈唱會-跨國現場獨立音樂表演系列</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2848&amp;key2=20120427"/>
<author>
<name/>
</author>
<summary type="text">101/04/27 19:00-21:00</summary>
</entry>
<entry>
<title>藝文中心【電影】2012國際民族誌影展巡演-《牛糞》</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2789&amp;key2=20120430"/>
<author>
<name/>
</author>
<summary type="text">101/04/30 19:00-20:20</summary>
</entry>
<entry>
<title>波蘭前衛流行女聲-噶芭.庫爾卡(跨國現場獨立音樂表演系列)</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2847&amp;key2=20120504"/>
<author>
<name/>
</author>
<summary type="text">101/05/04 19:00-20:00</summary>
</entry>
<entry>
<title>Bleuel 雙重奏--薩克斯風與鋼琴</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2846&amp;key2=20120510"/>
<author>
<name/>
</author>
<summary type="text">101/05/10 19:30-20:30</summary>
</entry>
<entry>
<title>「東張西望」林語堂生活展,政大校園站開幕茶會</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2894&amp;key2=20120502"/>
<author>
<name/>
</author>
<summary type="text">101/05/02 11:00-12:00</summary>
</entry>
<entry>
<title>文化參訪「故宮特展:西方神話與傳說—羅浮宮珍藏展」</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2886&amp;key2=20120507"/>
<author>
<name/>
</author>
<summary type="text">101/05/07 08:30-12:00</summary>
</entry> </entry>
<entry> <entry>
<title>「學生健康體位控制班」</title> <title>「學生健康體位控制班」</title>
@ -53,92 +213,428 @@
<summary type="text">101/03/01-101/05/03 18:00-20:30</summary> <summary type="text">101/03/01-101/05/03 18:00-20:30</summary>
</entry> </entry>
<entry> <entry>
<title>學生大使志工團- 2012 Field Trip-Must Sea+ FUN舟趣</title> <title>心靈陪伴工作坊</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2768&amp;key2=20120317" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2869&amp;key2=20120428"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/17-101/03/18 08:00-20:00</summary> <summary type="text">101/04/28 09:30-16:30</summary>
</entry> </entry>
<entry> <entry>
<title>職場勞資關係講座-你知道自己的權益嗎?</title> <title>2012年福祿貝爾恩物親子戲遊成長團體(下午)</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2776&amp;key2=20120305" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2834&amp;key2=20120407"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/05 18:30-21:00</summary> <summary type="text">101/04/07-101/06/09 14:00-16:00</summary>
</entry> </entry>
<entry> <entry>
<title>職場「面面」觀 - 談職場趨勢與面試</title> <title>2012年福祿貝爾恩物親子戲遊成長團體(上午)</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2791&amp;key2=20120306" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2833&amp;key2=20120407"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/06 18:30-21:00</summary> <summary type="text">101/04/07-101/06/02 09:00-11:00</summary>
</entry> </entry>
<entry> <entry>
<title>「自」銷不要「滯」銷~一窺自我行銷術的秘密</title> <title>2012年世界狂歡節-環友世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2792&amp;key2=20120307" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2902&amp;key2=20120501"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/07 18:30-21:00</summary> <summary type="text">101/05/01-101/05/10 00:00-23:59</summary>
</entry> </entry>
<entry> <entry>
<title>職涯經驗談-開創職涯的一片天</title> <title>2012年世界狂歡節-「框」住瞬間「框」住世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2793&amp;key2=20120308" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2901&amp;key2=20120501"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/08 18:30-21:00</summary> <summary type="text">101/05/01-101/05/08 00:00-23:59</summary>
</entry> </entry>
<entry> <entry>
<title>2012徵政好企業說明會--花旗銀行</title> <title>2012年世界狂歡節-從政大看台灣</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2795&amp;key2=20120305" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2903&amp;key2=20120501"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/05 12:15-14:00</summary> <summary type="text">101/05/01-101/05/10 08:00-22:00</summary>
</entry> </entry>
<entry> <entry>
<title>2012徵政好企業說明會--日商野村總合研究所</title> <title>2012年世界狂歡節-環友世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2796&amp;key2=20120309" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2902&amp;key2=20120501"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/09 12:15-14:00</summary> <summary type="text">101/05/01-101/05/10 00:00-23:59</summary>
</entry> </entry>
<entry> <entry>
<title>2012徵政好企業說明會--渣打銀行</title> <title>2012年世界狂歡節-「框」住瞬間「框」住世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2797&amp;key2=20120306" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2901&amp;key2=20120501"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/06 12:15-14:00</summary> <summary type="text">101/05/01-101/05/08 00:00-23:59</summary>
</entry> </entry>
<entry> <entry>
<title>2012徵政好企業說明會--台新金控</title> <title>2012年世界狂歡節-從政大看台灣</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2798&amp;key2=20120307" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2903&amp;key2=20120501"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/07 12:15-14:00</summary> <summary type="text">101/05/01-101/05/10 08:00-22:00</summary>
</entry> </entry>
<entry> <entry>
<title>2012徵政好企業說明會--第一銀行</title> <title>2012年世界狂歡節-「框」住瞬間「框」住世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2799&amp;key2=20120308" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2901&amp;key2=20120501"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/08 12:15-14:00</summary> <summary type="text">101/05/01-101/05/08 00:00-23:59</summary>
</entry> </entry>
<entry> <entry>
<title>101年生命教育師資培訓課程研習會</title> <title>2012年世界狂歡節-環友世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2800&amp;key2=20120324" /> <link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2902&amp;key2=20120501"/>
<author> <author>
<name/> <name/>
</author> </author>
<summary type="text">101/03/24-101/03/25 07:30-17:40</summary> <summary type="text">101/05/01-101/05/10 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-從政大看台灣</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2903&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 08:00-22:00</summary>
</entry>
<entry>
<title>校外租屋法律座談會</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2910&amp;key2=20120503"/>
<author>
<name/>
</author>
<summary type="text">101/05/03 12:00-14:00</summary>
</entry>
<entry>
<title>紅紙廊期中工作坊-帶遊戲的言談藝術</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2920&amp;key2=20120503"/>
<author>
<name/>
</author>
<summary type="text">101/05/03 12:10-14:00</summary>
</entry>
<entry>
<title>「學生健康體位控制班」</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2766&amp;key2=20120301"/>
<author>
<name/>
</author>
<summary type="text">101/03/01-101/05/03 18:00-20:30</summary>
</entry>
<entry>
<title>2012年世界狂歡節-「框」住瞬間「框」住世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2901&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/08 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-環友世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2902&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-從政大看台灣</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2903&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 08:00-22:00</summary>
</entry>
<entry>
<title>身心放輕鬆 (教職員工心靈SPA講座)</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2876&amp;key2=20120504"/>
<author>
<name/>
</author>
<summary type="text">101/05/04 12:00-13:30</summary>
</entry>
<entry>
<title>2012年世界狂歡節- 五粵天粵語歌唱比賽『光輝歲月』</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2900&amp;key2=20120504"/>
<author>
<name/>
</author>
<summary type="text">101/05/04 18:00-22:00</summary>
</entry>
<entry>
<title>2012年世界狂歡節-環友世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2902&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-「框」住瞬間「框」住世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2901&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/08 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-從政大看台灣</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2903&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 08:00-22:00</summary>
</entry>
<entry>
<title>2012年福祿貝爾恩物親子戲遊成長團體(上午)</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2833&amp;key2=20120407"/>
<author>
<name/>
</author>
<summary type="text">101/04/07-101/06/02 09:00-11:00</summary>
</entry>
<entry>
<title>2012年福祿貝爾恩物親子戲遊成長團體(下午)</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2834&amp;key2=20120407"/>
<author>
<name/>
</author>
<summary type="text">101/04/07-101/06/09 14:00-16:00</summary>
</entry>
<entry>
<title>2012年世界狂歡節-「框」住瞬間「框」住世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2901&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/08 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-環友世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2902&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-從政大看台灣</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2903&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 08:00-22:00</summary>
</entry>
<entry>
<title>2012年世界狂歡節-「框」住瞬間「框」住世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2901&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/08 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-環友世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2902&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-從政大看台灣</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2903&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 08:00-22:00</summary>
</entry>
<entry>
<title>2012年世界狂歡節-世界服裝大遊行</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2904&amp;key2=20120507"/>
<author>
<name/>
</author>
<summary type="text">101/05/07 12:00-13:00</summary>
</entry>
<entry>
<title>2012年世界狂歡節-環友世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2902&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-「框」住瞬間「框」住世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2901&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/08 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-從政大看台灣</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2903&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 08:00-22:00</summary>
</entry>
<entry>
<title>2012年世界狂歡節-美食嘉年華</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2905&amp;key2=20120508"/>
<author>
<name/>
</author>
<summary type="text">101/05/08-101/05/10 12:00-14:00</summary>
</entry>
<entry>
<title>2012年世界狂歡節-開幕式</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2907&amp;key2=20120508"/>
<author>
<name/>
</author>
<summary type="text">101/05/08 12:10-13:30</summary>
</entry>
<entry>
<title>2012年世界狂歡節-「原,夜」晚會</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2906&amp;key2=20120508"/>
<author>
<name/>
</author>
<summary type="text">101/05/08 19:00-21:00</summary>
</entry>
<entry>
<title>2012年世界狂歡節-環友世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2902&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-從政大看台灣</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2903&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 08:00-22:00</summary>
</entry>
<entry>
<title>2012年世界狂歡節-美食嘉年華</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2905&amp;key2=20120508"/>
<author>
<name/>
</author>
<summary type="text">101/05/08-101/05/10 12:00-14:00</summary>
</entry>
<entry>
<title>2012年世界狂歡節-環友世界</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2902&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 00:00-23:59</summary>
</entry>
<entry>
<title>2012年世界狂歡節-從政大看台灣</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2903&amp;key2=20120501"/>
<author>
<name/>
</author>
<summary type="text">101/05/01-101/05/10 08:00-22:00</summary>
</entry>
<entry>
<title>2012年世界狂歡節-美食嘉年華</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2905&amp;key2=20120508"/>
<author>
<name/>
</author>
<summary type="text">101/05/08-101/05/10 12:00-14:00</summary>
</entry>
<entry>
<title>2012年世界狂歡節-閉幕式</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2908&amp;key2=20120510"/>
<author>
<name/>
</author>
<summary type="text">101/05/10 12:00-13:20</summary>
</entry>
<entry>
<title>國立政治大學101學年度博士班招生考試</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2701&amp;key2=20120512"/>
<author>
<name/>
</author>
<summary type="text">101/05/12 07:00-17:00</summary>
</entry>
<entry>
<title>2012年福祿貝爾恩物親子戲遊成長團體(上午)</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2833&amp;key2=20120407"/>
<author>
<name/>
</author>
<summary type="text">101/04/07-101/06/02 09:00-11:00</summary>
</entry>
<entry>
<title>2012年福祿貝爾恩物親子戲遊成長團體(下午)</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2834&amp;key2=20120407"/>
<author>
<name/>
</author>
<summary type="text">101/04/07-101/06/09 14:00-16:00</summary>
</entry>
<entry>
<title>2012年福祿貝爾恩物親子戲遊成長團體(上午)</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2833&amp;key2=20120407"/>
<author>
<name/>
</author>
<summary type="text">101/04/07-101/06/02 09:00-11:00</summary>
</entry>
<entry>
<title>2012年福祿貝爾恩物親子戲遊成長團體(下午)</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2834&amp;key2=20120407"/>
<author>
<name/>
</author>
<summary type="text">101/04/07-101/06/09 14:00-16:00</summary>
</entry>
<entry>
<title>2012年福祿貝爾恩物親子戲遊成長團體(上午)</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2833&amp;key2=20120407"/>
<author>
<name/>
</author>
<summary type="text">101/04/07-101/06/02 09:00-11:00</summary>
</entry>
<entry>
<title>TOEIC英語測驗校園考</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2872&amp;key2=20120526"/>
<author>
<name/>
</author>
<summary type="text">101/05/26 09:30-12:00</summary>
</entry>
<entry>
<title>2012年福祿貝爾恩物親子戲遊成長團體(下午)</title>
<link rel="alternate" href="http://events.nccu.edu.tw/more.do?key=2834&amp;key2=20120407"/>
<author>
<name/>
</author>
<summary type="text">101/04/07-101/06/09 14:00-16:00</summary>
</entry> </entry>
</feed> </feed>

View File

@ -27,8 +27,8 @@
<%= content_tag :div do -%> <%= content_tag :div do -%>
<% form_tag panel_announcement_back_end_approval_setting_path do %> <% form_tag panel_announcement_back_end_approval_setting_path do %>
<%= render :partial => "privilege_user", :locals => {:users => @users_array} %> <%= render :partial => "privilege_user", :locals => {:users => @users_array} %>
<div class="form-actions pagination-centered"> <div class="form-actions form-fixed pagination-right">
<%= submit_tag "Update", :class => 'btn' %> <%= submit_tag "Update", :class => 'btn btn-primary' %>
</div> </div>
<% end -%> <% end -%>
<% end -%> <% end -%>

View File

@ -29,7 +29,7 @@
<%# <br />顯示方式是設定在前台頁面時,資訊所呈現的樣式 %> <%# <br />顯示方式是設定在前台頁面時,資訊所呈現的樣式 %>
</div> </div>
<div class="form-actions"> <div class="form-actions pagination-right">
<%= f.submit t('submit'), :class=>'btn btn-primary' %> <%= f.submit t('submit'), :class=>'btn btn-primary' %>
</div> </div>

View File

@ -1,12 +1,30 @@
<%= flash_messages %> <%= flash_messages %>
<div id="filter" class="subnav">
<div class="filters">
<div id="sort_headers" class="table-label">
<table class="table main-list">
<thead>
<tr>
<th class="span2"><%= t('bulletin_category.key') %></th>
<% @site_valid_locales.each do |locale| %>
<th class="span2"><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></th>
<% end %>
</tr>
</thead>
</table>
</div>
</div>
</div>
<table id="bulletin_categorys" class="table main-list"> <table id="bulletin_categorys" class="table main-list">
<thead> <thead>
<tr> <tr>
<th class="span1-2"><%= t('bulletin_category.key') %></th> <th class="span2"></th>
<% @site_valid_locales.each do |locale| %> <% @site_valid_locales.each do |locale| %>
<th class="span1-2"><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %></th> <th class="span2"></th>
<% end %> <% end %>
</tr> </tr>
</thead> </thead>

View File

@ -4,6 +4,8 @@
<%= check_box_tag 'to_delete[]', bulletin.id, false, :class => "checkbox_in_list" %> <%= check_box_tag 'to_delete[]', bulletin.id, false, :class => "checkbox_in_list" %>
<% end -%> <% end -%>
<td> <td>
<div class="label-group">
<div class="label-td">
<% if bulletin.is_top? %> <% if bulletin.is_top? %>
<span class="label label-success"><%= t(:top) %></span> <span class="label label-success"><%= t(:top) %></span>
<% end %> <% end %>
@ -22,6 +24,8 @@
<% if bulletin.is_rejected? %> <% if bulletin.is_rejected? %>
<span class="label"><%= t(:rejected) %></span> <span class="label"><%= t(:rejected) %></span>
<% end %> <% end %>
</div>
</div>
</td> </td>
<td><%= bulletin.bulletin_category.i18n_variable[I18n.locale] %></td> <td><%= bulletin.bulletin_category.i18n_variable[I18n.locale] %></td>
<td> <td>

View File

@ -1,6 +1,6 @@
<% # encoding: utf-8 %> <% # encoding: utf-8 %>
<%= form_for(@bulletin_file, :remote => true, :url => @file_url) do |f| %> <%= form_for @bulletin_file, :url => @file_url, :html => {:id => 'ajaxForm', :multipart => true} do |f| %>
<div class="modal-header"> <div class="modal-header">
<a class="close" data-dismiss="modal">×</a> <a class="close" data-dismiss="modal">×</a>
@ -39,7 +39,7 @@
<div class="modal-footer"> <div class="modal-footer">
<%= hidden_field_tag 'bulletin_file[bulletin_id]', @bulletin_file.bulletin_id %> <%= hidden_field_tag 'bulletin_file[bulletin_id]', @bulletin_file.bulletin_id %>
<%= f.submit t('submit'), :class=>'btn btn-primary' %> <a class="btn btn-primary" id='ajax_form_submit'><%= t('submit')%></a>
<a class="btn" data-dismiss="modal"><%= t('cancel')%></a> <a class="btn" data-dismiss="modal"><%= t('cancel')%></a>
</div> </div>

View File

@ -25,12 +25,11 @@
</div> </div>
<% end %> <% end %>
<% end %> <% end %>
</div>
<div class="modal-footer"> <div class="modal-footer">
<%= hidden_field_tag 'bulletin_link[bulletin_id]', @bulletin_link.bulletin_id %> <%= hidden_field_tag 'bulletin_link[bulletin_id]', @bulletin_link.bulletin_id %>
<%= f.submit t('submit'), :class=>'btn btn-primary' %> <%= f.submit t('submit'), :class=>'btn btn-primary' %>
<a class="btn" data-dismiss="modal"><%= t('cancel')%></a <a class="btn" data-dismiss="modal"><%= t('cancel')%></a>
</div>
<% end %> <% end %>

View File

@ -293,7 +293,7 @@
<% content_for :page_specific_javascript do %> <% content_for :page_specific_javascript do %>
<%= javascript_include_tag "bulletin_form" %> <%= javascript_include_tag "bulletin_form" %>
<%= javascript_include_tag "inc/jquery.imagesloaded" %> <%= javascript_include_tag "inc/jquery.imagesloaded.js" %>
<script> <script>
$('#add_bulletin_link a.add').live('click', function(){ $('#add_bulletin_link a.add').live('click', function(){
var new_id = $(this).prev().attr('value'); var new_id = $(this).prev().attr('value');

View File

@ -4,7 +4,7 @@
<div class="control-group"> <div class="control-group">
<div class="controls"> <div class="controls">
<%= f.file_field :file %> <%= f.file_field :file %>
<%= form_bulletin_file.file.file ? ( link_to t(:view), form_bulletin_file.file.url, {:target => '_blank', :title => t(:view)} ) : '' %> <%= form_bulletin_file.file.file ? ( link_to t(:view), form_bulletin_file.file.url, {:class => 'btn', :target => '_blank', :title => t(:view)} ) : '' %>
</div> </div>
</div> </div>
</td> </td>

View File

@ -7,8 +7,9 @@
<span class="action"> <span class="action">
<%= fields_for "bulletin[bulletin_files_attributes][]", list_bulletin_file, :index => list_bulletin_file_counter do |f| %> <%= fields_for "bulletin[bulletin_files_attributes][]", list_bulletin_file, :index => list_bulletin_file_counter do |f| %>
<%= f.hidden_field :id %> <%= f.hidden_field :id %>
<a href class="remove_existing_record"><i class="icon-remove"></i></a> <%= hidden_field_tag :tr, (dom_id list_bulletin_file) %>
<%= f.hidden_field :should_destroy, :value => nil , :class => 'should_destroy' %> <a class="remove_existing_record"><i class="icon-remove"></i></a>
<%= f.hidden_field :_destroy, :value => nil , :class => 'should_destroy' %>
<% end %> <% end %>
</span> </span>
</td> </td>

View File

@ -1,4 +1,3 @@
<tr id="<%= dom_id list_bulletin_link %>"> <tr id="<%= dom_id list_bulletin_link %>">
<td><%= link_to list_bulletin_link.i18n_variable.zh_tw, list_bulletin_link.url, :target => '_blank' %></td> <td><%= link_to list_bulletin_link.i18n_variable.zh_tw, list_bulletin_link.url, :target => '_blank' %></td>
<td><%= link_to list_bulletin_link.i18n_variable.en, list_bulletin_link.url, :target => '_blank' %></td> <td><%= link_to list_bulletin_link.i18n_variable.en, list_bulletin_link.url, :target => '_blank' %></td>
@ -7,13 +6,10 @@
<span class="action"> <span class="action">
<%= fields_for "bulletin[bulletin_links_attributes][]", list_bulletin_link, :index => list_bulletin_link_counter do |f| %> <%= fields_for "bulletin[bulletin_links_attributes][]", list_bulletin_link, :index => list_bulletin_link_counter do |f| %>
<%= f.hidden_field :id %> <%= f.hidden_field :id %>
<a href class="remove_existing_record"><i class="icon-remove"></i></a> <%= hidden_field_tag :tr, (dom_id list_bulletin_link) %>
<%= f.hidden_field :should_destroy, :value => nil , :class => 'should_destroy' %> <a class="remove_existing_record"><i class="icon-remove"></i></a>
<%= f.hidden_field :_destroy, :value => nil, :class => 'should_destroy' %>
<% end %> <% end %>
</span> </span>
</td> </td>
</tr> </tr>

View File

@ -1,7 +1,7 @@
<div id="qe-file" class="qe-edit-div"> <div id="qe-file" class="qe-edit-div">
<div id="widget-file"> <div id="widget-file">
<div class="control-group"> <div class="control-group">
<table class="table table-condensed"> <table id="bulletin_files" class="table table-condensed">
<thead> <thead>
<tr> <tr>
<th>Chinese</th> <th>Chinese</th>

View File

@ -1,17 +1,18 @@
<div id="qe-picture" class="qe-edit-div"> <div id="qe-picture" class="qe-edit-div">
<div id="widget-picture"> <div id="widget-picture clear">
<div class="control-group"> <div class="control-group">
<label class="control-label">Picture</label> <!--<label class="control-label">Picture</label>-->
<div class="control-group"> <div class="control-group">
<div class="controls upload-picture">
<img class="pull-left upload-picture" src="" /> <img class="pull-left upload-picture" src="" />
<div class="controls file-upload"> </div>
<label class="control-label btn" for="input-upload"> <div class="controls file-upload input-prepend">
Browse/選擇檔案 <label class="control-label add-on btn" for="input-upload">
<%= t(:browse) %>
<%= f.file_field :image, :id => "input-upload", :class => 'upload', :onchange => "document.getElementById('fu').innerHTML = this.form.fu.value = this.value;" %> <%= f.file_field :image, :id => "input-upload", :class => 'upload', :onchange => "document.getElementById('fu').innerHTML = this.form.fu.value = this.value;" %>
</label> </label>
<span id='fu' class="file-name"></span> <span id='fu' class="file-name"></span>
<br> <input name='fu' class="input-medium qe-picture-rename" type="text">
<input name='fu' class="input-large" type="text">
<br> <br>
<% if bulletin.image.file %> <% if bulletin.image.file %>
<%= f.check_box :remove_image %> <%= f.check_box :remove_image %>

View File

@ -1,44 +1,14 @@
<!-- <div id="qe-tags">
<div id="widget-tags">
<div class="form-horizontal">
<div class="control-group error">
<label class="control-label" for="tags-zh-tw">
Chinese
</label>
<div class="controls">
<input id='tags-zh-tw' class="input-prepend" type="text">
<span class="help-inline">Please correct the error</span>
</div>
</div>
<div class="control-group">
<label class="control-label" for="tags-en">
English
</label>
<div class="controls">
<input id='tags-en' class="input-prepend" type="text">
<span class="help-inline">Please correct the error</span>
</div>
</div>
<div class="control-group">
<div class="controls">
<hr>
<span class="label label-tags">Default<a href><i class="icon-remove icon-white"></i></a></span>
<span class="label label-tags">Default<a href><i class="icon-remove icon-white"></i></a></span>
<span class="label label-tags">Default<a href><i class="icon-remove icon-white"></i></a></span>
<span class="label label-tags">Default<a href><i class="icon-remove icon-white"></i></a></span>
</div>
</div>
</div>
</div>
</div> -->
<div id="qe-tags" class="qe-edit-div"> <div id="qe-tags" class="qe-edit-div">
<div id="widget-tags"> <div id="widget-tags">
<div class="controls">
<div class="form-horizontal"> <div class="form-horizontal">
<% @tags.each do |tag| %> <% @tags.each do |tag| %>
<label class="checkbox inline">
<%= check_box_tag 'bulletin[tag_ids][]', tag.id, bulletin.tag_ids.include?(tag.id)%> <%= check_box_tag 'bulletin[tag_ids][]', tag.id, bulletin.tag_ids.include?(tag.id)%>
<%= tag[I18n.locale] %> <%= tag[I18n.locale] %>
</label>
<% end %> <% end %>
</div> </div>
</div> </div>
</div> </div>
</div>

View File

@ -7,7 +7,7 @@
</table> </table>
<% end %> <% end %>
<div id="bulletin_pagination"> <div id="bulletin_pagination" class="paginationFixed">
<%= paginate @bulletins, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %> <%= paginate @bulletins, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>
</div> </div>
@ -17,7 +17,7 @@
</div> </div>
</div> </div>
<div class="form-actions"> <div class="form-actions form-fixed pagination-right">
<%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('admin.add'), new_panel_announcement_back_end_bulletin_path, :class => 'btn btn-primary' %> <%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('admin.add'), new_panel_announcement_back_end_bulletin_path, :class => 'btn btn-primary' %>
</div> </div>

View File

@ -3,7 +3,7 @@
<%= f.error_messages %> <%= f.error_messages %>
<div id="post-body"> <div id="post-body">
<div id="post-body-content">
<div class="title"> <div class="title">
<%= f.label :name %> <%= f.label :name %>
<%= @page_context.page.i18n_variable[I18n.locale] %> <%= @page_context.page.i18n_variable[I18n.locale] %>
@ -33,11 +33,10 @@
<% end %> <% end %>
</div> </div>
</div>
</div>
<div class="form-actions"> <div class="form-actions">
<%= f.submit t('submit'), :class=>'btn btn-primary' %> <%= f.submit t('submit'), :class=>'btn btn-primary' %>
<%= link_to t('cancel'), get_go_back, :class=>"btn" %> <%= link_to t('cancel'), get_go_back, :class=>"btn" %>
</div> </div>
</div>

View File

@ -1,8 +1,8 @@
<div id="poststuff">
<h1><%= t('page_content.editing_page_content') %></h1> <h1><%= t('page_content.editing_page_content') %></h1>
<%= form_for @page_context, :url => panel_page_content_back_end_page_context_path(@page_context), :html => {:class => 'clear'} do |f| %> <%= form_for @page_context, :url => panel_page_content_back_end_page_context_path(@page_context), :html => {:class => 'clear'} do |f| %>
<%= render :partial => 'form', :locals => {:f => f} %> <%= render :partial => 'form', :locals => {:f => f} %>
<% end %> <% end %>
</div>
<%#= link_back %> <%#= link_back %>

View File

@ -1,13 +1,30 @@
<%= flash_messages %> <%= flash_messages %>
<div id="filter" class="subnav">
<div class="filters">
<div id="sort_headers" class="table-label">
<table class="table main-list">
<thead>
<tr>
<th class="span7"><%= t('page_context.name') %></th>
<th class="span2"><%= t('page_context.version') %></th>
<th class="span2"><%= t('page_context.update_time') %></th>
<th class="span2"><%= t('page_context.last_modified') %></th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<table class="table main-list"> <table class="table main-list">
<thead> <thead>
<tr> <tr>
<th class="span7 select"><%= t('page_context.name') %></th> <th class="span7"></th>
<th class="span1-2"><%= t('page_context.version') %></th> <th class="span2"></th>
<th class="span1-2"><%= t('page_context.update_time') %></th> <th class="span2"></th>
<th class="span1-2"><%= t('page_context.last_modified') %></th> <th class="span2"></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View File

@ -7,14 +7,32 @@ class Panel::WebResource::BackEnd::WebLinksController < OrbitBackendController
get_categorys(params[:web_link_category_id]) get_categorys(params[:web_link_category_id])
@filter = params[:filter]
new_filter = params[:new_filter]
if @filter && params[:clear]
@filter.delete(params[:type])
elsif @filter && new_filter
if @filter.has_key?(new_filter[:type]) && @filter[new_filter[:type]].include?(new_filter[:id].to_s)
@filter[new_filter[:type]].delete(new_filter[:id].to_s)
elsif @filter.has_key?(new_filter[:type])
@filter[new_filter[:type]] << new_filter[:id].to_s
else
@filter.merge!({new_filter[:type] => [new_filter[:id].to_s]})
end
elsif new_filter
@filter = {new_filter[:type] => [new_filter[:id].to_s]}
end
# @web_links = WebLink.search(params[:category_id]) # @web_links = WebLink.search(params[:category_id])
@web_links = WebLink.all.page(params[:page]).per(10) @web_links = (params[:sort] || @filter) ? get_sorted_and_filtered_web_links : WebLink.all.page(params[:page]).per(10)
get_tags get_tags
respond_to do |format| respond_to do |format|
format.html # index.html.erb format.html # index.html.erb
format.xml { render :xml => @web_links } format.xml { render :xml => @web_links }
format.js
end end
end end
@ -116,4 +134,74 @@ class Panel::WebResource::BackEnd::WebLinksController < OrbitBackendController
@tags = Tag.all(:conditions => {:module_app_id => module_app.id}) @tags = Tag.all(:conditions => {:module_app_id => module_app.id})
end end
def get_sorted_and_filtered_web_links
web_links = WebLink.all
case params[:sort]
when 'category'
category_ids = web_links.distinct(:web_link_category_id)
categories = WebLinkCategory.find(category_ids) rescue nil
if categories
h = Hash.new
categories.each { |category| h[category.i18n_variable[I18n.locale]] = category.id }
sorted = params[:direction].eql?('asc') ? h.sort : h.sort.reverse!
sorted_categorys = sorted.collect {|a| web_links.where(:web_link_category_id => a[1]).entries }
web_links = sorted_categorys.flatten!
end
when 'name'
h = Array.new
web_links.each { |web_link| h << [web_link.name[I18n.locale].downcase, web_link] }
sorted = params[:direction].eql?('asc') ? h.sort : h.sort.reverse!
web_links = sorted.collect {|a| a[1] }
when 'status'
web_links = web_links.order_by(:is_top, params[:direction]).order_by(:is_hot, params[:direction]).order_by(:is_hidden, params[:direction]).order_by(:is_pending, params[:direction]).order_by(:is_checked, params[:direction]).order_by(:is_rejected, params[:direction])
when 'tags'
a = Array.new
WebResourceTag.all.order_by(I18n.locale, params[:direction]).each { |tag| a << tag.web_links }
a.flatten!
a.uniq!
tmp = Array.new
web_links.where(:tag_ids => []).each { |web_link| tmp << [web_link.name[I18n.locale].downcase, web_link] }
sorted = params[:direction].eql?('asc') ? tmp.sort : tmp.sort.reverse!
sorted_names = sorted.collect {|a| a[1] }
a = params[:direction].eql?('asc') ? (sorted_names + a) : (a + sorted_names)
web_links = a.flatten
end
# if @filter
# @filter.each do |key, value|
# case key
# when 'status'
# a = Array.new
# web_links.each do |web_link|
# value.each do |v|
# case v
# when 'pending'
# a << web_link if web_link.is_checked.nil?
# when 'rejected'
# a << web_link if web_link.is_checked.eql?(false)
# else
# a << web_link if web_link[v]
# end
# end
# end
# web_links = a.uniq
# when 'categories'
# a = Array.new
# web_links.each do |web_link|
# a << web_link if value.include?(web_link.web_link_category.id.to_s)
# end
# web_links = a.uniq
# when 'tags'
# a = Array.new
# web_links.each do |web_link|
# web_link.tags.each do |tag|
# a << web_link if value.include?(tag.id.to_s)
# end
# end
# web_links = a.uniq
# end if value.size > 0
# end
# end
Kaminari.paginate_array(web_links).page(params[:page]).per(10)
end
end end

View File

@ -62,6 +62,10 @@ class WebLink
@text ||= I18nVariable.first(:conditions => {:key => 'text', :language_value_id => self.id, :language_value_type => self.class}) rescue nil @text ||= I18nVariable.first(:conditions => {:key => 'text', :language_value_id => self.id, :language_value_type => self.class}) rescue nil
end end
def sorted_tags
tags.order_by(I18n.locale, :asc)
end
protected protected
def set_key def set_key

View File

@ -1,8 +1,10 @@
<%= flash_messages %> <%= flash_messages %>
<div id="filter" class="subnav">
<table id="web_link_categorys" class="table main-list"> <div class="filters">
<div id="sort_headers" class="table-label">
<table class="table main-list">
<thead> <thead>
<tr> <tr>
<th class="span1-2"><%= t('web_link_category.key') %></th> <th class="span1-2"><%= t('web_link_category.key') %></th>
@ -11,7 +13,21 @@
<% end %> <% end %>
</tr> </tr>
</thead> </thead>
<tbody> </table>
</div>
</div>
</div>
<table id="web_link_categorys" class="table main-list">
<thead>
<tr>
<th class="span1-2"></th>
<% @site_valid_locales.each do |locale| %>
<th class="span1-2"></th>
<% end %>
</tr>
</thead>
<tbody class="sort-holder">
<%= render :partial => 'web_link_category', :collection => @web_link_categorys %> <%= render :partial => 'web_link_category', :collection => @web_link_categorys %>

View File

@ -0,0 +1,7 @@
<div id="filter" class="subnav">
<div class="filters">
<div id="sort_headers" class="table-label">
<%= render 'sort_headers' %>
</div>
</div>
</div>

View File

@ -13,9 +13,18 @@
<h3 class="widget-title"><i class="icons-star-thin icons-white"></i>Status</h3> <h3 class="widget-title"><i class="icons-star-thin icons-white"></i>Status</h3>
<div class="widget-content clear"> <div class="widget-content clear">
<div class="controls"> <div class="controls">
<%= f.check_box :is_top %><%= t('top') %> <%= content_tag :label,:class => "checkbox inline" do -%>
<%= f.check_box :is_hot %><%= t('hot') %> <%= f.check_box :is_top %>
<%= f.check_box :is_hidden %><%= t('hide') %> <%= t('top') %>
<% end -%>
<%= content_tag :label,:class => "checkbox inline" do -%>
<%= f.check_box :is_hot %>
<%= t('hot') %>
<% end -%>
<%= content_tag :label,:class => "checkbox inline" do -%>
<%= f.check_box :is_hidden %>
<%= t('hide') %>
<% end -%>
</div> </div>
</div> </div>
</div> </div>
@ -27,9 +36,11 @@
<h3 class="widget-title"><i class="icons-tag icons-white"></i>Tags</h3> <h3 class="widget-title"><i class="icons-tag icons-white"></i>Tags</h3>
<div class="widget-content clear form-horizontal"> <div class="widget-content clear form-horizontal">
<% @tags.each do |tag| %> <% @tags.each do |tag| %>
<%= content_tag :label,:class => "checkbox inline" do -%>
<%= check_box_tag 'web_link[tag_ids][]', tag.id, @web_link.tag_ids.include?(tag.id)%> <%= check_box_tag 'web_link[tag_ids][]', tag.id, @web_link.tag_ids.include?(tag.id)%>
<%= tag[I18n.locale] %> <%= tag[I18n.locale] %>
<% end %> <% end %>
<% end %>
</div> </div>
</div> </div>
@ -86,12 +97,10 @@
</div> </div>
<!--Post End--> <!--Post End-->
</div>
<div class="form-actions"> <div class="form-actions">
<%= f.submit t('submit'), :class=>'btn btn-primary' %> <%= f.submit t('submit'), :class=>'btn btn-primary' %>
<%= link_to t('cancel'), get_go_back, :class=>"btn" %> <%= link_to t('cancel'), get_go_back, :class=>"btn" %>
</div> </div>
</div>

View File

@ -0,0 +1,18 @@
<table class="table main-list">
<thead>
<tr class="sort-header">
<th class="sort span1 <%= is_sort_active?('status') %>">
<%= link_to (t('web_link.status') + content_tag(:b, nil, :class => is_sort?('status'))).html_safe, panel_web_resource_back_end_web_links_path({:filter => @filter}.merge(sortable('status'))), :class => 'js_history' %>
</th>
<th class="sort span1 <%= is_sort_active?('category') %>">
<%= link_to (t('web_link.category') + content_tag(:b, nil, :class => is_sort?('category'))).html_safe, panel_web_resource_back_end_web_links_path({:filter => @filter}.merge(sortable('category'))), :class => 'js_history' %>
</th>
<th class="sort span3 <%= is_sort_active?('name') %>">
<%= link_to (t('web_link.name') + content_tag(:b, nil, :class => is_sort?('name'))).html_safe, panel_web_resource_back_end_web_links_path({:filter => @filter}.merge(sortable('name'))), :class => 'js_history' %>
</th>
<th class="sort span2 <%= is_sort_active?('tags') %>">
<%= link_to (t('web_link.tags') + content_tag(:b, nil, :class => is_sort?('tags'))).html_safe, panel_web_resource_back_end_web_links_path({:filter => @filter}.merge(sortable('tags'))), :class => 'js_history' %>
</th>
</tr>
</thead>
</table>

View File

@ -0,0 +1,37 @@
<tr id="<%= dom_id web_link %>" class="with_action">
<td>
<div class="label-group">
<div class="label-td">
<% if web_link.is_top? %>
<span class="label label-success"><%= t(:top) %></span>
<% end %>
<% if web_link.is_hot? %>
<span class="label label-important"><%= t(:hot) %></span>
<% end %>
<% if web_link.is_hidden? %>
<span class="label"><%= t(:hidden) %></span>
<% end %>
</div>
</div>
</td>
<td><%= web_link.web_link_category.i18n_variable[I18n.locale] %></td>
<td>
<%= link_to web_link.name[I18n.locale], panel_web_resource_back_end_web_link_path(web_link) %>
<div class="quick-edit">
<ul class="nav nav-pills hide">
<li><%= link_to t('web_link.edit'), edit_panel_web_resource_back_end_web_link_path(web_link) %></li>
<li><%= link_to t('web_link.delete'), panel_web_resource_back_end_web_link_path(web_link), :confirm => t('sure?'), :method => :delete, :remote => true %></li>
</ul>
</div>
</td>
<td>
<div class="label-group">
<div class="label-td">
<% web_link.sorted_tags.each do |tag| %>
<span class="label label-tags"><%= tag[I18n.locale] %></span>
<% end %>
</div>
</div>
</td>
</tr>

View File

@ -1,30 +0,0 @@
<tr id="<%= dom_id post %>" class="with_action">
<td>
<% if post.is_top? %>
<span class="label label-success"><%= t(:top) %></span>
<% end %>
<% if post.is_hot? %>
<span class="label label-important"><%= t(:hot) %></span>
<% end %>
<% if post.is_hidden? %>
<span class="label"><%= t(:hidden) %></span>
<% end %>
<div class="quick-edit">
<ul class="nav nav-pills hide">
<li><%= link_to t('web_link.edit'), edit_panel_web_resource_back_end_web_link_path(post) %></li>
<li><%= link_to t('web_link.delete'), panel_web_resource_back_end_web_link_path(post), :confirm => t('sure?'), :method => :delete, :remote => true %></li>
</ul>
</div>
</td>
<td><%= post.web_link_category.i18n_variable[I18n.locale] %></td>
<td>
<%= link_to post.name[I18n.locale], panel_web_resource_back_end_web_link_path(post) %>
</td>
<td>
<% post.tags.each do |tag| %>
<span class="label label-tags"><%= tag[I18n.locale] %></span>
<% end %>
</td>
</tr>

View File

@ -1,23 +1,21 @@
<%= render 'filter' %>
<%= flash_messages %>
<table class="table main-list"> <table class="table main-list">
<thead> <thead>
<tr> <tr>
<th class="span1-2"><%= t('web_link.status') %></th> <th class="span1"></th>
<th class="span1-2"><%= t('web_link.category') %></th> <th class="span2"></th>
<th class="span1-2"><%= t('web_link.name') %></th> <th class="span3"></th>
<th class="span1-2"><%= t('web_link.tags') %></th> <th class="span2"></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody id="tbody_web_links" class="sort-holder">
<%= render :partial => 'web_link', :collection => @web_links %>
<% @web_links.each do |post| %>
<%= render :partial => 'web_links', :locals => {:post => post} %>
<% end %>
</tbody> </tbody>
</table> </table>
<%= paginate @web_links %> <div id="web_link_pagination" class="paginationFixed">
<%= paginate @web_links, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>
</div>
<div class="form-actions form-fixed pagination-right">
<%= link_to content_tag(:i, nil, :class => 'icon-plus icon-white') + t('announcement.add_new'), new_panel_web_resource_back_end_web_link_path, :class => 'btn btn-primary' %>
</div>

View File

@ -0,0 +1,3 @@
$("#sort_headers").html("<%= j render 'sort_headers' %>");
$("#tbody_web_links").html("<%= j render :partial => 'web_link', :collection => @web_links %>");
$("#web_link_pagination").html("<%= j paginate @web_links, :params => {:direction => params[:direction], :sort => params[:sort], :filter => @filter, :new_filter => nil} %>");

View File

@ -1,9 +1,10 @@
<%= flash_messages %> <%= flash_messages %>
<div id="poststuff">
<h1><%= t('web_link.new_web_resource') %></h1> <h1><%= t('web_link.new_web_resource') %></h1>
<%= form_for @web_link, :url => panel_web_resource_back_end_web_links_path, :html => {:class => 'clear'} do |f| %> <%= form_for @web_link, :url => panel_web_resource_back_end_web_links_path, :html => {:class => 'clear'} do |f| %>
<%= render :partial => 'form', :locals => {:f => f} %> <%= render :partial => 'form', :locals => {:f => f} %>
<% end %> <% end %>
</div>
<%#= link_back %> <%#= link_back %>