From 0647ea63c88fe4ff19174647f04169810d1be90e Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Tue, 21 Oct 2014 15:13:18 +0800 Subject: [PATCH 001/320] Signed-off-by: alan <547533434@qq.com> --- .../stylesheets/window_js/mac_os_x_dialog.css | 320 +- .../stylesheets/window_js/nuncio.css | 328 +- .../stylesheets/window_js/spread.css | 216 +- public/statistics/trustie2/gitstats.css | 308 +- public/statistics/trustie2/index.html | 38 +- public/statistics/trustie2/sortable.js | 648 +- public/stylesheets/application.css | 5550 ++++++++--------- .../bootstrap/bootstrap-theme.min.css | 12 +- .../stylesheets/bootstrap/bootstrap.min.css | 12 +- public/stylesheets/bootstrap_custom.css | 220 +- public/stylesheets/buglist-div-use.css | 130 +- public/stylesheets/buglist-ichart.css | 146 +- public/stylesheets/buglist.css | 144 +- public/stylesheets/context_menu.css | 104 +- public/stylesheets/context_menu_rtl.css | 18 +- .../hubspot/messenger-theme-flat.css | 924 +-- .../hubspot/messenger-theme-future.css | 992 +-- public/stylesheets/hubspot/messenger.css | 202 +- public/stylesheets/jquery/jquery-ui-1.9.2.css | 10 +- public/stylesheets/jstoolbar.css | 200 +- public/stylesheets/rtl.css | 188 +- public/stylesheets/scm.css | 208 +- public/stylesheets/sec-analysis.css | 82 +- public/themes/README | 2 +- public/themes/redpenny-master/README.md | 22 +- .../stylesheets/font/fontawesome-webfont.svg | 676 +- script/about | 12 +- script/rails | 12 +- test/fixtures/activities.yml | 22 +- test/fixtures/applied_projects.yml | 18 +- test/fixtures/apply_project_masters.yml | 22 +- test/fixtures/attachmentstypes.yml | 18 +- test/fixtures/bug_to_osps.yml | 22 +- test/fixtures/contesting_softapplications.yml | 26 +- test/fixtures/contestnotifications.yml | 34 +- test/fixtures/course_infos.yml | 18 +- test/fixtures/course_statuses.yml | 30 +- test/fixtures/files/japanese-utf-8.txt | 2 +- test/fixtures/forums.yml | 22 +- test/fixtures/homework_users.yml | 18 +- test/fixtures/join_in_contests.yml | 18 +- test/fixtures/journal_replies.yml | 22 +- test/fixtures/memos.yml | 44 +- test/fixtures/no_uses.yml | 22 +- test/fixtures/notificationcomments.yml | 26 +- test/fixtures/open_source_projects.yml | 14 +- .../relative_memo_to_open_source_projects.yml | 22 +- test/fixtures/relative_memos.yml | 22 +- test/fixtures/schools.yml | 18 +- test/fixtures/softapplications.yml | 34 +- test/fixtures/user_extensions.yml | 76 +- test/fixtures/user_score_details.yml | 54 +- .../applied_project_controller_test.rb | 14 +- .../apply_project_masters_controller_test.rb | 98 +- .../attachment_type_edit_controller_test.rb | 14 +- .../contestnotifications_controller_test.rb | 98 +- test/functional/forums_controller_test.rb | 98 +- test/functional/memos_controller_test.rb | 22 +- test/functional/no_uses_controller_test.rb | 98 +- .../notificationcomments_controller_test.rb | 14 +- .../open_source_projects_controller_test.rb | 98 +- test/functional/school_controller_test.rb | 14 +- .../softapplications_controller_test.rb | 98 +- test/functional/test_controller_test.rb | 26 +- test/functional/user_score_controller_test.rb | 14 +- test/functional/zipdown_controller_test.rb | 14 +- test/performance/browsing_test.rb | 24 +- test/unit/applied_project_test.rb | 14 +- test/unit/apply_project_master_test.rb | 14 +- test/unit/attachmentstype_test.rb | 14 +- test/unit/bug_to_osp_test.rb | 14 +- test/unit/contesting_softapplication_test.rb | 14 +- test/unit/contestnotification_test.rb | 14 +- test/unit/course_infos_test.rb | 14 +- test/unit/course_status_test.rb | 14 +- test/unit/forum_test.rb | 14 +- .../helpers/applied_project_helper_test.rb | 8 +- .../apply_project_masters_helper_test.rb | 8 +- .../attachment_type_edit_helper_test.rb | 8 +- .../contestnotifications_helper_test.rb | 8 +- test/unit/helpers/courses_helper_test.rb | 24 +- test/unit/helpers/forums_helper_test.rb | 8 +- test/unit/helpers/memos_helper_test.rb | 8 +- test/unit/helpers/no_uses_helper_test.rb | 8 +- .../notificationcomments_helper_test.rb | 8 +- .../open_source_projects_helper_test.rb | 8 +- test/unit/helpers/school_helper_test.rb | 8 +- .../helpers/softapplications_helper_test.rb | 8 +- test/unit/helpers/stores_helper_test.rb | 8 +- test/unit/helpers/test_helper_test.rb | 8 +- test/unit/helpers/zipdown_helper_test.rb | 8 +- test/unit/join_in_contest_test.rb | 14 +- test/unit/journal_reply_test.rb | 14 +- test/unit/memo_test.rb | 34 +- test/unit/no_use_test.rb | 14 +- test/unit/notificationcomments_test.rb | 14 +- test/unit/open_source_project_test.rb | 14 +- test/unit/relative_memo_test.rb | 14 +- ...lative_memo_to_open_source_project_test.rb | 14 +- test/unit/school_test.rb | 14 +- test/unit/softapplication_test.rb | 14 +- test/unit/user_score_details_test.rb | 14 +- tmp/plugins/README | 2 +- 103 files changed, 6765 insertions(+), 6765 deletions(-) diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/mac_os_x_dialog.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/mac_os_x_dialog.css index e663e3c5e..4c89f602d 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/mac_os_x_dialog.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/mac_os_x_dialog.css @@ -1,160 +1,160 @@ -.overlay_mac_os_x_dialog { - background-color: #FF7224; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -.mac_os_x_dialog_nw { - background: transparent url(mac_os_x_dialog/L.png) repeat-y top left; - width:16px; - height:16px; -} - -.mac_os_x_dialog_n { - background: transparent url(mac_os_x_dialog/bg.gif) repeat 0 0; - height:18px; -} - -.mac_os_x_dialog_ne { - background: transparent url(mac_os_x_dialog/R.png) repeat-y top left; - width:16px; - height:16px; -} - -.mac_os_x_dialog_w { - background: transparent url(mac_os_x_dialog/L.png) repeat-y top left; - width:16px; -} - -.mac_os_x_dialog_e { - background: transparent url(mac_os_x_dialog/R.png) repeat-y top right; - width:16px; -} - -.mac_os_x_dialog_sw { - background: transparent url(mac_os_x_dialog/BL.png) no-repeat 0 0; - width:31px; - height:40px; -} - -.mac_os_x_dialog_s { - background: transparent url(mac_os_x_dialog/B.png) repeat-x 0 0; - height:40px; -} - -.mac_os_x_dialog_se, .mac_os_x_dialog_sizer { - background: transparent url(mac_os_x_dialog/BR.png) no-repeat 0 0; - width:31px; - height:40px; -} - -.mac_os_x_dialog_sizer { - cursor:se-resize; -} - -.mac_os_x_dialog_close { - width: 19px; - height: 19px; - background: transparent url(mac_os_x_dialog/close.gif) no-repeat 0 0; - position:absolute; - top:12px; - left:25px; - cursor:pointer; - z-index:1000; -} - -.mac_os_x_dialog_minimize { - width: 19px; - height: 19px; - background: transparent url(mac_os_x_dialog/minimize.gif) no-repeat 0 0; - position:absolute; - top:12px; - left:45px; - cursor:pointer; - z-index:1000; -} - -.mac_os_x_dialog_maximize { - width: 19px; - height: 19px; - background: transparent url(mac_os_x_dialog/maximize.gif) no-repeat 0 0; - position:absolute; - top:12px; - left:65px; - cursor:pointer; - z-index:1000; -} - -.mac_os_x_dialog_title { - float:left; - height:14px; - font-family: Tahoma, Arial, sans-serif; - font-size:12px; - text-align:center; - margin-top:6px; - width:100%; - color:#000; -} - -.mac_os_x_dialog_content { - overflow:auto; - color: #222; - font-family: Tahoma, Arial, sans-serif; - font-size: 10px; - background: transparent url(mac_os_x_dialog/bg.gif) repeat 0 0; -} - -.mac_os_x_dialog_buttons { - text-align: center; -} -/* FOR IE */ -* html .mac_os_x_dialog_nw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/L.png", sizingMethod="scale"); -} - - -* html .mac_os_x_dialog_ne { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/R.png", sizingMethod="scale"); -} - -* html .mac_os_x_dialog_w { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/L.png", sizingMethod="scale"); -} - -* html .mac_os_x_dialog_e { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/R.png", sizingMethod="scale"); -} - -* html .mac_os_x_dialog_sw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BL.png", sizingMethod="crop"); -} - -* html .mac_os_x_dialog_s { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/B.png", sizingMethod="scale"); -} - -* html .mac_os_x_dialog_se { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BR.png", sizingMethod="crop"); -} - -* html .mac_os_x_dialog_sizer { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BR.png", sizingMethod="crop"); -} - +.overlay_mac_os_x_dialog { + background-color: #FF7224; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +.mac_os_x_dialog_nw { + background: transparent url(mac_os_x_dialog/L.png) repeat-y top left; + width:16px; + height:16px; +} + +.mac_os_x_dialog_n { + background: transparent url(mac_os_x_dialog/bg.gif) repeat 0 0; + height:18px; +} + +.mac_os_x_dialog_ne { + background: transparent url(mac_os_x_dialog/R.png) repeat-y top left; + width:16px; + height:16px; +} + +.mac_os_x_dialog_w { + background: transparent url(mac_os_x_dialog/L.png) repeat-y top left; + width:16px; +} + +.mac_os_x_dialog_e { + background: transparent url(mac_os_x_dialog/R.png) repeat-y top right; + width:16px; +} + +.mac_os_x_dialog_sw { + background: transparent url(mac_os_x_dialog/BL.png) no-repeat 0 0; + width:31px; + height:40px; +} + +.mac_os_x_dialog_s { + background: transparent url(mac_os_x_dialog/B.png) repeat-x 0 0; + height:40px; +} + +.mac_os_x_dialog_se, .mac_os_x_dialog_sizer { + background: transparent url(mac_os_x_dialog/BR.png) no-repeat 0 0; + width:31px; + height:40px; +} + +.mac_os_x_dialog_sizer { + cursor:se-resize; +} + +.mac_os_x_dialog_close { + width: 19px; + height: 19px; + background: transparent url(mac_os_x_dialog/close.gif) no-repeat 0 0; + position:absolute; + top:12px; + left:25px; + cursor:pointer; + z-index:1000; +} + +.mac_os_x_dialog_minimize { + width: 19px; + height: 19px; + background: transparent url(mac_os_x_dialog/minimize.gif) no-repeat 0 0; + position:absolute; + top:12px; + left:45px; + cursor:pointer; + z-index:1000; +} + +.mac_os_x_dialog_maximize { + width: 19px; + height: 19px; + background: transparent url(mac_os_x_dialog/maximize.gif) no-repeat 0 0; + position:absolute; + top:12px; + left:65px; + cursor:pointer; + z-index:1000; +} + +.mac_os_x_dialog_title { + float:left; + height:14px; + font-family: Tahoma, Arial, sans-serif; + font-size:12px; + text-align:center; + margin-top:6px; + width:100%; + color:#000; +} + +.mac_os_x_dialog_content { + overflow:auto; + color: #222; + font-family: Tahoma, Arial, sans-serif; + font-size: 10px; + background: transparent url(mac_os_x_dialog/bg.gif) repeat 0 0; +} + +.mac_os_x_dialog_buttons { + text-align: center; +} +/* FOR IE */ +* html .mac_os_x_dialog_nw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/L.png", sizingMethod="scale"); +} + + +* html .mac_os_x_dialog_ne { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/R.png", sizingMethod="scale"); +} + +* html .mac_os_x_dialog_w { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/L.png", sizingMethod="scale"); +} + +* html .mac_os_x_dialog_e { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/R.png", sizingMethod="scale"); +} + +* html .mac_os_x_dialog_sw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BL.png", sizingMethod="crop"); +} + +* html .mac_os_x_dialog_s { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/B.png", sizingMethod="scale"); +} + +* html .mac_os_x_dialog_se { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BR.png", sizingMethod="crop"); +} + +* html .mac_os_x_dialog_sizer { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/mac_os_x_dialog/BR.png", sizingMethod="crop"); +} + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/nuncio.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/nuncio.css index 2c439bd00..e2700e5b7 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/nuncio.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/nuncio.css @@ -1,164 +1,164 @@ -.overlay_nuncio img { border: none; } - -.overlay_nuncio { - background-color: #666666; -} - -.nuncio_nw { - width: 12px; - height: 28px; - background: url(nuncio/top_left.png) no-repeat; -} - -.nuncio_n { - background: url(nuncio/top_mid.png) repeat-x; - height: 28px; -} - -.nuncio_ne { - width: 21px; - height: 28px; - background: url(nuncio/top_right.png) no-repeat; -} - -.nuncio_e { - width: 21px; - background: url(nuncio/center_right.png) repeat-y top right; -} - -.nuncio_w { - width: 12px; - background: url(nuncio/center_left.png) repeat-y top left; -} - -.nuncio_sw { - width: 12px; - height: 18px; - background: url(nuncio/bottom_left.png) no-repeat; -} - -.nuncio_s { - background: url(nuncio/bottom_mid.png) repeat-x 0 0; - height: 18px; -} - -.nuncio_se, .nuncio_sizer { - width: 21px; - height: 18px; - background: url(nuncio/bottom_right.png) no-repeat; -} - -.nuncio_close { - width: 14px; - height: 14px; - background: url(nuncio/close.png) no-repeat; - position:absolute; - top:10px; - right:22px; - cursor:pointer; - z-index:2000; -} - -.nuncio_minimize { - width: 14px; - height: 15px; - background: url(nuncio/minimize.png) no-repeat; - position:absolute; - top:10px; - right:40px; - cursor:pointer; - z-index:2000; -} - -.nuncio_title { - float:left; - font-size:11px; - font-weight: bold; - font-style: italic; - color: #fff; - width: 100% -} - -.nuncio_content { - background: url(nuncio/overlay.png) repeat; - overflow:auto; - color: #ddd; - font-family: Tahoma, Arial, "sans-serif"; - font-size: 10px; -} - -.nuncio_sizer { - cursor:se-resize; -} - - -.top_draggable, .bottom_draggable { - cursor:move -} -/* FOR IE */ -* html .nuncio_nw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_left.png", sizingMethod="crop"); -} - -* html .nuncio_n { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_mid.png", sizingMethod="scale"); -} - -* html .nuncio_ne { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_right.png", sizingMethod="crop"); -} - -* html .nuncio_w { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/center_left.png", sizingMethod="scale"); -} - -* html .nuncio_e { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/center_right.png", sizingMethod="scale"); -} - -* html .nuncio_sw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_left.png", sizingMethod="crop"); -} - -* html .nuncio_s { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_mid.png", sizingMethod="scale"); -} - -* html .nuncio_se { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_right.png", sizingMethod="crop"); -} - -* html .nuncio_sizer { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_right.png", sizingMethod="crop"); -} - -* html .nuncio_close { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/close.png", sizingMethod="crop"); -} - -* html .nuncio_minimize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/minimize.png", sizingMethod="crop"); -} - +.overlay_nuncio img { border: none; } + +.overlay_nuncio { + background-color: #666666; +} + +.nuncio_nw { + width: 12px; + height: 28px; + background: url(nuncio/top_left.png) no-repeat; +} + +.nuncio_n { + background: url(nuncio/top_mid.png) repeat-x; + height: 28px; +} + +.nuncio_ne { + width: 21px; + height: 28px; + background: url(nuncio/top_right.png) no-repeat; +} + +.nuncio_e { + width: 21px; + background: url(nuncio/center_right.png) repeat-y top right; +} + +.nuncio_w { + width: 12px; + background: url(nuncio/center_left.png) repeat-y top left; +} + +.nuncio_sw { + width: 12px; + height: 18px; + background: url(nuncio/bottom_left.png) no-repeat; +} + +.nuncio_s { + background: url(nuncio/bottom_mid.png) repeat-x 0 0; + height: 18px; +} + +.nuncio_se, .nuncio_sizer { + width: 21px; + height: 18px; + background: url(nuncio/bottom_right.png) no-repeat; +} + +.nuncio_close { + width: 14px; + height: 14px; + background: url(nuncio/close.png) no-repeat; + position:absolute; + top:10px; + right:22px; + cursor:pointer; + z-index:2000; +} + +.nuncio_minimize { + width: 14px; + height: 15px; + background: url(nuncio/minimize.png) no-repeat; + position:absolute; + top:10px; + right:40px; + cursor:pointer; + z-index:2000; +} + +.nuncio_title { + float:left; + font-size:11px; + font-weight: bold; + font-style: italic; + color: #fff; + width: 100% +} + +.nuncio_content { + background: url(nuncio/overlay.png) repeat; + overflow:auto; + color: #ddd; + font-family: Tahoma, Arial, "sans-serif"; + font-size: 10px; +} + +.nuncio_sizer { + cursor:se-resize; +} + + +.top_draggable, .bottom_draggable { + cursor:move +} +/* FOR IE */ +* html .nuncio_nw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_left.png", sizingMethod="crop"); +} + +* html .nuncio_n { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_mid.png", sizingMethod="scale"); +} + +* html .nuncio_ne { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/top_right.png", sizingMethod="crop"); +} + +* html .nuncio_w { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/center_left.png", sizingMethod="scale"); +} + +* html .nuncio_e { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/center_right.png", sizingMethod="scale"); +} + +* html .nuncio_sw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_left.png", sizingMethod="crop"); +} + +* html .nuncio_s { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_mid.png", sizingMethod="scale"); +} + +* html .nuncio_se { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_right.png", sizingMethod="crop"); +} + +* html .nuncio_sizer { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/bottom_right.png", sizingMethod="crop"); +} + +* html .nuncio_close { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/close.png", sizingMethod="crop"); +} + +* html .nuncio_minimize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/nuncio/minimize.png", sizingMethod="crop"); +} + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/spread.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/spread.css index 9bda2a68d..d7d722e8a 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/spread.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/spread.css @@ -1,108 +1,108 @@ -.overlay_spread { - background-color: #85BBEF; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -.spread_nw { - background: transparent url(spread/left-top.gif) no-repeat 0 0; - width:10px; - height:25px; -} - -.spread_n { - background: transparent url(spread/top-middle.gif) repeat-x 0 0; - height:25px; -} - -.spread_ne { - background: transparent url(spread/right-top.gif) no-repeat 0 0; - width:10px; - height:25px; -} - -.spread_w { - background: transparent url(spread/frame-left.gif) repeat-y top left; - width:7px; -} - -.spread_e { - background: transparent url(spread/frame-right.gif) repeat-y top right; - width:7px; -} - -.spread_sw { - background: transparent url(spread/bottom-left-c.gif) no-repeat 0 0; - width:7px; - height:7px; -} - -.spread_s { - background: transparent url(spread/bottom-middle.gif) repeat-x 0 0; - height:7px; -} - -.spread_se, .spread_sizer { - background: transparent url(spread/bottom-right-c.gif) no-repeat 0 0; - width:7px; - height:7px; -} - -.spread_sizer { - cursor:se-resize; -} - -.spread_close { - width: 23px; - height: 23px; - background: transparent url(spread/button-close-focus.gif) no-repeat 0 0; - position:absolute; - top:0px; - right:11px; - cursor:pointer; - z-index:1000; -} - -.spread_minimize { - width: 23px; - height: 23px; - background: transparent url(spread/button-min-focus.gif) no-repeat 0 0; - position:absolute; - top:0px; - right:55px; - cursor:pointer; - z-index:1000; -} - -.spread_maximize { - width: 23px; - height: 23px; - background: transparent url(spread/button-max-focus.gif) no-repeat 0 0; - position:absolute; - top:0px; - right:33px; - cursor:pointer; - z-index:1000; -} - -.spread_title { - float:left; - height:14px; - font-family: Tahoma, Arial, sans-serif; - font-size:14px; - font-weight:bold; - text-align:left; - margin-top:2px; - width:100%; - color:#E47211; -} - -.spread_content { - overflow:auto; - color: #222; - font-family: Tahoma, Arial, sans-serif; - font-size: 10px; - background:#A9EA00; -} - +.overlay_spread { + background-color: #85BBEF; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +.spread_nw { + background: transparent url(spread/left-top.gif) no-repeat 0 0; + width:10px; + height:25px; +} + +.spread_n { + background: transparent url(spread/top-middle.gif) repeat-x 0 0; + height:25px; +} + +.spread_ne { + background: transparent url(spread/right-top.gif) no-repeat 0 0; + width:10px; + height:25px; +} + +.spread_w { + background: transparent url(spread/frame-left.gif) repeat-y top left; + width:7px; +} + +.spread_e { + background: transparent url(spread/frame-right.gif) repeat-y top right; + width:7px; +} + +.spread_sw { + background: transparent url(spread/bottom-left-c.gif) no-repeat 0 0; + width:7px; + height:7px; +} + +.spread_s { + background: transparent url(spread/bottom-middle.gif) repeat-x 0 0; + height:7px; +} + +.spread_se, .spread_sizer { + background: transparent url(spread/bottom-right-c.gif) no-repeat 0 0; + width:7px; + height:7px; +} + +.spread_sizer { + cursor:se-resize; +} + +.spread_close { + width: 23px; + height: 23px; + background: transparent url(spread/button-close-focus.gif) no-repeat 0 0; + position:absolute; + top:0px; + right:11px; + cursor:pointer; + z-index:1000; +} + +.spread_minimize { + width: 23px; + height: 23px; + background: transparent url(spread/button-min-focus.gif) no-repeat 0 0; + position:absolute; + top:0px; + right:55px; + cursor:pointer; + z-index:1000; +} + +.spread_maximize { + width: 23px; + height: 23px; + background: transparent url(spread/button-max-focus.gif) no-repeat 0 0; + position:absolute; + top:0px; + right:33px; + cursor:pointer; + z-index:1000; +} + +.spread_title { + float:left; + height:14px; + font-family: Tahoma, Arial, sans-serif; + font-size:14px; + font-weight:bold; + text-align:left; + margin-top:2px; + width:100%; + color:#E47211; +} + +.spread_content { + overflow:auto; + color: #222; + font-family: Tahoma, Arial, sans-serif; + font-size: 10px; + background:#A9EA00; +} + diff --git a/public/statistics/trustie2/gitstats.css b/public/statistics/trustie2/gitstats.css index 2e401fe1f..2abdaf858 100644 --- a/public/statistics/trustie2/gitstats.css +++ b/public/statistics/trustie2/gitstats.css @@ -1,154 +1,154 @@ -/** - * GitStats - default style - */ -body { - color: black; - background-color: #fff; -} - -dt { - font-size: 12px; - font-weight: bold; - float: left; - margin-right: 1em; - margin-left: 10px; -} - -dt:after { - content: ': '; -} - -dd { - font-size: 11px; - display: block; - clear: left; -} - -table { - border: 1px solid black; - border-collapse: collapse; - font-size: 70%; - margin-bottom: 1em; -} - -table.noborders { - border: none; -} - -table.noborders td { - border: none; -} - -.vtable { - float: right; - clear: both; -} - -table.tags td { - vertical-align: top; -} - -th { - background-color: #ddf; -} - -th a { - text-decoration: none; -} - -tr:hover { - background-color: #ddf; -} - -td { - border: 1px solid black; - padding: 0.2em; - padding-left: 0.3em; - padding-right: 0.2em; -} - -/* Navigation bar; tabbed style */ -.nav { - height: 2em; margin-bottom:1.2em; position:relative; overflow:hidden;margin-top: -10px; -} - -.nav ul { - margin:0; position:absolute; bottom:0; padding-left:0.5em; -} - -.nav li { - float:left; - list-style-type:none; - white-space:nowrap; - margin-right:0px; - background:#fff; - position:relative; - margin-bottom:5px; -} - -.nav li a { - font-size: 0.8em; - text-decoration:none; - line-height:1.3em; - padding:2px 6px 2px 6px; - border: 1px solid #ccc; - border-bottom: 1px solid #bbbbbb; - background-color:#FFFFFF; - color:#999; - font-weight:bold; - border-top-left-radius:3px; - border-top-right-radius:3px; -} - -.nav li a:hover { - background-color: #cacbcb; - text-decoration:none; -} - -img { - border: 1px solid black; - padding: 0.5em; - background-color: white; -} - -th img { - border: 0px; - padding: 0px; - background-color: #ddf; -} - -h1 a, h2 a { - color: black; - text-decoration: none; -} - -h1:hover a:after, -h2:hover a:after { - color: #555; -} - -h1 { - font-size: x-large; -} - -h2 { - background-color: #C6E9F1; - border: 1px solid #C6E9F1; - padding-left: 0.5em; - padding-right: 0.5em; - color: black; - font-size: 0.8em; - clear: both; -} - -h2 a { - color: black; -} - -p{ - font-size: 0.7em; -} - -.moreauthors { - font-size: 70%; -} +/** + * GitStats - default style + */ +body { + color: black; + background-color: #fff; +} + +dt { + font-size: 12px; + font-weight: bold; + float: left; + margin-right: 1em; + margin-left: 10px; +} + +dt:after { + content: ': '; +} + +dd { + font-size: 11px; + display: block; + clear: left; +} + +table { + border: 1px solid black; + border-collapse: collapse; + font-size: 70%; + margin-bottom: 1em; +} + +table.noborders { + border: none; +} + +table.noborders td { + border: none; +} + +.vtable { + float: right; + clear: both; +} + +table.tags td { + vertical-align: top; +} + +th { + background-color: #ddf; +} + +th a { + text-decoration: none; +} + +tr:hover { + background-color: #ddf; +} + +td { + border: 1px solid black; + padding: 0.2em; + padding-left: 0.3em; + padding-right: 0.2em; +} + +/* Navigation bar; tabbed style */ +.nav { + height: 2em; margin-bottom:1.2em; position:relative; overflow:hidden;margin-top: -10px; +} + +.nav ul { + margin:0; position:absolute; bottom:0; padding-left:0.5em; +} + +.nav li { + float:left; + list-style-type:none; + white-space:nowrap; + margin-right:0px; + background:#fff; + position:relative; + margin-bottom:5px; +} + +.nav li a { + font-size: 0.8em; + text-decoration:none; + line-height:1.3em; + padding:2px 6px 2px 6px; + border: 1px solid #ccc; + border-bottom: 1px solid #bbbbbb; + background-color:#FFFFFF; + color:#999; + font-weight:bold; + border-top-left-radius:3px; + border-top-right-radius:3px; +} + +.nav li a:hover { + background-color: #cacbcb; + text-decoration:none; +} + +img { + border: 1px solid black; + padding: 0.5em; + background-color: white; +} + +th img { + border: 0px; + padding: 0px; + background-color: #ddf; +} + +h1 a, h2 a { + color: black; + text-decoration: none; +} + +h1:hover a:after, +h2:hover a:after { + color: #555; +} + +h1 { + font-size: x-large; +} + +h2 { + background-color: #C6E9F1; + border: 1px solid #C6E9F1; + padding-left: 0.5em; + padding-right: 0.5em; + color: black; + font-size: 0.8em; + clear: both; +} + +h2 a { + color: black; +} + +p{ + font-size: 0.7em; +} + +.moreauthors { + font-size: 70%; +} diff --git a/public/statistics/trustie2/index.html b/public/statistics/trustie2/index.html index 950f664bc..7b6e32f0d 100644 --- a/public/statistics/trustie2/index.html +++ b/public/statistics/trustie2/index.html @@ -1,20 +1,20 @@ - - - - - - - - - - - -

项目信息(Project Information)

-
项目名(Project name)
trustie2
统计时段(Report Period)
2013-08-01 02:33:49 to 2013-08-23 22:41:30
项目活跃时段(Project Active Period)
2013-08-01 02:33:49 to 2013-08-09 09:24:38 (9 days)
-

代码文件信息(Files Information of Code)

- -
文件类型(File Type)文件数(Files Number)代码行数(Lines Number of Code)
.rb67759777
.erb42310688
.js1093891
.yml7752743
.css235820
.py1196
.c00
.html5334
.php2700
代码文件总数(Total files number of Code)
1317
代码总数(Total Lines number of Code)
134149
修改代码总数(Total Modified Lines Number of Code)
3197 (5961 added, 2764 removed)
-

作者信息(Authors Information)

- -
作者名(Author Name)提交次数及占百分比(Commits)(%)增加代码行数(+ lines)删除代码行数(- lines)首次提交日期(First commit)最后一次提交日期(Last commit)活跃年龄(Age)活跃天数(Active days)#提交排名(# by commits)
zhangyang27 (26.73%)6533592013-08-012013-08-076 days, 2:35:4271
huangjingquan21 (20.79%)8385082013-08-012013-08-098 days, 4:34:4882
nieguanghui20 (19.80%)11695682013-08-012013-08-097 days, 21:52:0673
fanqiang17 (16.83%)246715952013-08-012013-08-097 days, 20:37:3894
william9 (8.91%)16141692013-08-012013-08-087 days, 1:46:5445
kaizheng6 (5.94%)809682013-08-012013-08-097 days, 20:04:0146
wanglinchun1 (0.99%)742013-08-072013-08-070:00:0017
作者总数(Authors Number)
7
提交总数(Total Commits Number)
101 (average 11.2 commits per active day, 11.2 per all days)
+ + + + + + + + + + + +

项目信息(Project Information)

+
项目名(Project name)
trustie2
统计时段(Report Period)
2013-08-01 02:33:49 to 2013-08-23 22:41:30
项目活跃时段(Project Active Period)
2013-08-01 02:33:49 to 2013-08-09 09:24:38 (9 days)
+

代码文件信息(Files Information of Code)

+ +
文件类型(File Type)文件数(Files Number)代码行数(Lines Number of Code)
.rb67759777
.erb42310688
.js1093891
.yml7752743
.css235820
.py1196
.c00
.html5334
.php2700
代码文件总数(Total files number of Code)
1317
代码总数(Total Lines number of Code)
134149
修改代码总数(Total Modified Lines Number of Code)
3197 (5961 added, 2764 removed)
+

作者信息(Authors Information)

+ +
作者名(Author Name)提交次数及占百分比(Commits)(%)增加代码行数(+ lines)删除代码行数(- lines)首次提交日期(First commit)最后一次提交日期(Last commit)活跃年龄(Age)活跃天数(Active days)#提交排名(# by commits)
zhangyang27 (26.73%)6533592013-08-012013-08-076 days, 2:35:4271
huangjingquan21 (20.79%)8385082013-08-012013-08-098 days, 4:34:4882
nieguanghui20 (19.80%)11695682013-08-012013-08-097 days, 21:52:0673
fanqiang17 (16.83%)246715952013-08-012013-08-097 days, 20:37:3894
william9 (8.91%)16141692013-08-012013-08-087 days, 1:46:5445
kaizheng6 (5.94%)809682013-08-012013-08-097 days, 20:04:0146
wanglinchun1 (0.99%)742013-08-072013-08-070:00:0017
作者总数(Authors Number)
7
提交总数(Total Commits Number)
101 (average 11.2 commits per active day, 11.2 per all days)
\ No newline at end of file diff --git a/public/statistics/trustie2/sortable.js b/public/statistics/trustie2/sortable.js index 89477324a..a4dead800 100644 --- a/public/statistics/trustie2/sortable.js +++ b/public/statistics/trustie2/sortable.js @@ -1,324 +1,324 @@ -/* -Table sorting script by Joost de Valk, check it out at http://www.joostdevalk.nl/code/sortable-table/. -Based on a script from http://www.kryogenix.org/code/browser/sorttable/. -Distributed under the MIT license: http://www.kryogenix.org/code/browser/licence.html . - -Copyright (c) 1997-2007 Stuart Langridge, Joost de Valk. - -Version 1.5.7 -*/ - -/* You can change these values */ -var image_path = ""; -var image_up = "arrow-up.gif"; -var image_down = "arrow-down.gif"; -var image_none = "arrow-none.gif"; -var europeandate = true; -var alternate_row_colors = true; - -/* Don't change anything below this unless you know what you're doing */ -addEvent(window, "load", sortables_init); - -var SORT_COLUMN_INDEX; -var thead = false; - -function sortables_init() { - // Find all tables with class sortable and make them sortable - if (!document.getElementsByTagName) return; - tbls = document.getElementsByTagName("table"); - for (ti=0;ti 0) { - if (t.tHead && t.tHead.rows.length > 0) { - var firstRow = t.tHead.rows[t.tHead.rows.length-1]; - thead = true; - } else { - var firstRow = t.rows[0]; - } - } - if (!firstRow) return; - - // We have a first row: assume it's the header, and make its contents clickable links - for (var i=0;i'+txt+'  ↓'; - } - } - if (alternate_row_colors) { - alternate(t); - } -} - -function ts_getInnerText(el) { - if (typeof el == "string") return el; - if (typeof el == "undefined") { return el }; - if (el.innerText) return el.innerText; //Not needed but it is faster - var str = ""; - - var cs = el.childNodes; - var l = cs.length; - for (var i = 0; i < l; i++) { - switch (cs[i].nodeType) { - case 1: //ELEMENT_NODE - str += ts_getInnerText(cs[i]); - break; - case 3: //TEXT_NODE - str += cs[i].nodeValue; - break; - } - } - return str; -} - -function ts_resortTable(lnk, clid) { - var span; - for (var ci=0;ci'; - newRows.reverse(); - span.setAttribute('sortdir','up'); - } else { - ARROW = '  ↑'; - span.setAttribute('sortdir','down'); - } - // We appendChild rows that already exist to the tbody, so it moves them rather than creating new ones - // don't do sortbottom rows - for (i=0; i'; - } - } - } - span.innerHTML = ARROW; - alternate(t); -} - -function getParent(el, pTagName) { - if (el == null) { - return null; - } else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()) { - return el; - } else { - return getParent(el.parentNode, pTagName); - } -} - -function sort_date(date) { - // y2k notes: two digit years less than 50 are treated as 20XX, greater than 50 are treated as 19XX - dt = "00000000"; - if (date.length == 11) { - mtstr = date.substr(3,3); - mtstr = mtstr.toLowerCase(); - switch(mtstr) { - case "jan": var mt = "01"; break; - case "feb": var mt = "02"; break; - case "mar": var mt = "03"; break; - case "apr": var mt = "04"; break; - case "may": var mt = "05"; break; - case "jun": var mt = "06"; break; - case "jul": var mt = "07"; break; - case "aug": var mt = "08"; break; - case "sep": var mt = "09"; break; - case "oct": var mt = "10"; break; - case "nov": var mt = "11"; break; - case "dec": var mt = "12"; break; - // default: var mt = "00"; - } - dt = date.substr(7,4)+mt+date.substr(0,2); - return dt; - } else if (date.length == 10) { - if (europeandate == false) { - dt = date.substr(6,4)+date.substr(0,2)+date.substr(3,2); - return dt; - } else { - dt = date.substr(6,4)+date.substr(3,2)+date.substr(0,2); - return dt; - } - } else if (date.length == 8) { - yr = date.substr(6,2); - if (parseInt(yr) < 50) { - yr = '20'+yr; - } else { - yr = '19'+yr; - } - if (europeandate == true) { - dt = yr+date.substr(3,2)+date.substr(0,2); - return dt; - } else { - dt = yr+date.substr(0,2)+date.substr(3,2); - return dt; - } - } - return dt; -} - -function ts_sort_date(a,b) { - dt1 = sort_date(ts_getInnerText(a.cells[SORT_COLUMN_INDEX])); - dt2 = sort_date(ts_getInnerText(b.cells[SORT_COLUMN_INDEX])); - - if (dt1==dt2) { - return 0; - } - if (dt1 0) { + if (t.tHead && t.tHead.rows.length > 0) { + var firstRow = t.tHead.rows[t.tHead.rows.length-1]; + thead = true; + } else { + var firstRow = t.rows[0]; + } + } + if (!firstRow) return; + + // We have a first row: assume it's the header, and make its contents clickable links + for (var i=0;i'+txt+'  ↓'; + } + } + if (alternate_row_colors) { + alternate(t); + } +} + +function ts_getInnerText(el) { + if (typeof el == "string") return el; + if (typeof el == "undefined") { return el }; + if (el.innerText) return el.innerText; //Not needed but it is faster + var str = ""; + + var cs = el.childNodes; + var l = cs.length; + for (var i = 0; i < l; i++) { + switch (cs[i].nodeType) { + case 1: //ELEMENT_NODE + str += ts_getInnerText(cs[i]); + break; + case 3: //TEXT_NODE + str += cs[i].nodeValue; + break; + } + } + return str; +} + +function ts_resortTable(lnk, clid) { + var span; + for (var ci=0;ci'; + newRows.reverse(); + span.setAttribute('sortdir','up'); + } else { + ARROW = '  ↑'; + span.setAttribute('sortdir','down'); + } + // We appendChild rows that already exist to the tbody, so it moves them rather than creating new ones + // don't do sortbottom rows + for (i=0; i'; + } + } + } + span.innerHTML = ARROW; + alternate(t); +} + +function getParent(el, pTagName) { + if (el == null) { + return null; + } else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()) { + return el; + } else { + return getParent(el.parentNode, pTagName); + } +} + +function sort_date(date) { + // y2k notes: two digit years less than 50 are treated as 20XX, greater than 50 are treated as 19XX + dt = "00000000"; + if (date.length == 11) { + mtstr = date.substr(3,3); + mtstr = mtstr.toLowerCase(); + switch(mtstr) { + case "jan": var mt = "01"; break; + case "feb": var mt = "02"; break; + case "mar": var mt = "03"; break; + case "apr": var mt = "04"; break; + case "may": var mt = "05"; break; + case "jun": var mt = "06"; break; + case "jul": var mt = "07"; break; + case "aug": var mt = "08"; break; + case "sep": var mt = "09"; break; + case "oct": var mt = "10"; break; + case "nov": var mt = "11"; break; + case "dec": var mt = "12"; break; + // default: var mt = "00"; + } + dt = date.substr(7,4)+mt+date.substr(0,2); + return dt; + } else if (date.length == 10) { + if (europeandate == false) { + dt = date.substr(6,4)+date.substr(0,2)+date.substr(3,2); + return dt; + } else { + dt = date.substr(6,4)+date.substr(3,2)+date.substr(0,2); + return dt; + } + } else if (date.length == 8) { + yr = date.substr(6,2); + if (parseInt(yr) < 50) { + yr = '20'+yr; + } else { + yr = '19'+yr; + } + if (europeandate == true) { + dt = yr+date.substr(3,2)+date.substr(0,2); + return dt; + } else { + dt = yr+date.substr(0,2)+date.substr(3,2); + return dt; + } + } + return dt; +} + +function ts_sort_date(a,b) { + dt1 = sort_date(ts_getInnerText(a.cells[SORT_COLUMN_INDEX])); + dt2 = sort_date(ts_getInnerText(b.cells[SORT_COLUMN_INDEX])); + + if (dt1==dt2) { + return 0; + } + if (dt1 span{ - text-align: justify; - width: 180px; -} -.font_lighter_sidebar{ - /*font-family:微软雅黑;*/ - color:#919294; - font-size:13px; - padding-left: 12px; - padding-right: 8px; - line-height: 1.5em; -} -.created_on_project{ - padding-left: 12px; - padding-bottom: 5px; -} -.font_description{ - font-size:14px; - line-height: 1.5em; - -} -.font_description2{ - font-size:13px; - line-height: 1.5em; - padding-left: 10px; -} -.font_tool{ - font-family: "Microsoft YaHei"; - font-size:14px; - color: #1a1a1a; - padding-left: 6px; -} - -.spaceleft{float: left; width: 240px;} - -.spaceright{float:left; width:620px;} - -.welcome_left{ - float:left; - display:inline-block; - /*margin-top: 50px;*/ - /*padding-left: 20px;*/ - max-width: 315px; - margin: 0; - padding: 0; - margin-left: 15px; -} - -.welcome_right{ - float:left; - width: 49%; - -} - -.inf_user_motto{ - padding-left:8px; - margin:5px 0px 0px 0px; - padding-top:1px; - background-color:#b8c1c8; - height: auto; -} -/*.user_watcher{ - padding-left:8px; - margin:5px 0px 0px 0px; - height: 220px; - background-color:#bababa; -}*/ - -.user_fans{ - padding-left:0px; - margin:0px; - height: auto; - background-color:#fff; -} -.inf_user_context{ - padding-left:0px; - margin:0px; - padding-top:1px; - background-color:#fff; - height: auto; - /*color:#fff; */ -} - -.user_tags{ - padding-top: 5px; - padding-bottom: 5px; - padding-left: 12px; - padding-right: 12px; -} - -.tool{ - padding-left:0px; - margin:0px 0px 0px 0px; - height: auto; - background-color:#fff; - padding-bottom:0px; -} -.user_private{ - padding-left:8px; - margin:5px 0px 0px 0px; - height: 100px; - background-color:#dbdbde; -} -.user_private_left{ - padding-left:8px; - - float:left; - height: 100px; - width:110px; - background-color:#a5abb4; -} -.user_private_right{ - - margin:0px 0px 0px 5px; - float:left; - height: 100px; - width:115px; - background-color:#adb6c5; -} -.user_underline{ - margin:1; - padding:1; - width:240px; - height:1px; - background-color:#15bccf; - overflow:hidden -} - - - -.user_enterprise_underline{ - margin:1; - padding:1; - width:240px; - height:1px; - background-color:#ac344f; - overflow:hidden -} - -.user_underline2{ - margin:1; - padding:1; - width:240px; - height:1px; - background-color:#c6e9fe; - overflow:hidden -} -.user_underline3{ - margin:1; - padding:1; - width:120px; - height:1px; - background-color:#c6e9fe; - overflow:hidden; - margin-top: 10px; -} -.homepage_underline{ - margin:1; - padding:1; - width:240px; - height:1px; - background-color:#c6e9fe; - overflow:hidden; - margin-top: 0px; - margin-bottom: 20px; -} -.line_under{ - border-bottom: 1px dashed rgb(204, 204, 204); -} -.line_heng{ - width: 670px; - height: 1px; - margin-top:5px; - border: 0px; - background-color:#D5D5D5; - color: #D5D5D5; -} - -ul.user_project_sort{margin:0px; padding-left:0em;} -ul.user_project_sort li{list-style-type:none; - height:auto;} -/**/ - - - -/*h写的样式*/ -.lbadding{float:left; padding-left: 10px} /*huang*/ -.rlbadding{float:left; padding-left: 0px; margin-top:40px} /*huang*/ -/*.lbadding h7{letter-spacing: -0.0125em; font-weight:700}*//*未用*/ -.newsplitcontentright{float:right; width:49%;}/*huang*/ -.newsplitcontentleft{float:left; width:49%;}/*huang*/ -.newsplitcontentall{float:left; padding-left: 30px; width:95%} - -.more{float:right; padding-right:60px; padding-top:20px;text-decoration: underline; color: #95c3bc} -/*字体*/ - -.header_logo_left{ - float: left; - width: 70%; - height: 50px; -} -.header_logo_right{ - padding-left:-50px; - padding-top:-50px; - float: right; - width: 30%; - height: 50px; -} -a.htags{ - background-color: #deebf0; - - border-radius: 5px 5px 5px 5px; - padding: 0px 4px 0px 4px; - margin:0 3px; -} -a.logical_int{ - color: #ed8924; -} - -.contextdescription2 { - font-family: "Microsoft YaHei"; - font-size: 12px; - font-weight: lighter; - color: #7e7e7e; -} -ul.context_projects{margin:0px; padding-left:0em;} - -ul.context_projects ul {padding-left:1.6em;} - -ul.context_projects li { - list-style-type:none; - height:50px; -} -/*字体*/ - -.more{float:right; padding-right:40px; text-decoration: underline; color: #95c3bc} - -/*控制project里面header内容,一排读数*/ -.newprojectheader{ - font-weight: bold; - font-size: 14px; - font-family:"黑体"; - color:#597e95; - /*text-decoration:underline;*/ - padding:10px 0px 10px 20px; -} -/*显示一个区域,多余的隐藏 比如项目描述内容多余部分的隐藏 两行隐藏*/ -.tablecontext{ - /*white-space:nowrap;*/ - overflow: hidden; - - height: 30px; - width: 450px; - margin-right:auto; - - margin-left:auto; - text-align: left; - padding-top:12px; - font-family: arial; - font-size:12px; - font-weight:lighter; - color:#7e7e7e; -} - -.top_description{ - overflow: hidden; - height: 65px; - width: 600px; - color: #7e7e7e; -} -/*显示浅颜色的字体*/ -.fontligher{ - font-family: arial; - font-size:12px; - font-weight:lighter; - color:#505050; - - height: 34px; - width: 500px; - margin-right:auto; - margin-left:auto; - text-align: left; - padding-top:10px; - -} -.documenttext{ /*没用*/ - /*white-space:nowrap;*/ - overflow: hidden; - height: 220px; - width: 100px; - margin-right:auto; - margin-left:auto; - text-align: left; - padding-top:10px; -} -.tablecontext_single{ - white-space:nowrap; - overflow: hidden; - text-overflow:ellipsis; - - width: 450px; - margin-right:auto; - margin-left:auto; - text-align: left; - padding-top:0px; -} -/*单行隐藏不限长度*/ -.alone_sigle{ - white-space:nowrap; - overflow: hidden; - text-overflow:ellipsis; -} -.firstname_project{ /*控制读出的project标题内容*/ - white-space:nowrap; - width: 120px; - - width: 300px; - margin-right:auto; - margin-left:auto; - text-align: left; - padding-top:5px; -} -.firstname_project{ /*控制读出的project标题内容*/ - white-space:nowrap; - width: 100px; - - overflow: hidden; - margin-right:auto; - margin-left:auto; - text-align: left; - - - font-size:24px; - font-weight:bold; - text-decoration:none; - color:#000000; -} -.firdtname_project{ - - font-size:12px; - font-weight:bold; - text-decoration:none; - color:#116699; - - - -} -.lbadding h3{ - color: #1c5c76; - font-size: 16px; - line-height: 19px; - margin-bottom: 0; - margin-top: 0; - text-decoration: underline; -} -.last_active{ - color: #AA9C84; - font-size:12px; - text-decoration: none; -} -ul.newprojects{ /*huang*/ - margin: 0px; - padding-left: 2em; -} -ul.newprojects ul{ - padding-left:1.6em; -} -ul.newprojects li{ /*huang 块状*/ - padding:4%; - background-color:#f5f1e8; - margin:0 0 3px; - display:inline-block; - display:inline-block; - vertical-align:top; - width:200px; - vertical-align:top; - border-bottom:5px #DBEDF4 solid; - border-left:2px dotted #DBEDF4; - min-height:260px; - line-height: 30px; -} -/*ul.newprojects li documenttext{ *//*未wan*/ - /*overflow: hidden;*/ - /*height: 260px;*/ - /*width: 200px;*/ - /*margin-right:auto;*/ - /**/ - /*padding-top:10px;*/ -/*}*/ -ul.newprojects2{ /*huang*/ - margin: 0px; - padding-left: 2em; -} -ul.newprojects2 ul{ - padding-left:1.6em; -} -ul.newprojects2 li{ - list-style-type: none; - line-height: 10px; - } -.newfeedback{ - height: auto; - margin-left: 0px; - margin-bottom: 12px; - border: 0px none !important; -} - -.newfeedback h1{ - color: inherit; -} -/***** Layout *****/ -#wrapper {background: white;} - -#top-menu {background: #3E5B76; color: #000; height:1.8em; font-size: 1.0em; padding: 2px 2px 0px 6px;} -#top-menu ul {margin: 0; padding: 0;} -#top-menu li { - float:left; - list-style-type:none; - margin: 0px 0px 0px 0px; - padding: 0px 0px 0px 0px; - white-space:nowrap; -} -#top-menu a {color: #fff; margin-right: 8px; font-weight: bold;} -#top-menu #loggedas - { - float: right; - - margin-right: 0.5em; - color: #fff; - } - -#account {float:right;} -#account-enterprise{ - float: right; - padding-top: 10px; - padding-right: 347px; - -} -#account-college{ - - float: right; - padding-top: 10px; - padding-right: 302px; - -} - -#header {min-height:5.3em;margin:0;background-color:#628DB6;color:#f8f8f8; padding: 4px 8px 20px 6px; position:relative;} -#header a {color:#f8f8f8;} -#header h1 a.ancestor { font-size: 80%; } -#quick-search {float:right;} - -#main-menu {left:6px;}/*by young*/ -#main-menu ul {margin: 0; padding: 0;} -#main-menu li { - float:left; - list-style-type:none; - margin: 0px 2px 0px 0px; - padding: 0px 0px 0px 0px; - white-space:nowrap; -} -#main-menu li a { - display: block; - color: #039ea0; - text-decoration: none; - font-weight: bold; - margin: 0; - padding: 4px 10px 4px 10px; -} -#main-menu li a:hover {background:#759FCF; color:#fff;} -#main-menu li a.selected, #main-menu li a.selected:hover {background:#fff; color:#555;} - -#admin-menu ul {margin: 0; padding: 0;} -#admin-menu li {margin: 0; padding: 0 0 6px 0; list-style-type:none;} - -#admin-menu a { background-position: 0% 40%; background-repeat: no-repeat; padding-left: 20px; padding-top: 2px; padding-bottom: 3px;} -#admin-menu a.projects { background-image: url(../images/projects.png); } -#admin-menu a.users { background-image: url(../images/user.png); } -#admin-menu a.groups { background-image: url(../images/group.png); } -#admin-menu a.roles { background-image: url(../images/database_key.png); } -#admin-menu a.trackers { background-image: url(../images/ticket.png); } -#admin-menu a.issue_statuses { background-image: url(../images/ticket_edit.png); } -#admin-menu a.workflows { background-image: url(../images/ticket_go.png); } -#admin-menu a.custom_fields { background-image: url(../images/textfield.png); } -#admin-menu a.enumerations { background-image: url(../images/text_list_bullets.png); } -#admin-menu a.settings { background-image: url(../images/changeset.png); } -#admin-menu a.plugins { background-image: url(../images/plugin.png); } -#admin-menu a.info { background-image: url(../images/help.png); } -#admin-menu a.server_authentication { background-image: url(../images/server_key.png); } - -#main {background-color:#EEEEEE;} - -#sidebar{ float: left; width: 22%; position: relative; z-index: 9; padding: 0; margin: 0;}/*by young*/ -* html #sidebar{ width: 22%; } -#sidebar h3{ font-size: 14px; margin-top:14px; color: #666; } -#sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; } -* html #sidebar hr{ width: 95%; position: relative; left: -6px; color: #ccc; } -#sidebar .contextual { margin-right: 1em; } - -#content { }/*by young*/ -* html #content{ width: 75%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;} -html>body #content { min-height: 600px; } -* html body #content { height: 600px; } /* IE */ - -#main.nosidebar #sidebar{ display: none; } -#main.nosidebar #content{ width: auto; border-right: 0; } - - -#footer {clear: both; border-top: 1px solid #bbb; font-size: 0.9em; color: #aaa; padding: 5px; text-align:center; background:#fff;} - -#login-form table {margin-top:5em; padding:1em; margin-left: auto; margin-right: auto; border: 2px solid #FDBF3B; background-color:#FFEBC1; } -#login-form table td {padding: 6px;} -#login-form label {font-weight: bold;} -#login-form input#username, #login-form input#password { width: 300px; } - -div.modal { border-radius:5px; background:#fff; z-index:50; padding:4px;} -div.modal h3.title {display:none;} -div.modal p.buttons {text-align:right; margin-bottom:0;} - -input#openid_url { background: url(../images/openid-bg.gif) no-repeat; background-color: #fff; background-position: 0 50%; padding-left: 18px; } - -.clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; } - -/***** Links *****/ -a, a:link, a:visited{ color: #169; text-decoration: none; } -a:hover, a:active{ color: #c61a1a; text-decoration: underline;} -a img{ border: 0; } - -a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-decoration: line-through; } -a.project.closed, a.project.closed:link, a.project.closed:visited { color: #999; } -a.user.locked, a.user.locked:link, a.user.locked:visited {color: #999;} - -#sidebar a.selected {line-height:1.7em; padding:1px 3px 2px 2px; margin-left:-2px; background-color:#9DB9D5; color:#fff; border-radius:2px;} -#sidebar a.selected:hover {text-decoration:none;} -#admin-menu a {line-height:1.7em;} -#admin-menu a.selected {padding-left: 20px !important; background-position: 2px 40%;} - -a.collapsible {padding-left: 12px; background: url(../images/arrow_expanded.png) no-repeat -3px 40%;} -a.collapsible.collapsed {background: url(../images/arrow_collapsed.png) no-repeat -5px 40%;} - -a#toggle-completed-versions {color:#999;} -/***** Tables *****/ -table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; } -table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; } -table.list td { vertical-align: top; padding-right:10px; } -table.list td.id { width: 2%; text-align: center;} -table.list td.checkbox { width: 15px; padding: 2px 0 0 0; } -table.list td.checkbox input {padding:0px;} -table.list td.buttons { width: 15%; white-space:nowrap; text-align: right; } -table.list td.buttons a { padding-right: 0.6em; } -table.list caption { text-align: left; padding: 0.5em 0.5em 0.5em 0; } - -tr.project td.name a { white-space:nowrap; } -tr.project.closed, tr.project.archived { color: #aaa; } -tr.project.closed a, tr.project.archived a { color: #aaa; } - -tr.project.idnt td.name span {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;} -tr.project.idnt-1 td.name {padding-left: 0.5em;} -tr.project.idnt-2 td.name {padding-left: 2em;} -tr.project.idnt-3 td.name {padding-left: 3.5em;} -tr.project.idnt-4 td.name {padding-left: 5em;} -tr.project.idnt-5 td.name {padding-left: 6.5em;} -tr.project.idnt-6 td.name {padding-left: 8em;} -tr.project.idnt-7 td.name {padding-left: 9.5em;} -tr.project.idnt-8 td.name {padding-left: 11em;} -tr.project.idnt-9 td.name {padding-left: 12.5em;} - -tr.issue { text-align: center; white-space: nowrap; } -tr.issue td.subject, tr.issue td.category, td.assigned_to, tr.issue td.string, tr.issue td.text, tr.issue td.relations { white-space: normal; } -tr.issue td.subject, tr.issue td.relations { text-align: left; } -tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;} -tr.issue td.relations span {white-space: nowrap;} -table.issues td.description {color:#777; font-size:90%; padding:4px 4px 4px 24px; text-align:left; white-space:normal;} -table.issues td.description pre {white-space:normal;} - -tr.issue.idnt td.subject a {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;} -tr.issue.idnt-1 td.subject {padding-left: 0.5em;} -tr.issue.idnt-2 td.subject {padding-left: 2em;} -tr.issue.idnt-3 td.subject {padding-left: 3.5em;} -tr.issue.idnt-4 td.subject {padding-left: 5em;} -tr.issue.idnt-5 td.subject {padding-left: 6.5em;} -tr.issue.idnt-6 td.subject {padding-left: 8em;} -tr.issue.idnt-7 td.subject {padding-left: 9.5em;} -tr.issue.idnt-8 td.subject {padding-left: 11em;} -tr.issue.idnt-9 td.subject {padding-left: 12.5em;} - -tr.entry { border: 1px solid #f8f8f8; } -tr.entry td { white-space: nowrap; } -tr.entry td.filename { width: 30%; } -tr.entry td.filename_no_report { width: 70%; } -tr.entry td.size { text-align: right; font-size: 90%; } -tr.entry td.revision, tr.entry td.author { text-align: center; } -tr.entry td.age { text-align: right; } -tr.entry.file td.filename a { margin-center: 16px; } -tr.entry.file td.filename_no_report a { margin-left: 16px; } - -tr span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;} -tr.open span.expander {background-image: url(../images/bullet_toggle_minus.png);} - -tr.changeset { height: 20px } -tr.changeset ul, ol { margin-top: 0px; margin-bottom: 0px; } -tr.changeset td.revision_graph { width: 15%; background-color: #fffffb; } -tr.changeset td.author { text-align: center; width: 15%; white-space:nowrap;} -tr.changeset td.committed_on { text-align: center; width: 15%; white-space:nowrap;} - -table.files tr.file td { text-align: center; } -table.files tr.file td.filename { text-align: left; padding-left: 24px; } -table.files tr.file td.digest { font-size: 80%; } - -table.members td.roles, table.memberships td.roles { width: 45%; } - -tr.message { height: 2.6em; } -tr.message td.subject { padding-left: 20px; } -tr.message td.created_on { white-space: nowrap; } -tr.message td.last_message { font-size: 80%; white-space: nowrap; } -tr.message.locked td.subject { background: url(../images/locked.png) no-repeat 0 1px; } -tr.message.sticky td.subject { background: url(../images/bullet_go.png) no-repeat 0 1px; font-weight: bold; } - -tr.version.closed, tr.version.closed a { color: #999; } -tr.version td.name { padding-left: 20px; } -tr.version.shared td.name { background: url(../images/link.png) no-repeat 0% 70%; } -tr.version td.date, tr.version td.status, tr.version td.sharing { text-align: center; white-space:nowrap; } - -tr.user td { width:13%; } -tr.user td.email { width:18%; } -tr.user td { white-space: nowrap; } -tr.user.locked, tr.user.registered { color: #aaa; } -tr.user.locked a, tr.user.registered a { color: #aaa; } - -table.permissions td.role {color:#999;font-size:90%;font-weight:normal !important;text-align:center;vertical-align:bottom;} - -tr.wiki-page-version td.updated_on, tr.wiki-page-version td.author {text-align:center;} - -tr.time-entry { text-align: center; white-space: nowrap; } -tr.time-entry td.issue, tr.time-entry td.comments { text-align: left; white-space: normal; } -td.hours { text-align: right; font-weight: bold; padding-right: 0.5em; } -td.hours .hours-dec { font-size: 0.9em; } - -table.plugins td { vertical-align: middle; } -table.plugins td.configure { text-align: right; padding-right: 1em; } -table.plugins span.name { font-weight: bold; display: block; margin-bottom: 6px; } -table.plugins span.description { display: block; font-size: 0.9em; } -table.plugins span.url { display: block; font-size: 0.9em; } - -table.list tbody tr.group td { padding: 0.8em 0 0.5em 0.3em; font-weight: bold; border-bottom: 1px solid #ccc; } -table.list tbody tr.group span.count {position:relative; top:-1px; color:#fff; font-size:10px; background:#9DB9D5; padding:0px 6px 1px 6px; border-radius:3px; margin-left:4px;} -tr.group a.toggle-all { color: #aaa; font-size: 80%; font-weight: normal; display:none;} -tr.group:hover a.toggle-all { display:inline;} -a.toggle-all:hover {text-decoration:none;} - -table.list tbody tr:hover { background-color:#ffffdd; } -table.list tbody tr.group:hover { background-color:inherit; } -table td {padding:2px;} -table p {margin:0;} -.odd {background-color:#f6f7f8;} -.even {background-color: #fff;} - -a.sort { padding-right: 16px; background-position: 100% 50%; background-repeat: no-repeat; } -a.sort.asc { background-image: url(../images/sort_asc.png); } -a.sort.desc { background-image: url(../images/sort_desc.png); } - -table.attributes { width: 100% } -table.attributes th { vertical-align: top; text-align: left; } -table.attributes td { vertical-align: top; } - -/*table.boards a.board, h3.comments {*background: url(../images/comment.png) no-repeat 0% 50%; padding-left: 5px; }*/ -table.boards td.topic-count, table.boards td.message-count {text-align:center;} -table.boards td.last-message {font-size:80%;} - -table.messages td.author, table.messages td.created_on, table.messages td.reply-count {text-align:center;} - -table.query-columns { - border-collapse: collapse; - border: 0; -} - -table.query-columns td.buttons { - vertical-align: middle; - text-align: center; -} - -td.center {text-align:center;} - -h3.version { background: url(../images/package.png) no-repeat 0% 50%; padding-left: 20px; } - -div.issues h3 { background: url(../images/ticket.png) no-repeat 0% 50%; padding-left: 20px; } -div.members h3 { background: url(../images/group.png) no-repeat 0% 50%; padding-left: 20px; } -div.news h3 { background: url(../images/news.png) no-repeat 0% 50%; padding-left: 20px; } -div.projects h3 { background: url(../images/projects.png) no-repeat 0% 50%; padding-left: 20px; } - -#watchers ul {margin: 0; padding: 0;} -#watchers li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;} -#watchers select {width: 95%; display: block;} -#watchers a.delete {opacity: 0.4; vertical-align: middle;} -#watchers a.delete:hover {opacity: 1;} -#watchers img.gravatar {margin: 0 4px 2px 0;} - -span#watchers_inputs {overflow:auto; display:block;} -span.search_for_watchers {display:block;} -span.search_for_watchers, span.add_attachment {font-size:80%; line-height:2.5em;} -span.search_for_watchers a, span.add_attachment a {padding-left:16px; background: url(../images/bullet_add.png) no-repeat 0 50%; } - - -.highlight { background-color: #FCFD8D;} -.highlight.token-1 { background-color: #faa;} -.highlight.token-2 { background-color: #afa;} -.highlight.token-3 { background-color: #aaf;} - -.box{ - padding:6px; - margin-bottom: 10px; - background-color:#f6f6f6; - color:#505050; - line-height:1.5em; - border: 1px solid #e4e4e4; -} - -div.square { - border: 1px solid #999; - float: left; - margin: .3em .4em 0 .4em; - overflow: hidden; - width: .6em; height: .6em; -} -.contextual {float:right; white-space: nowrap; line-height:1.4em;/*margin-top:5px;*/ padding-left: 10px;padding-right: 10px;padding-top: 5px; font-size:0.9em;} -.contextual input, .contextual select {font-size:0.9em;} -.message .contextual { margin-top: 0; } - -.splitcontent {overflow:auto;} -.splitcontentleft{float:left; width:49%;} -/*Added by young*/ - -.hotlist { -padding:0 15px 25px; -} -.splitcontentleft_{float:left; width:33%;} -.splitcontentright_{float:right; width:33%;} -.table{margin-top:10px;margin-left: 100px;} -.table_{margin-top:-10px; -margin-left:-10px; -} - -.splitcontentleft_{float:left; width:33%;} -.splitcontentright_{float:right; width:33%;} -.table{margin-top:10px;margin-left: 100px;} -.table_{margin-top:10px;} - -.table_font{font-size:20px;color:#DD0000} -.registerd_box{padding-left: 600px;} -.project_table{margin:0,0,0,0;margin-bottom:10px;background-color:#0ee;height:50px;} -.project_header_tag{float:right; color:#000000;} - -.project_right_tag{margin-top:44%;} -.project_homepage_tag{float:left; margin-top:9%;color:#000000;} -.project_infor_tag{/*float:auto;*/color:#000000;padding-left: 15px;} -.project_page_tag{float:right;color:#C0C0C0; font-family: '微软雅黑';font-size: 13px;} -.wiki_text{font-size:small;color:#000000;} -.user_setting{float:right; color:#000000;padding-right: 10px;} -.line_color{color:#000000;} - -.project_right_tag{margin-top:40%;} -.project_homepage_tag{padding-left:570px;color:#000000;} -.project_infor_tag{/*float:auto;*/color:#000000;padding-left: 15px; } -.project_page_tag{float:right;color:#C0C0C0; font-family: '微软雅黑';font-size: 13px;} -.wiki_text{font-size:small;color:#000000;} -.user_setting -{ - float:right; - /*color:#000000;*/ - padding-right:10px; - background-color: #CCCCBB; - border-radius: 5px 5px 5px 5px; - color: rgb(58, 88, 125) !important; - padding: 0px 4px; - margin: 3px; - display: inline-block; - font-size: 11px; - text-decoration: none; - cursor: pointer; -} -.line_color{color:#000000;} -.project_description -{ - overflow: hidden; - text-overflow:ellipsis; - width:500px; - height:50px; -} - -/*#header a {font-family:'微软雅黑', Verdana, sans-serif; font-size: 12px; color:#808080;}*/ -#login-form_new table/*Added by young*/ -{ - height: 165px; - padding:20px 25px; - background:#fff; - text-align:left; - - margin-top: 50px; - width:320px; - - /*font-family:微软雅黑,lucida grande,verdana;*/ - font-size:12px; - -webkit-border-radius:10px; - -moz-border-radius:10px; - border-radius:10px; - -moz-box-shadow:0 0 6px #039ea0; - -webkit-box-shadow:0 0 6px #039ea0; - box-shadow:0 0 6px #039ea0; - border:1px solid #AAA; - margin-left:20px; -} -/*end*/ -.splitcontentright{float:right; width:49%;} -form {display: inline;} - -/*added by bai*/ -input[type="submit"].bid_btn { - padding-bottom: 5px; - width: 55px; - height: 25px; - font-family: '微软雅黑', Arial, Helvetica, sans-serif; - font-size: 12px; - color: #fff; - padding: 0px; - background: #15bccf; - border-radius: 4px; - border: 1px solid #15bccf; - box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2), 0px 0px 2px rgb(255, 255, 255) inset; - text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.2), 0px 1px 0px rgb(255, 255, 255); - cursor: pointer; -} - -input[type="button"].bid_btn { - /*padding-bottom: 5px;*/ - width: 55px; - height: 25px; - font-family: '微软雅黑', Arial, Helvetica, sans-serif; - font-size: 12px; - color: #fff; - padding: 0px; - background: #15bccf; - border-radius: 4px; - border: 1px solid #15bccf; - box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2), 0px 0px 2px rgb(255, 255, 255) inset; - text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.2), 0px 1px 0px rgb(255, 255, 255); - cursor: pointer; -} -/*end */ - -fieldset {border: 1px solid #e4e4e4; margin:0;} -legend {color: #484848;} -hr { width: 100%; height: 1px; background: #ccc; border: 0; color:#000000;} -blockquote { - /*font-style: italic; */ - border-left: 1px solid #e0e0e0; - border-right: 1px solid #e0e0e0; - border-top: 1px solid #e0e0e0; - border-bottom: 1px solid #e0e0e0; - padding-left: 0.6em; - padding-top: 0.6em; - padding-right: 0.6em; - padding-bottom: 0.6em; - margin-left: 1.4em; - margin-right: 0.4em; - border-radius: 4px; - font-family: "Microsoft YaHei"; - background: url('../images/requirements/reference.jpg') -} - -blockquote blockquote { margin-left: 0;} -acronym { border-bottom: 1px dotted; cursor: help; } -textarea.wiki-edit {width:99%; resize:vertical;} -li p {margin-top: 0;} -div.issue {background:#ffffdd; padding:6px; margin-bottom:6px;border: 1px solid #d7d7d7;} -p.breadcrumb { font-size: 0.9em; margin: 4px 0 4px 0;} -p.subtitle { font-size: 0.9em; margin: -6px 0 12px 0; font-style: italic; } -p.footnote { font-size: 0.9em; margin-top: 0px; margin-bottom: 0px; } - -div.issue div.subject div div { padding-left: 16px; } -div.issue div.subject p {margin: 0; margin-bottom: 0.1em; font-size: 90%; color: #999;} -div.issue div.subject>div>p { margin-top: 0.5em; } -div.issue div.subject h3 {margin: 0; margin-bottom: 0.1em;} -div.issue span.private { position:relative; bottom: 2px; text-transform: uppercase; background: #d22; color: #fff; font-weight:bold; padding: 0px 2px 0px 2px; font-size: 60%; margin-right: 2px; border-radius: 2px;} -div.issue .next-prev-links {color:#999;} -div.issue table.attributes th {width:22%;} -div.issue table.attributes td {width:28%;} - -#issue_tree table.issues, #relations table.issues { border: 0; } -#issue_tree td.checkbox, #relations td.checkbox {display:none;} -#relations td.buttons {padding:0;} - -fieldset.collapsible { border-width: 1px 0 0 0; font-size: 0.9em; } -fieldset.collapsible>legend { padding-left: 16px; background: url(../images/arrow_expanded.png) no-repeat 0% 40%; cursor:pointer; } -fieldset.collapsible.collapsed>legend { background-image: url(../images/arrow_collapsed.png); } - -fieldset#date-range p { margin: 2px 0 2px 0; } -fieldset#filters table { border-collapse: collapse; } -fieldset#filters table td { padding: 0; vertical-align: middle; } -fieldset#filters tr.filter { height: 2.1em; } -fieldset#filters td.field { width:230px; } -fieldset#filters td.operator { width:180px; } -fieldset#filters td.operator select {max-width:170px;} -fieldset#filters td.values { white-space:nowrap; } -fieldset#filters td.values select {min-width:130px;} -fieldset#filters td.values input {height:1em;} -fieldset#filters td.add-filter { text-align: right; vertical-align: top; } - -.toggle-multiselect {/*background: url(../images/bullet_toggle_plus.png) no-repeat 0% 40%;*/ padding-left:8px; margin-left:0; cursor:pointer;} -.buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; } - -div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;} -div#issue-changesets div.changeset { padding: 4px;} -div#issue-changesets div.changeset { border-bottom: 1px solid #ddd; } -div#issue-changesets p { margin-top: 0; margin-bottom: 1em;} - -.journal ul.details img {margin:0 0 -3px 4px;} -div.journal {overflow:auto;} -div.journal.private-notes {border-left:2px solid #d22; padding-left:4px; margin-left:-6px;} - -div#activity dl, #search-results { margin-left: 2em; } -div#activity dd, #search-results dd { margin-bottom: 1em; padding-left: 18px; font-size: 0.9em; } -div#activity dt, #search-results dt { margin-bottom: 0px; padding-left: 20px; line-height: 18px; background-position: 0 50%; background-repeat: no-repeat; } -div#activity dt.me .time { border-bottom: 1px solid #999; } -div#activity dt .time { color: #777; font-size: 80%; } -div#activity dd .description, #search-results dd .description { font-style: italic; } -div#activity span.project:after, #search-results span.project:after { content: " -"; } -div#activity dd span.description, #search-results dd span.description { display:block; color: #808080; } -div#activity dt.grouped {margin-left:5em;} -div#activity dd.grouped {margin-left:9em;} - -#search-results dd { margin-bottom: 1em; padding-left: 20px; margin-left:0px; } - -div#search-results-counts {float:right;} -div#search-results-counts ul { margin-top: 0.5em; } -div#search-results-counts li { list-style-type:none; float: left; margin-left: 1em; } - -dt.issue { background-image: url(../images/ticket.png); } -dt.issue-edit { background-image: url(../images/ticket_edit.png); } -dt.issue-closed { background-image: url(../images/ticket_checked.png); } -dt.issue-note { background-image: url(../images/ticket_note.png); } -dt.changeset { background-image: url(../images/changeset.png); } -dt.news { background-image: url(../images/news.png); } -dt.message { background-image: url(../images/message.png); } -dt.reply { background-image: url(../images/comments.png); } -dt.wiki-page { background-image: url(../images/wiki_edit.png); } -dt.attachment { background-image: url(../images/attachment.png); } -dt.document { background-image: url(../images/document.png); } -dt.project { background-image: url(../images/projects.png); } -dt.time-entry { background-image: url(../images/time.png); } - -#search-results dt.issue.closed { background-image: url(../images/ticket_checked.png); } - -div#roadmap .related-issues { margin-bottom: 1em; } -div#roadmap .related-issues td.checkbox { display: none; } -div#roadmap .wiki h1:first-child { display: none; } -div#roadmap .wiki h1 { font-size: 120%; } -div#roadmap .wiki h2 { font-size: 110%; } -body.controller-versions.action-show div#roadmap .related-issues {width:70%;} - -div#version-summary { float:right; width:28%; margin-left: 16px; margin-bottom: 16px; background-color: #fff; } -div#version-summary fieldset { margin-bottom: 1em; } -div#version-summary fieldset.time-tracking table { width:100%; } -div#version-summary th, div#version-summary td.total-hours { text-align: right; } - -table#time-report td.hours, table#time-report th.period, table#time-report th.total { text-align: right; padding-right: 0.5em; } -table#time-report tbody tr.subtotal { font-style: italic; color:#777;} -table#time-report tbody tr.subtotal td.hours { color:#b0b0b0; } -table#time-report tbody tr.total { font-weight: bold; background-color:#EEEEEE; border-top:1px solid #e4e4e4;} -table#time-report .hours-dec { font-size: 0.9em; } - -div.wiki-page .contextual a {opacity: 0.4} -div.wiki-page .contextual a:hover {opacity: 1} - -form .attributes select { width: 60%; } -input#issue_subject { width: 99%; } -select#issue_done_ratio { width: 95px; } - -ul.projects {margin:0px; padding-left:0em;}/*1em*/ -ul.projects ul {padding-left:1.6em;} -ul.projects.root {margin:0; padding:0;} - -ul.projects li {list-style-type:none;} - -ul.projects li {list-style-type:none; - - } - - -#projects-index ul.projects ul.projects { border-left: 3px solid #e0e0e0; padding-left:1em;} -#projects-index ul.projects li.root {margin-bottom: 1em;} -#projects-index ul.projects li.child {margin-top: 1em;} -#projects-index ul.projects div.root a.project {font-family:'微软雅黑', "Trebuchet MS", Verdana, sans-serif; font-weight: bold; font-size: 14px; margin: 0 0 10px 0; } -.my-project { padding-left: 18px; background: url(../images/fav.png) no-repeat 0 50%; } - -#notified-projects ul, #tracker_project_ids ul {max-height:250px; overflow-y:auto;} - -#related-issues li img {vertical-align:middle;} - -ul.properties {padding:0; font-size: 0.9em; color: #777;} -ul.properties li {list-style-type:none;} -ul.properties li span {font-style:italic;} - -.total-hours { font-size: 110%; font-weight: bold; } -.total-hours span.hours-int { font-size: 120%; } -.gender { width: 20%; } -/*added by bai 增加了性别、地区和单位的样式 */ -#my_account_form select.gender { width: 20%; } -#my_account_form select.location {width: 31%;} -#my_account_form .occupation { width: 56%; } -/*end*/ - -/*added by bai 增加了性别、地区和单位的样式 */ -#my_account_form select.gender { width: 20%; } -#my_account_form select.location {width: 31%;} -#my_account_form .occupation { width: 56%; } -/*end*/ - -.autoscroll {overflow-x: auto; padding:1px; margin-bottom: 1.2em;} -/*#user_login, #user_firstname, #user_lastname, #user_mail, #my_account_form select, #user_form select, #user_identity_url { width: 45%; }*/ - -#workflow_copy_form select { width: 200px; } -table.transitions td.enabled {background: #bfb;} -table.fields_permissions select {font-size:90%} -table.fields_permissions td.readonly {background:#ddd;} -table.fields_permissions td.required {background:#d88;} - -textarea#custom_field_possible_values {width: 99%} -textarea#custom_field_default_value {width: 99%} - -input#content_comments {width: 99%} - - -p.pagination {margin-top:8px; font-size: 90%} - -/***** Tabular forms ******/ -.tabular p{ - margin: 0; - padding: 3px 0 3px 0; - padding-left: 100px; /* width of left column containing the label elements *//*by young*/ - /*min-height: 1.8em;*/ - clear:left; -} - -.tabular .tabDiv{ - margin: 0; - padding: 3px 0 3px 0; - padding-left: 100px; /* width of left column containing the label elements *//*by young*/ - /*min-height: 1.8em;*/ - clear:left; -} - -html>body .tabular p {overflow:hidden;} - -.tabular label{ - font-weight: bold; - float: left; - text-align: right; - /* width of left column */ - margin-left: -180px; - /* width of labels. Should be smaller than left column to create some right margin */ - width: 175px; - font-size: 12px; -} - -.tabular label.floating{ - font-weight: normal; - margin-left: 0px; - text-align: left; - width: 270px; -} - -.tabular label.block{ - font-weight: normal; - margin-left: 0px !important; - text-align: left; - float: none; - display: block; - width: auto; -} - -.tabular label.inline{ - font-weight: normal; - float:none; - margin-left: 5px !important; - width: auto; -} - -label.no-css { - font-weight: inherit; - float:none; - text-align:left; - margin-left:0px; - width:auto; -} -input#time_entry_comments { width: 90%;} - -#preview fieldset {margin-top: 1em; background: url(../images/draft.png)} - -.tabular.settings p{ padding-left: 300px; } -.tabular.settings label{ margin-left: -300px; width: 295px; } -.tabular.settings textarea { width: 99%; } - -.settings.enabled_scm table {width:100%} -.settings.enabled_scm td.scm_name{ font-weight: bold; } - -fieldset.settings label { display: block; } -fieldset#notified_events .parent { padding-left: 20px; } - -span.required {color: #bb0000;} -.summary {font-style: italic;} - -#attachments_fields input.description {margin-left:4px; width:100px; } -#attachments_fields span .boldSpan{display:block; white-space:nowrap; font-family:'微软雅黑';} -#attachments_fields input.filename {border:0; height:1.8em; width:150px; color:#555; background-color:inherit; background:url(../images/attachment.png) no-repeat 1px 50%; padding-left:18px;}/*Modified by young*/ -#attachments_fields .ajax-waiting input.filename {background:url(../images/hourglass.png) no-repeat 0px 50%;} -#attachments_fields .ajax-loading input.filename {background:url(../images/loading.gif) no-repeat 0px 50%;} -#attachments_fields div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; } -a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%; width:1px; display:inline-block; padding-left:16px;} -a.remove-upload:hover {text-decoration:none !important;} - -/*gcm upload file count and deleteall*/ -#upload_file_count #count {color:red; font-size:1.5em;} -span.add_attachment .remove_all {background:none;background: url(../images/delete.png) no-repeat 1px 50%; width:1px; display:inline-block;right:10%;text-decoration:none;} - - -div.fileover { background-color: lavender; } - -div.attachments { margin-top: 12px; } -div.attachments p { margin:4px 0 2px 0; } -div.attachments img { vertical-align: middle; } -div.attachments span.author { font-size: 0.9em; color: #888; } - -div.thumbnails {margin-top:0.6em;} -div.thumbnails div {background:#fff;border:2px solid #ddd;display:inline-block;margin-right:2px;} -div.thumbnails img {margin: 3px;} - -p.other-formats { text-align: right; font-size:0.9em; color: #666; } -.other-formats span + span:before { content: "| "; } - -a.atom { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; } - -/*modified by bai 改变了字体颜色和加粗*/ -em.info {font-style:normal; font-size:90%; color:#505050; font-weight:bold; display:block;} -em.info.error {padding-left:20px; background:url(../images/exclamation.png) no-repeat 0 50%;} -/*end*/ -textarea.text_cf {width:90%;} - -#tab-content-modules fieldset p {margin:3px 0 4px 0;} - -#tab-content-members .splitcontentleft, #tab-content-memberships .splitcontentleft, #tab-content-users .splitcontentleft {width: 64%;} -#tab-content-members .splitcontentright, #tab-content-memberships .splitcontentright, #tab-content-users .splitcontentright {width: 34%;} -#tab-content-members fieldset, #tab-content-memberships fieldset, #tab-content-users fieldset {padding:1em; margin-bottom: 1em;} -#tab-content-members fieldset legend, #tab-content-memberships fieldset legend, #tab-content-users fieldset legend {font-weight: bold; font-size: 12px} -#tab-content-members fieldset label, #tab-content-memberships fieldset label, #tab-content-users fieldset label {display: block;} -#tab-content-members #principals, #tab-content-users #principals {max-height: 400px; overflow: auto;} - -#users_for_watcher {height: 200px; overflow:auto;} -#users_for_watcher label {display: block;} - -table.members td.group { padding-left: 20px; background: url(../images/group.png) no-repeat 0% 50%; } - -input#principal_search, input#user_search {width:90%} - -input.autocomplete { - background: #fff url(../images/magnifier.png) no-repeat right 50%; padding-left:20px; - border:1px solid #9EB1C2; border-radius:2px; height:1.5em; -} -input.autocomplete.ajax-loading { - background-image: url(../images/loading.gif); -} - -/***** Flash & error messages ****/ -#errorExplanation, div.flash, .nodata, .warning, .conflict { - padding: 4px 4px 4px 30px; - margin-bottom: 12px; - font-size: 1.1em; - border: 2px solid; -} - -div.flash {margin-top: 8px;} - -div.flash.error, #errorExplanation { - background: url(../images/exclamation.png) 8px 50% no-repeat; - background-color: #ffe3e3; - border-color: #dd0000; - color: #880000; -} - -div.flash.notice { - background: url(../images/true.png) 8px 5px no-repeat; - background-color: #dfffdf; - border-color: #9fcf9f; - color: #005f00; -} - -div.flash.warning, .conflict { - background: url(../images/warning.png) 8px 5px no-repeat; - background-color: #FFEBC1; - border-color: #FDBF3B; - color: #A6750C; - text-align: left; -} - -.nodata, .warning { - text-align: center; - background-color: #FFEBC1; - border-color: #FDBF3B; - color: #A6750C; -} - -#errorExplanation ul { font-size: 0.9em;} -#errorExplanation h2, #errorExplanation p { display: none; } - -.conflict-details {font-size:80%;} - -/***** Ajax indicator ******/ -#ajax-indicator { -position: absolute; /* fixed not supported by IE */ -background-color:#eee; -border: 1px solid #bbb; -top:35%; -left:40%; -width:20%; -font-weight:bold; -text-align:center; -padding:0.6em; -z-index:100; -opacity: 0.5; -} - -html>body #ajax-indicator { position: fixed; } - -#ajax-indicator span { -background-position: 0% 40%; -background-repeat: no-repeat; -background-image: url(../images/loading.gif); -padding-left: 26px; -vertical-align: bottom; -} - -/***** Calendar *****/ -table.cal {border-collapse: collapse; width: 100%; margin: 0px 0 6px 0;border: 1px solid #d7d7d7;} -table.cal thead th {width: 14%; background-color:#EEEEEE; padding: 4px; } -table.cal thead th.week-number {width: auto;} -table.cal tbody tr {height: 100px;} -table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em;} -table.cal td.week-number { background-color:#EEEEEE; padding: 4px; border:none; font-size: 1em;} -table.cal td p.day-num {font-size: 1.1em; text-align:right;} -table.cal td.odd p.day-num {color: #bbb;} -table.cal td.today {background:#ffffdd;} -table.cal td.today p.day-num {font-weight: bold;} -table.cal .starting a, p.cal.legend .starting {background: url(../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;} -table.cal .ending a, p.cal.legend .ending {background: url(../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;} -table.cal .starting.ending a, p.cal.legend .starting.ending {background: url(../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;} -p.cal.legend span {display:block;} - -/***** Tooltips ******/ -.tooltip{position:relative;z-index:24;} -.tooltip:hover{z-index:25;color:#000;} -.tooltip span.tip{display: none; text-align:left;} - -div.tooltip:hover span.tip{ -display:block; -position:absolute; -top:12px; left:24px; width:270px; -border:1px solid #555; -background-color:#fff; -padding: 4px; -font-size: 0.8em; -color:#505050; -} - -img.ui-datepicker-trigger { - cursor: pointer; - vertical-align: middle; - margin-left: 4px; -} - -/***** Progress bar *****/ -table.progress { - border-collapse: collapse; - border-spacing: 0pt; - empty-cells: show; - text-align: center; - float:left; - margin: 1px 6px 1px 0px; -} - -table.progress td { height: 1em; } -table.progress td.closed { background: #BAE0BA none repeat scroll 0%; } -table.progress td.done { background: #D3EDD3 none repeat scroll 0%; } -table.progress td.todo { background: #eee none repeat scroll 0%; } -p.percent {font-size: 80%;} -p.progress-info {clear: left; font-size: 80%; margin-top:-4px; color:#777;} - -#roadmap table.progress td { height: 1.2em; } -/***** Tabs *****/ -#content .tabs {height: 2.6em; margin-bottom:1.2em; position:relative; overflow:hidden;} -#content .tabs ul {margin:0; position:absolute; bottom:0; padding-left:0.5em; font-family: 14px; width:2000px; border-bottom: 1px solid #15BCCF;} -#content .tabs ul li { - float:left; - list-style-type:none; - white-space:nowrap; - margin-right:0px; - background:#fff; - position:relative; - margin-bottom:-1px; -} -#content .tabs ul li a{ - display:block; - font-size: 14px; - text-decoration: none; - line-height:1.3em; - padding:2px 6px 2px 6px; - background-color:#fff; - color:#606060; - font-weight:bold; - border-top-left-radius:3px; - border-top-right-radius:3px; -} - -#content .tabs ul li a:hover { - background-color: #fff; - text-decoration:none; -} - -#content .tabs ul li a.selected { - background-color: #fff; - border: 1px solid #15BCCF; - border-bottom: 1px solid #fff; - color:#111; -} - -#content .tabs ul li a.selected:hover {background-color: #E2F4FF;} - -div.tabs-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; } - -button.tab-left, button.tab-right { - font-size: 0.9em; - cursor: pointer; - height:24px; - border: 1px solid #ccc; - border-bottom: 1px solid #bbbbbb; - position:absolute; - padding:4px; - width: 20px; - bottom: -1px; - -} - -button.tab-left { - right: 20px; - background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%; - border-top-left-radius:3px; -} - -button.tab-right { - right: 0; - background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%; - border-top-right-radius:3px; -} -/*added by young*/ -/***** Settings Tabs *****/ -/*modified by huang*/ -#content .tabs_new {height: 2.6em; margin-bottom:1.2em; margin-top: 0.8em; position:relative; overflow:hidden;} -#content .tabs_new ul {margin:0; position:absolute; bottom:0; padding-left: 0.5em; width: 100%; border-bottom: 1px solid #15BCCF;font-size:14px;} -#content .tabs_new ul li { - width:80px; /*modified by linchun*/ - float:left; - list-style-type:none; - white-space:nowrap; - margin-right:4px; - background:#fff; - position:relative; - margin-bottom:-1px; -} -#content .tabs_new ul li a{ - display:block; - font-size: 15px; - text-decoration:none; - line-height:1.2em; - padding-top: 6px; - padding-bottom: 2px; - text-align: center; - border: 1px solid #15BCCF; - /*border-bottom: 0px solid #15BCCF;*/ - - color:#606060; - font-weight:bold; - border-top-left-radius:4px; - border-top-right-radius:4px; - /*new added*/ - margin-top: 16px; - /*end*/ -} - -#content .tabs_new ul li a:hover { - background-color: #E2F4FF; - text-decoration:none; -} - -#content .tabs_new ul li a.selected { - background-color: rgba(28, 158, 199, 0.68); - border: 1px solid #15BCCF; - border-bottom: 1px solid #fff; - color:#FFF; -} - -#content .tabs_new ul li a.selected:hover {background-color: #15BCCC;} - -div.tabs_new-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; } - -button.tab_new-left, button.tab_new-right { - font-size: 0.9em; - cursor: pointer; - height:24px; - border: 1px solid #ccc; - border-bottom: 1px solid #bbbbbb; - position:absolute; - padding:4px; - width: 20px; - bottom: -1px; -} - -button.tab_new-left { - right: 20px; - background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%; - border-top-left-radius:3px; -} - -button.tab_new-right { - right: 0; - background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%; - border-top-right-radius:3px; -} - - -/*added by huang*/ -#content .tabs_new_enterprise {height: 2.6em; margin-bottom:1.2em; margin-top: 0.8em; position:relative; overflow:hidden;} -#content .tabs_new_enterprise ul {margin:0; position:absolute; bottom:0; padding-left: 0.5em; width: 2000px; border-bottom: 1px solid #ac344f;font-size:14px;} -#content .tabs_new_enterprise ul li { - width:85px; /*modified by linchun*/ - float:left; - list-style-type:none; - white-space:nowrap; - margin-right:4px; - background:#fff; - position:relative; - margin-bottom:-1px; -} -#content .tabs_new_enterprise ul li a{ - display:block; - font-size: 15px; - text-decoration:none; - line-height:1.2em; - padding-top: 6px; - padding-bottom: 2px; - text-align: center; - - border: 1px solid #b60003; - /*border-bottom: 0px solid #15BCCF;*/ - - color:#606060; - font-weight:bold; - border-top-left-radius:4px; - border-top-right-radius:4px; -} - -#content .tabs_new_enterprise ul li a:hover { - background-color: #cda3ad; - text-decoration:none; -} - -#content .tabs_new_enterprise ul li a.selected { - background-color: #9f4056; - border: 1px solid #ac344f; - border-bottom: 1px solid #fff; - color:#FFF; -} - -#content .tabs_new_enterprise ul li a.selected:hover {background-color: #ac344f;} - -div.tabs_new_enterprise-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; } - -button.tabs_new_enterprise-left, button.tabs_new_enterprise-right { - font-size: 0.9em; - cursor: pointer; - height:24px; - border: 1px solid #ccc; - border-bottom: 1px solid #bbbbbb; - position:absolute; - padding:4px; - width: 20px; - bottom: -1px; -} - -button.tabs_new_enterprise-left { - right: 20px; - background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%; - border-top-left-radius:3px; -} - -button.tabs_new_enterprise-right { - right: 0; - background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%; - border-top-right-radius:3px; -} -/*end*/ -/*added by huang*/ -#content_ .tabs {height: 3.5em; margin-bottom:1.2em; position:relative; overflow:hidden;} -#content_ .tabs ul {margin:0; position:absolute; bottom:0; padding-left:0.5em; width:2000px; border-bottom: 1px solid #15BCCF;font-size:14px;} -#content_ .tabs ul li { - float:left; - list-style-type:none; - white-space:nowrap; - margin-right:0px; - background:#fff; - position:relative; - margin-bottom:-1px; -} -#content_ .tabs ul li a{ - - display:block; - font-size: 13px; - text-decoration: none; - line-height:1.3em; - padding:4px 6px 4px 6px; - background-color:#fff; - color:#606060; - font-weight:bold; - border-top-left-radius:3px; - border-top-right-radius:3px; -} - -#content_ .tabs ul li a:hover { - background-color: #fff; - text-decoration:none; -} - -#content_ .tabs ul li a.selected { - background-color: #fff; - border: 1px solid #15BCCF; - border-bottom: 1px solid #fff; - color:#111; -} - -#content_ .tabs ul li a.selected:hover {background-color: #E2F4FF;} -/*end*/ -/*added by huang*/ -#content_ .tabs_enterprise {height: 3.5em; margin-bottom:1.2em; position:relative; overflow:hidden;} -#content_ .tabs_enterprise ul {margin:0; position:absolute; bottom:0; padding-left:0.5em; width:2000px; border-bottom: 1px solid #bc7787;font-size:14px;} -#content_ .tabs_enterprise ul li { - float:left; - list-style-type:none; - white-space:nowrap; - margin-right:0px; - background:#fff; - position:relative; - margin-bottom:-1px; -} -#content_ .tabs_enterprise ul li a{ - - display:block; - font-size: 13px; - text-decoration: none; - line-height:1.3em; - padding:4px 6px 4px 6px; - background-color:#fff; - color:#606060; - font-weight:bold; - border-top-left-radius:3px; - border-top-right-radius:3px; -} - -#content_ .tabs_enterprise ul li a:hover { - background-color: #fff; - text-decoration:none; -} - -#content_ .tabs_enterprise ul li a.selected { - background-color: #fff; - border: 1px solid #bc7787; - border-bottom: 1px solid #fff; - color:#111; -} - -#content_ .tabs_enterprise ul li a.selected:hover {background-color: #E2F4FF;} -/*end*/ -/*end*/ -/***** Diff *****/ -.diff_out { background: #fcc; } -.diff_out span { background: #faa; } -.diff_in { background: #cfc; } -.diff_in span { background: #afa; } - -.text-diff { - padding: 1em; - background-color:#f6f6f6; - color:#505050; - border: 1px solid #e4e4e4; -} - -/***** Wiki *****/ -div.wiki table { - border-collapse: collapse; - margin-bottom: 1em; -} - -div.wiki table, div.wiki td, div.wiki th { - border: 1px solid #bbb; - padding: 4px; -} - -div.wiki .noborder, div.wiki .noborder td, div.wiki .noborder th {border:0;} - -div.wiki .external { - background-position: 0% 60%; - background-repeat: no-repeat; - padding-left: 12px; - background-image: url(../images/external.png); -} - -div.wiki a.new {color: #b73535;} - -div.wiki ul, div.wiki ol {margin-bottom:1em;} - -div.wiki pre { - margin: 1em 1em 1em 1.6em; - padding: 8px; - background-color: #fafafa; - border: 1px solid #e2e2e2; - width:auto; - overflow-x: auto; - overflow-y: hidden; -} - -div.wiki ul.toc { - background-color: #ffffdd; - border: 1px solid #e4e4e4; - padding: 4px; - line-height: 1.2em; - margin-bottom: 12px; - margin-right: 12px; - margin-left: 0; - display: table -} -* html div.wiki ul.toc { width: 50%; } /* IE6 doesn't autosize div */ - -div.wiki ul.toc.right { float: right; margin-left: 12px; margin-right: 0; width: auto; } -div.wiki ul.toc.left { float: left; margin-right: 12px; margin-left: 0; width: auto; } -div.wiki ul.toc ul { margin: 0; padding: 0; } -div.wiki ul.toc li {list-style-type:none; margin: 0; font-size:12px;} -div.wiki ul.toc li li {margin-left: 1.5em; font-size:10px;} -div.wiki ul.toc a { - font-size: 0.9em; - font-weight: normal; - text-decoration: none; - color: #606060; -} -div.wiki ul.toc a:hover { color: #c61a1a; text-decoration: underline;} - -a.wiki-anchor { display: none; margin-left: 6px; text-decoration: none; } -a.wiki-anchor:hover { color: #aaa !important; text-decoration: none; } -h1:hover a.wiki-anchor, h2:hover a.wiki-anchor, h3:hover a.wiki-anchor { display: inline; color: #ddd; } - -div.wiki img { vertical-align: middle; } - -/***** My page layout *****/ -.block-receiver { - border:1px dashed #c0c0c0; - margin-bottom: 20px; - padding: 15px 0 15px 0; -} - -.mypage-box { - margin:0 0 20px 0; - color:#505050; - line-height:1.5em; -} - -.handle {cursor: move;} - -a.close-icon { - display:block; - margin-top:3px; - overflow:hidden; - width:12px; - height:12px; - background-repeat: no-repeat; - cursor:pointer; - background-image:url('../images/close.png'); -} -a.close-icon:hover {background-image:url('../images/close_hl.png');} - -/***** Gantt chart *****/ -.gantt_hdr { - position:absolute; - top:0; - height:16px; - border-top: 1px solid #c0c0c0; - border-bottom: 1px solid #c0c0c0; - border-right: 1px solid #c0c0c0; - text-align: center; - overflow: hidden; -} - -.gantt_hdr.nwday {background-color:#f1f1f1;} - -.gantt_subjects { font-size: 0.8em; } -.gantt_subjects div { line-height:16px;height:16px;overflow:hidden;white-space:nowrap;text-overflow: ellipsis; } - -.task { - position: absolute; - height:8px; - font-size:0.8em; - color:#888; - padding:0; - margin:0; - line-height:16px; - white-space:nowrap; -} - -.task.label {width:100%;} -.task.label.project, .task.label.version { font-weight: bold; } - -.task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; } -.task_done { background:#00c600 url(../images/task_done.png); border: 1px solid #00c600; } -.task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; } - -.task_todo.parent { background: #888; border: 1px solid #888; height: 3px;} -.task_late.parent, .task_done.parent { height: 3px;} -.task.parent.marker.starting { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; left: 0px; top: -1px;} -.task.parent.marker.ending { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; right: 0px; top: -1px;} - -.version.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;} -.version.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;} -.version.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;} -.version.marker { background-image:url(../images/version_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; } - -.project.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;} -.project.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;} -.project.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;} -.project.marker { background-image:url(../images/project_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; } - -.version-behind-schedule a, .issue-behind-schedule a {color: #f66914;} -.version-overdue a, .issue-overdue a, .project-overdue a {color: #f00;} - -/***** Icons *****/ -.icon { - background-position: 0% 50%; - background-repeat: no-repeat; - font-family: '微软雅黑'; /*modify by men*/ - padding-left: 20px; - padding-top: 2px; - padding-bottom: 3px; -} -.icon_enterprise { - background-position: 0% 50%; - background-repeat: no-repeat; - font-family: '微软雅黑'; /*modify by men*/ - padding-left: 20px; - padding-top: 2px; - padding-bottom: 3px; -} -.icon_enterprise-add { background-image: url(../images/add_enterprise.png); } -.icon-add { background-image: url(../images/add.png); } -.icon-edit { /*background-image: url(../images/edit.png);*/ } -.icon-copy { background-image: url(../images/copy.png); } -.icon-duplicate { background-image: url(../images/duplicate.png); } -.icon-del { /*background-image: url(../images/delete.png); */} -.icon-move { background-image: url(../images/move.png); } -.icon-save { background-image: url(../images/save.png); } -.icon-cancel { background-image: url(../images/cancel.png); } -.icon-multiple { background-image: url(../images/table_multiple.png); } -.icon-folder { background-image: url(../images/folder.png); } -.open .icon-folder { background-image: url(../images/folder_open.png); } -.icon-package { background-image: url(../images/package.png); } -.icon-user { background-image: url(../images/user.png); } -.icon-projects { background-image: url(../images/projects.png); } -.icon-help { background-image: url(../images/help.png); } -.icon-attachment { background-image: url(../images/attachment.png); } -.icon-history { background-image: url(../images/history.png); } -.icon-time { background-image: url(../images/time.png); } -.icon-time-add { background-image: url(../images/time_add.png); } -.icon-stats { background-image: url(../images/stats.png); } -.icon-warning { background-image: url(../images/warning.png); } -.icon-fav { background-image: url(../images/fav.png); } -.icon-fav-off { background-image: url(../images/fav_off.png); } -.icon-reload { background-image: url(../images/reload.png); } -.icon-lock { background-image: url(../images/locked.png); } -.icon-unlock { background-image: url(../images/unlock.png); } -.icon-checked { background-image: url(../images/true.png); } -.icon-details { background-image: url(../images/zoom_in.png); } -.icon-report { background-image: url(../images/report.png); } -.icon-comment { /*background-image: url(../images/comment.png); */} -.icon-summary { background-image: url(../images/lightning.png); } -.icon-server-authentication { background-image: url(../images/server_key.png); } -.icon-issue { background-image: url(../images/ticket.png); } -.icon-zoom-in { background-image: url(../images/zoom_in.png); } -.icon-zoom-out { background-image: url(../images/zoom_out.png); } -.icon-passwd { background-image: url(../images/textfield_key.png); } -.icon-test { background-image: url(../images/bullet_go.png); } - -.icon-file { background-image: url(../images/files/default.png); } -.icon-file.text-plain { background-image: url(../images/files/text.png); } -.icon-file.text-x-c { background-image: url(../images/files/c.png); } -.icon-file.text-x-csharp { background-image: url(../images/files/csharp.png); } -.icon-file.text-x-java { background-image: url(../images/files/java.png); } -.icon-file.text-x-javascript { background-image: url(../images/files/js.png); } -.icon-file.text-x-php { background-image: url(../images/files/php.png); } -.icon-file.text-x-ruby { background-image: url(../images/files/ruby.png); } -.icon-file.text-xml { background-image: url(../images/files/xml.png); } -.icon-file.text-css { background-image: url(../images/files/css.png); } -.icon-file.text-html { background-image: url(../images/files/html.png); } -.icon-file.image-gif { background-image: url(../images/files/image.png); } -.icon-file.image-jpeg { background-image: url(../images/files/image.png); } -.icon-file.image-png { background-image: url(../images/files/image.png); } -.icon-file.image-tiff { background-image: url(../images/files/image.png); } -.icon-file.application-pdf { background-image: url(../images/files/pdf.png); } -.icon-file.application-zip { background-image: url(../images/files/zip.png); } -.icon-file.application-x-gzip { background-image: url(../images/files/zip.png); } - -img.gravatar { - padding: 2px; - border: solid 1px #d5d5d5; - background: #fff; - vertical-align: middle; -} - -div.issue img.gravatar { - float: left; - margin: 0 6px 0 0; - padding: 5px; -} - -div.issue table img.gravatar { - height: 14px; - width: 14px; - padding: 2px; - float: left; - margin: 0 0.5em 0 0; -} - -h2 img.gravatar {margin: -2px 4px -4px 0;} -h3 img.gravatar {margin: -4px 4px -4px 0;} -h4 img.gravatar {margin: -6px 4px -4px 0;} -td.username img.gravatar {margin: 0 0.5em 0 0; vertical-align: top;} -#activity dt img.gravatar {float: left; margin: 0 1em 1em 0;} -/* Used on 12px Gravatar img tags without the icon background */ -.icon-gravatar {float: left; margin-right: 4px;} - -#activity dt, .journal {clear: left;} - -.journal-link {float: right;} - -h2 img { vertical-align:middle; } - -.hascontextmenu { cursor: context-menu; } - -/************* CodeRay styles *************/ -.syntaxhl div {display: inline;} -.syntaxhl .line-numbers {padding: 2px 4px 2px 4px; background-color: #eee; margin:0px 5px 0px 0px;} -.syntaxhl .code pre { overflow: auto } -.syntaxhl .debug { color: white !important; background: blue !important; } - -.syntaxhl .annotation { color:#007 } -.syntaxhl .attribute-name { color:#b48 } -.syntaxhl .attribute-value { color:#700 } -.syntaxhl .binary { color:#509 } -.syntaxhl .char .content { color:#D20 } -.syntaxhl .char .delimiter { color:#710 } -.syntaxhl .char { color:#D20 } -.syntaxhl .class { color:#258; font-weight:bold } -.syntaxhl .class-variable { color:#369 } -.syntaxhl .color { color:#0A0 } -.syntaxhl .comment { color:#385 } -.syntaxhl .comment .char { color:#385 } -.syntaxhl .comment .delimiter { color:#385 } -.syntaxhl .complex { color:#A08 } -.syntaxhl .constant { color:#258; font-weight:bold } -.syntaxhl .decorator { color:#B0B } -.syntaxhl .definition { color:#099; font-weight:bold } -.syntaxhl .delimiter { color:black } -.syntaxhl .directive { color:#088; font-weight:bold } -.syntaxhl .doc { color:#970 } -.syntaxhl .doc-string { color:#D42; font-weight:bold } -.syntaxhl .doctype { color:#34b } -.syntaxhl .entity { color:#800; font-weight:bold } -.syntaxhl .error { color:#F00; background-color:#FAA } -.syntaxhl .escape { color:#666 } -.syntaxhl .exception { color:#C00; font-weight:bold } -.syntaxhl .float { color:#06D } -.syntaxhl .function { color:#06B; font-weight:bold } -.syntaxhl .global-variable { color:#d70 } -.syntaxhl .hex { color:#02b } -.syntaxhl .imaginary { color:#f00 } -.syntaxhl .include { color:#B44; font-weight:bold } -.syntaxhl .inline { background-color: hsla(0,0%,0%,0.07); color: black } -.syntaxhl .inline-delimiter { font-weight: bold; color: #666 } -.syntaxhl .instance-variable { color:#33B } -.syntaxhl .integer { color:#06D } -.syntaxhl .key .char { color: #60f } -.syntaxhl .key .delimiter { color: #404 } -.syntaxhl .key { color: #606 } -.syntaxhl .keyword { color:#939; font-weight:bold } -.syntaxhl .label { color:#970; font-weight:bold } -.syntaxhl .local-variable { color:#963 } -.syntaxhl .namespace { color:#707; font-weight:bold } -.syntaxhl .octal { color:#40E } -.syntaxhl .operator { } -.syntaxhl .predefined { color:#369; font-weight:bold } -.syntaxhl .predefined-constant { color:#069 } -.syntaxhl .predefined-type { color:#0a5; font-weight:bold } -.syntaxhl .preprocessor { color:#579 } -.syntaxhl .pseudo-class { color:#00C; font-weight:bold } -.syntaxhl .regexp .content { color:#808 } -.syntaxhl .regexp .delimiter { color:#404 } -.syntaxhl .regexp .modifier { color:#C2C } -.syntaxhl .regexp { background-color:hsla(300,100%,50%,0.06); } -.syntaxhl .reserved { color:#080; font-weight:bold } -.syntaxhl .shell .content { color:#2B2 } -.syntaxhl .shell .delimiter { color:#161 } -.syntaxhl .shell { background-color:hsla(120,100%,50%,0.06); } -.syntaxhl .string .char { color: #46a } -.syntaxhl .string .content { color: #46a } -.syntaxhl .string .delimiter { color: #46a } -.syntaxhl .string .modifier { color: #46a } -.syntaxhl .symbol .content { color:#d33 } -.syntaxhl .symbol .delimiter { color:#d33 } -.syntaxhl .symbol { color:#d33 } -.syntaxhl .tag { color:#070 } -.syntaxhl .type { color:#339; font-weight:bold } -.syntaxhl .value { color: #088; } -.syntaxhl .variable { color:#037 } - -.syntaxhl .insert { background: hsla(120,100%,50%,0.12) } -.syntaxhl .delete { background: hsla(0,100%,50%,0.12) } -.syntaxhl .change { color: #bbf; background: #007; } -.syntaxhl .head { color: #f8f; background: #505 } -.syntaxhl .head .filename { color: white; } - -.syntaxhl .delete .eyecatcher { background-color: hsla(0,100%,50%,0.2); border: 1px solid hsla(0,100%,45%,0.5); margin: -1px; border-bottom: none; border-top-left-radius: 5px; border-top-right-radius: 5px; } -.syntaxhl .insert .eyecatcher { background-color: hsla(120,100%,50%,0.2); border: 1px solid hsla(120,100%,25%,0.5); margin: -1px; border-top: none; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } - -.syntaxhl .insert .insert { color: #0c0; background:transparent; font-weight:bold } -.syntaxhl .delete .delete { color: #c00; background:transparent; font-weight:bold } -.syntaxhl .change .change { color: #88f } -.syntaxhl .head .head { color: #f4f } - -/***** Media print specific styles *****/ -@media print { - #top-menu, #header, #main-menu, #sidebar, #footer, .contextual, .other-formats { display:none; } - #main { background: #fff; } - #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible !important;} - #wiki_add_attachment { display:none; } - .hide-when-print { display: none; } - .autoscroll {overflow-x: visible;} - table.list {margin-top:0.5em;} - table.list th, table.list td {border: 1px solid #aaa;} -} - -/* Accessibility specific styles */ -.hidden-for-sighted { - position:absolute; - left:-10000px; - top:auto; - width:1px; - height:1px; - overflow:hidden; -} - -/*added by william*/ -#tag { - background: url(../images/issue_tag.png) no-repeat right -19px; - border-radius: 3px; - color: #3a587d !important; - padding: 1px 4px 2px 4px; - margin: 3px; - display: inline-block; - font-size: 13px; /*modified by linchun*/ - text-decoration: none; - cursor: pointer; -} - -/*tanxianbo*/ -div.repos_explain{ - word-wrap: normal; - line-height: 8px; - font-size: 13px; - background-color: #f8f8f8; - border: 1px solid #ddd; - overflow: auto; - border-radius: 3px; - padding: 6px 10px; - font-family: Consolas, 'Liberation Mono', Courier, monospace; - color: rgb(51, 51, 51); -} -#admin-index{ - margin-left: -220px; -} - -/* new linchun compitition */ -.contest_underline{ - margin:1; - padding:1; - width:900px; - height:0.5px; - background-color:#aaa; - overflow:hidden -} - -.underline-contests_one{ - margin-bottom: 10px; - border-bottom: 1px dashed rgb(204, 204, 204); - width: 930px; -} -.underline-contests_two{ - margin-bottom: 10px; - border-bottom: 1px dashed rgb(204, 204, 204); - width: 660px; -} -.underline-contests_three{ - margin-bottom: 10px; - border-bottom: 1px dashed rgb(204, 204, 204); - width: 688px; -} -.underline-contests_four{ - margin-bottom: 10px; - border-bottom: 1px dashed rgb(204, 204, 204); - width: 349px; - padding-bottom:5px -} -.contest-star{ - color: #bb0000; -} - -.contes-new-box{ - background: #fcfcfc; - padding-left: 85px; - padding-top: 20px; - padding-bottom: 20px; -} +html {overflow-y:scroll;} +body { font-family:'微软雅黑', Verdana, sans-serif; font-size: 13px; color:#484848; margin: 0; padding: 0; min-width: 900px; } /*modified by linchun*/ + +h1, h2, h3, h4 {font-family: '微软雅黑', "Trebuchet MS", Verdana, sans-serif;padding: 2px 10px 1px 0px;margin: 0 0 10px 0;} +#content h1, h2, h3, h4 {color: #555;} +h2, .wiki h1 {font-size: 20px;} +h3, .wiki h2 {font-size: 15px; padding-left: 5px} +h4, .wiki h3 {font-size: 13px;} +h4 {border-bottom: 1px dotted #bbb;} +/*huang*/ +/*current position*/ +.contest_count{ + width: 20%; + height: 60px; + border: 1px solid #15bccf; + border-radius: 5px 5px 5px 5px; + float:right; +} + +.top-content{ + background-color: #f7f7f7; + height: 56px; + width: 940px; + line-height: 1.2em; + padding-top: 6px; + margin-bottom: 10px; +} + +div.position-f{ + padding-left: 8px; + float: left; + width: 238px; + line-height: 0.5em; + vertical-align: middle; + alignment-adjust: middle; + alignment-adjust: middle; +} + +div.position-f p.font{ + font-family: "Microsoft YaHei"; + font-weight: bold; + font-size: 16px; + color: #15bccf; +} + +div.position-s{ + float: left; + width: 430px; + line-height: 0.5em; +} + +div.position-s p.font{ + color: #15bccf; + font-weight: bold; +} + +div.position-t{ + padding-top: 13px; + float: left; + width: 238px; + line-height: 0.5em; +} + +/*end current position*/ +/*new sidebar*/ +div.sidebar-user{ + float: left; + padding-left: 8px; + border-bottom: 1px solid #15bccf; +} + +.inf-user-image{ + padding-left:8px; + margin:0px; + background-color:#fff; + height: auto; + padding-bottom: 8px; + float: left; +} +.inf-user-image img.avatar2{ + background: rgb(245, 245, 245); + padding: 4px; + border: 1px solid #e5dfc7; + float: left; + display: block; + height:80px; + width: 80px; + +} + +.sidebar-f{ + width: 238px; + float: left; + margin:0px; + background-color:#fff; + height: auto; + padding-bottom: 8px; +} + +div.sidebar-f div.name{ + float: left; + padding-left: 8px; + font-family:"Microsoft YaHei"; + font-weight:bold; + font-size:16px; + color:#4d4d4d; + word-wrap: break-word; + word-break: break-all; +} + +div.sidebar-f p.watch{ + padding-left: 3px; +} + +div.sidebar-s{ + line-height: 1em; +} + +div.sidebar-s p.mail{ + width: 220px; + white-space: nowrap; + white-space: nowrap; + overflow: hidden; +} + +div.sidebar-s p.location{ + word-wrap: break-word; + word-break: break-all; +} + +div.sidebar-t{ + +} +/*end*/ + +/*main-conten*/ +div.main-content{ + float: left; + width: 660px; + border-bottom: 1px dashed rgb(204, 204, 204); + margin-bottom: 10px; + font-size:14px; +} + +div.main-content-f{ + float:left; + width: 80px; +} + +div.main-content-s{ + float: left; + width: 580px; +} +/**/ + +/*forums-index*/ +div.forums-index{ + padding-left: 10px; + padding-top: 10px; + float: left; + width: 100%; + border-bottom: 1px dashed rgb(204, 204, 204); +} +div.forums-inex-avatar{ + padding-left: 15px; + float: left; + width: 7%; +} + +div.forums-index-content{ + float: left; + width: 72%; + line-height: 1.5em; +} + +div.forums-index-count{ + padding-top: 10px; + float: right; + padding-right: 40px; + +} +table.forums-count-color{ + width: 80px; + height: 60px; + background-color: #e5e2e2; + +} + +table.forums-count-color tr{ + font-weight: bold; + font-size: 14px; + background-color: #e5e2e2; + vertical-align: middle; + alignment-adjust: middle; + +} +/*forums-index end*/ +.vatar-size{ + height: 70px; + width: 70px; +} + +div.position-title{ + line-height: 0.5em; +} + +div.sidebar-forums{ + padding-left: 8px; + width: 214px; +} + +div.forums-tags{ + border-bottom: solid 1px #15bccf; + width: 214px; +} + +div.forums-line{ + border-bottom: solid 1px #15bccf; +} + +div.forums-info{ + /*background-image: url(../images/sidebar/forums.png); */ + border-bottom: solid 1px #15bccf; + height: 100px; + width: 214px; + padding-left: 5px; + +} + +div.forums-title{ + font-family: "Microsoft YaHei"; + font-weight: bold; + font-size: 16px; + color: rgb(237, 137, 36); + word-wrap: break-word; + word-break: break-all; +} + +div.forums-description{ + color: rgb(145, 146, 148); +} + +span.forums-avatar-left{ + float:left; + width: 27%; +} + +span.forums-avatar-right{ + float: right; + width: 65%; +} + +.formus-first-title{ + font-family: "Microsoft YaHei"; + font-weight:bold; + padding-top:3px; + padding-bottom:3px; + font-size:16px; +} +/*end*/ +.welcome-index{ + width: 290px; + white-space: nowrap; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; +} +.contextual-borad{ + float:left; + white-space: nowrap; + line-height:1.4em; + margin-top:0px; + margin-right:8px; + font-size:0.9em; +} + +.borad-text-list{ + margin-bottom: 10px; + border-bottom: 1px dashed rgb(204, 204, 204); + width: 680px; +} + +.borad-message{ + margin-bottom: 10px; + border-bottom: 1px dashed rgb(204, 204, 204); +} + +.borad-count{ + width: 50px; + background-color: #e5e2e2; +} + +.borad-title{ + font-size: 15px; + color: #555555; + padding-left: 5px; + padding-top: -5px; + font-weight: 400; +} + +.borad-setitle{ + padding-bottom: 5px; + padding-top: 10px; + border-bottom: 1px dashed rgb(204, 204, 204); +} + +.borad-topic-count{ + padding-top: 10px; + padding-left: 5px; + padding-right: 5px; +} + +.borad-topic-count-message{ + padding-left: 5px; + border-bottom:solid 1px #848282; + color: #848282; + +} + +.borad-description{ + padding-top: 5px; + color: #848282; + padding-left: 5px; +} + +.borad-count-digit{ + font-size: 14px; + font-weight: bold; +} +.underline-evreycontent{ + margin-bottom: 10px; + border-bottom: 1px dashed rgb(204, 204, 204); + width: 660px; +} + +.content-title-top-avtive{ + padding-bottom: 15px; + padding-left: 5px; + padding-top: 5px; +} + +.content-title-top-project{ + padding-left: 5px; +} + +.content-title-top{ + padding-bottom: 20px; + padding-left: 5px; +} + +.new_submit{ + padding-bottom: 5px; + width: 55px; + height: 25px; + font-family: '微软雅黑',Arial,Helvetica,sans-serif; + font-size: 12px; + color: #fff; + padding: 0px; + background: #15bccf; + border: 1px solid #15bccf; +} +.content-text-list{ + margin-bottom: 10px; + border-bottom: 1px dashed rgb(204, 204, 204); + width: 580px; +} + +.location-list{ + width: 180px; + color: #15bccf; +} + +.top-content-list{ + width: 430px; + white-space: nowrap; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; +} + +.top-content-list-homework{ + width: 650px; + white-space: nowrap; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; +} + +/*added by bai*/ +.user_underlinescore{ + margin:1; + padding:1; + width:700px; + height:1px; + background-color:#15bccf; + overflow:hidden +} + +.top-course-content{ + background-color: rgb(181,227, 251); + height: 45px; + width: 940px; + line-height: 1em; + padding-top: 5px; +} + +.top-user-content{ + background-color: rgb(195,291, 232); + height: 45px; + width: 940px; + line-height: 1em; + padding-top: 5px; +} + +.top-context-content{ + background-color: rgb(242,241, 192); + height: 45px; + width: 940px; + line-height: 1em; + padding-top: 5px; +} +.top-bid-content{ + background-color: rgb(246,176, 133); + height: 45px; + width: 940px; + line-height: 1em; + padding-top: 5px; +} + +.button-submit{ + padding-bottom: 5px; + width: 55px; + height: 25px; + font-family: '微软雅黑',Arial,Helvetica,sans-serif; + font-size: 12px; + color: #fff; + padding: 0px; + background: #15bccf; + border: 1px solid #15bccf; + +} +/*end*/ + +.top-content-home{ + background-color: rgb(226, 244, 255); + width: 25%; + padding-bottom :50px; + +} + +.top-content-search{ + float: right; + padding-right: 15px; + +} + +.top-content-location{ + margin-left: 133px; /*modified by bai*/ + +} + + + +.project_avatar_name { + position: relative; + font-size: 16px; + display:block; +} + +a.bids_user { + font-family:"Microsoft YaHei"; + color:#15bccf; + font-size:14px; + font-weight: bold; +} +.welcome_logo{ + float: left; + padding-left: 5px; + padding-top: 2px; +} +.welcome_images{ + width: 200px; + height: 200px; +} + +.base_footer{ + color:#acaeb1; + font-size:12px; +} + +.project_top{ + padding: 10px 20px; +} + +.line{ + height: 1px; + margin: 0px; + background-color: #cacaca; + overflow: hidden; + margin-top: 10px; +} + +ul.list_watch{ + padding-left: 0px; + list-style-type:none; + height:auto; + border-bottom: 1px dashed rgb(204, 204, 204); + } + +.new_creat{ + padding-top: 0px; + float: right; + padding-right: 30px; + +} +ul.tool{margin:0px; padding-left:0em;} +ul.tool li{list-style-type:none; + height:auto;} +.font_index{ + font-size:22px; + font-family: "Microsoft YaHei"; + color:#068d9c; +} +.font_aram{ + font-size: 14px; + font-family: "Microsoft YaHei"; + font-weight: bold; +} +.font_content{ + font-size:14px; + font-family: "Microsoft YaHei"; + color:#FFFFFF; +} + +.time_project{ + font-size:12px; + font-family: "Microsoft YaHei"; +} +.line_bottom{ + margin-top: 1px; + dashed: #ffff00; + height: 1px; + overflow: hidden; +} +/*多行隐藏*/ +.tablecontext{ + /*white-space:nowrap;*/ + overflow: hidden; + height:35px; + width:200px; + text-align: left; + font-family: arial; + font-size:12px; + color:#7e7e7e; +} +.content_frame{ + padding-bottom: 30px; + float: left; + +} + +.user_other_model{ + margin:5px 0px 0px 0px; + padding-left:8px; + height:auto; + background-color: #d0d9e0; +} + +.font_title_document{ + font-size: 13px; + font-weight: bold; +} + +.font_title_tag{ + font-family: "Microsoft YaHei"; + font-weight:bold; + padding-top:3px; + padding-bottom:3px; + font-size:16px; + /*color:#05a8bb;*/ +} + +.font_title_left{ + font-family: "Microsoft YaHei"; + font-weight:bold; + padding-left: 10px; + padding-top:3px; + padding-bottom:3px; + font-size:16px; + /*color:#05a8bb;*/ +} +.font_small_watch{ + font-family: "Microsoft YaHei"; + font-weight:bold; + color:#15bccf; +} +.left_wf{ + padding-left:8px; +} +.main_context{ + padding-bottom: 5px; +} +.welcome_image{ + height: 27px; + width: 30px; + +} +.font_welcome{ + font-family: "Microsoft YaHei"; + font-weight: bold; + font-size: 16px; + color:#6d6e6e; +} + +.font_welcome_trustie{ + font-family: Tahoma,"Microsoft YaHei"; + font-weight: bold; + font-size: 18px; + color:#15bccf; +} + +.font_welcome_school{ + font-family: Tahoma,"Microsoft YaHei"; + font-weight: bold; + font-size: 20px; + color:#e8770d; +} + +.font_welcome_Cdescription{ + font-family: "Microsoft YaHei"; + font-size: 16px; + color: #5c5c5c; +} + +.font_welcome_tdescription{ + font-family: "Microsoft YaHei"; + font-size: 16px; + color: #5c5c5c; + text-align: justify; + text-justify: inter-ideograph; +} + +.inf_user_image{ + padding-left:8px; + margin:0px; + background-color:#fff; + height: auto; + padding-bottom: 8px; +} +.inf_user_image img.avatar2{ + background: rgb(245, 245, 245); + padding: 4px; + border: 1px solid #e5dfc7; + float: left; + display: block; + height:80px; + width: 80px; + +} + +.font_welcome_tdescription2{ + font-family: Arial, Helvetica, sans-serif; + font-size: 20px; + color: #FF0000; + text-align: justify; + text-justify: inter-ideograph; +} + + +.font_welcome_Edescription{ + font-family: Default; + font-size: 16px; + color: #9a9a9a; +} + +.font_welcome_feature{ + font-family: "Microsoft YaHei"; + font-weight: bold; + font-size: 16px; + color:#09b2c8; + padding-top: 50px; +} + +.info-course{ + padding-left: 8px; + font-family: "Microsoft YaHei"; + font-weight:bold; + font-size:16px; + color:#4d4d4d; + word-wrap: break-word; + word-break: break-all; +} + +ul.user_course_sort{margin:0px; padding-left:0em;} +ul.user_course_sort li{list-style-type:none; + height:auto;} + + + +.info-break{ + word-wrap: break-word; + word-break: break-all; +} + +.info_font{ + padding-left: 8px; + font-family: "Microsoft YaHei"; + font-weight:bold; + font-size:16px; + color:#4d4d4d; + word-wrap: break-word; + word-break: break-all; +} +.font_lighter{ + font-family: "Microsoft YaHei"; + color:#acaeb1; + font-size:13px; +} +.font_lighter_e{ + width: 700px; + color:#acaeb1; + font-size:13px; +} +.font_lighter2{ + font-family: "Microsoft YaHei"; + color:#9a9a9a; + font-size:14px; +} + +.font_lighter_welcome{ + color:#acaeb1; + font-size:12px; + font-family: "Microsoft YaHei"; +} +.justify_side > span{ + text-align: justify; + width: 180px; +} +.font_lighter_sidebar{ + /*font-family:微软雅黑;*/ + color:#919294; + font-size:13px; + padding-left: 12px; + padding-right: 8px; + line-height: 1.5em; +} +.created_on_project{ + padding-left: 12px; + padding-bottom: 5px; +} +.font_description{ + font-size:14px; + line-height: 1.5em; + +} +.font_description2{ + font-size:13px; + line-height: 1.5em; + padding-left: 10px; +} +.font_tool{ + font-family: "Microsoft YaHei"; + font-size:14px; + color: #1a1a1a; + padding-left: 6px; +} + +.spaceleft{float: left; width: 240px;} + +.spaceright{float:left; width:620px;} + +.welcome_left{ + float:left; + display:inline-block; + /*margin-top: 50px;*/ + /*padding-left: 20px;*/ + max-width: 315px; + margin: 0; + padding: 0; + margin-left: 15px; +} + +.welcome_right{ + float:left; + width: 49%; + +} + +.inf_user_motto{ + padding-left:8px; + margin:5px 0px 0px 0px; + padding-top:1px; + background-color:#b8c1c8; + height: auto; +} +/*.user_watcher{ + padding-left:8px; + margin:5px 0px 0px 0px; + height: 220px; + background-color:#bababa; +}*/ + +.user_fans{ + padding-left:0px; + margin:0px; + height: auto; + background-color:#fff; +} +.inf_user_context{ + padding-left:0px; + margin:0px; + padding-top:1px; + background-color:#fff; + height: auto; + /*color:#fff; */ +} + +.user_tags{ + padding-top: 5px; + padding-bottom: 5px; + padding-left: 12px; + padding-right: 12px; +} + +.tool{ + padding-left:0px; + margin:0px 0px 0px 0px; + height: auto; + background-color:#fff; + padding-bottom:0px; +} +.user_private{ + padding-left:8px; + margin:5px 0px 0px 0px; + height: 100px; + background-color:#dbdbde; +} +.user_private_left{ + padding-left:8px; + + float:left; + height: 100px; + width:110px; + background-color:#a5abb4; +} +.user_private_right{ + + margin:0px 0px 0px 5px; + float:left; + height: 100px; + width:115px; + background-color:#adb6c5; +} +.user_underline{ + margin:1; + padding:1; + width:240px; + height:1px; + background-color:#15bccf; + overflow:hidden +} + + + +.user_enterprise_underline{ + margin:1; + padding:1; + width:240px; + height:1px; + background-color:#ac344f; + overflow:hidden +} + +.user_underline2{ + margin:1; + padding:1; + width:240px; + height:1px; + background-color:#c6e9fe; + overflow:hidden +} +.user_underline3{ + margin:1; + padding:1; + width:120px; + height:1px; + background-color:#c6e9fe; + overflow:hidden; + margin-top: 10px; +} +.homepage_underline{ + margin:1; + padding:1; + width:240px; + height:1px; + background-color:#c6e9fe; + overflow:hidden; + margin-top: 0px; + margin-bottom: 20px; +} +.line_under{ + border-bottom: 1px dashed rgb(204, 204, 204); +} +.line_heng{ + width: 670px; + height: 1px; + margin-top:5px; + border: 0px; + background-color:#D5D5D5; + color: #D5D5D5; +} + +ul.user_project_sort{margin:0px; padding-left:0em;} +ul.user_project_sort li{list-style-type:none; + height:auto;} +/**/ + + + +/*h写的样式*/ +.lbadding{float:left; padding-left: 10px} /*huang*/ +.rlbadding{float:left; padding-left: 0px; margin-top:40px} /*huang*/ +/*.lbadding h7{letter-spacing: -0.0125em; font-weight:700}*//*未用*/ +.newsplitcontentright{float:right; width:49%;}/*huang*/ +.newsplitcontentleft{float:left; width:49%;}/*huang*/ +.newsplitcontentall{float:left; padding-left: 30px; width:95%} + +.more{float:right; padding-right:60px; padding-top:20px;text-decoration: underline; color: #95c3bc} +/*字体*/ + +.header_logo_left{ + float: left; + width: 70%; + height: 50px; +} +.header_logo_right{ + padding-left:-50px; + padding-top:-50px; + float: right; + width: 30%; + height: 50px; +} +a.htags{ + background-color: #deebf0; + + border-radius: 5px 5px 5px 5px; + padding: 0px 4px 0px 4px; + margin:0 3px; +} +a.logical_int{ + color: #ed8924; +} + +.contextdescription2 { + font-family: "Microsoft YaHei"; + font-size: 12px; + font-weight: lighter; + color: #7e7e7e; +} +ul.context_projects{margin:0px; padding-left:0em;} + +ul.context_projects ul {padding-left:1.6em;} + +ul.context_projects li { + list-style-type:none; + height:50px; +} +/*字体*/ + +.more{float:right; padding-right:40px; text-decoration: underline; color: #95c3bc} + +/*控制project里面header内容,一排读数*/ +.newprojectheader{ + font-weight: bold; + font-size: 14px; + font-family:"黑体"; + color:#597e95; + /*text-decoration:underline;*/ + padding:10px 0px 10px 20px; +} +/*显示一个区域,多余的隐藏 比如项目描述内容多余部分的隐藏 两行隐藏*/ +.tablecontext{ + /*white-space:nowrap;*/ + overflow: hidden; + + height: 30px; + width: 450px; + margin-right:auto; + + margin-left:auto; + text-align: left; + padding-top:12px; + font-family: arial; + font-size:12px; + font-weight:lighter; + color:#7e7e7e; +} + +.top_description{ + overflow: hidden; + height: 65px; + width: 600px; + color: #7e7e7e; +} +/*显示浅颜色的字体*/ +.fontligher{ + font-family: arial; + font-size:12px; + font-weight:lighter; + color:#505050; + + height: 34px; + width: 500px; + margin-right:auto; + margin-left:auto; + text-align: left; + padding-top:10px; + +} +.documenttext{ /*没用*/ + /*white-space:nowrap;*/ + overflow: hidden; + height: 220px; + width: 100px; + margin-right:auto; + margin-left:auto; + text-align: left; + padding-top:10px; +} +.tablecontext_single{ + white-space:nowrap; + overflow: hidden; + text-overflow:ellipsis; + + width: 450px; + margin-right:auto; + margin-left:auto; + text-align: left; + padding-top:0px; +} +/*单行隐藏不限长度*/ +.alone_sigle{ + white-space:nowrap; + overflow: hidden; + text-overflow:ellipsis; +} +.firstname_project{ /*控制读出的project标题内容*/ + white-space:nowrap; + width: 120px; + + width: 300px; + margin-right:auto; + margin-left:auto; + text-align: left; + padding-top:5px; +} +.firstname_project{ /*控制读出的project标题内容*/ + white-space:nowrap; + width: 100px; + + overflow: hidden; + margin-right:auto; + margin-left:auto; + text-align: left; + + + font-size:24px; + font-weight:bold; + text-decoration:none; + color:#000000; +} +.firdtname_project{ + + font-size:12px; + font-weight:bold; + text-decoration:none; + color:#116699; + + + +} +.lbadding h3{ + color: #1c5c76; + font-size: 16px; + line-height: 19px; + margin-bottom: 0; + margin-top: 0; + text-decoration: underline; +} +.last_active{ + color: #AA9C84; + font-size:12px; + text-decoration: none; +} +ul.newprojects{ /*huang*/ + margin: 0px; + padding-left: 2em; +} +ul.newprojects ul{ + padding-left:1.6em; +} +ul.newprojects li{ /*huang 块状*/ + padding:4%; + background-color:#f5f1e8; + margin:0 0 3px; + display:inline-block; + display:inline-block; + vertical-align:top; + width:200px; + vertical-align:top; + border-bottom:5px #DBEDF4 solid; + border-left:2px dotted #DBEDF4; + min-height:260px; + line-height: 30px; +} +/*ul.newprojects li documenttext{ *//*未wan*/ + /*overflow: hidden;*/ + /*height: 260px;*/ + /*width: 200px;*/ + /*margin-right:auto;*/ + /**/ + /*padding-top:10px;*/ +/*}*/ +ul.newprojects2{ /*huang*/ + margin: 0px; + padding-left: 2em; +} +ul.newprojects2 ul{ + padding-left:1.6em; +} +ul.newprojects2 li{ + list-style-type: none; + line-height: 10px; + } +.newfeedback{ + height: auto; + margin-left: 0px; + margin-bottom: 12px; + border: 0px none !important; +} + +.newfeedback h1{ + color: inherit; +} +/***** Layout *****/ +#wrapper {background: white;} + +#top-menu {background: #3E5B76; color: #000; height:1.8em; font-size: 1.0em; padding: 2px 2px 0px 6px;} +#top-menu ul {margin: 0; padding: 0;} +#top-menu li { + float:left; + list-style-type:none; + margin: 0px 0px 0px 0px; + padding: 0px 0px 0px 0px; + white-space:nowrap; +} +#top-menu a {color: #fff; margin-right: 8px; font-weight: bold;} +#top-menu #loggedas + { + float: right; + + margin-right: 0.5em; + color: #fff; + } + +#account {float:right;} +#account-enterprise{ + float: right; + padding-top: 10px; + padding-right: 347px; + +} +#account-college{ + + float: right; + padding-top: 10px; + padding-right: 302px; + +} + +#header {min-height:5.3em;margin:0;background-color:#628DB6;color:#f8f8f8; padding: 4px 8px 20px 6px; position:relative;} +#header a {color:#f8f8f8;} +#header h1 a.ancestor { font-size: 80%; } +#quick-search {float:right;} + +#main-menu {left:6px;}/*by young*/ +#main-menu ul {margin: 0; padding: 0;} +#main-menu li { + float:left; + list-style-type:none; + margin: 0px 2px 0px 0px; + padding: 0px 0px 0px 0px; + white-space:nowrap; +} +#main-menu li a { + display: block; + color: #039ea0; + text-decoration: none; + font-weight: bold; + margin: 0; + padding: 4px 10px 4px 10px; +} +#main-menu li a:hover {background:#759FCF; color:#fff;} +#main-menu li a.selected, #main-menu li a.selected:hover {background:#fff; color:#555;} + +#admin-menu ul {margin: 0; padding: 0;} +#admin-menu li {margin: 0; padding: 0 0 6px 0; list-style-type:none;} + +#admin-menu a { background-position: 0% 40%; background-repeat: no-repeat; padding-left: 20px; padding-top: 2px; padding-bottom: 3px;} +#admin-menu a.projects { background-image: url(../images/projects.png); } +#admin-menu a.users { background-image: url(../images/user.png); } +#admin-menu a.groups { background-image: url(../images/group.png); } +#admin-menu a.roles { background-image: url(../images/database_key.png); } +#admin-menu a.trackers { background-image: url(../images/ticket.png); } +#admin-menu a.issue_statuses { background-image: url(../images/ticket_edit.png); } +#admin-menu a.workflows { background-image: url(../images/ticket_go.png); } +#admin-menu a.custom_fields { background-image: url(../images/textfield.png); } +#admin-menu a.enumerations { background-image: url(../images/text_list_bullets.png); } +#admin-menu a.settings { background-image: url(../images/changeset.png); } +#admin-menu a.plugins { background-image: url(../images/plugin.png); } +#admin-menu a.info { background-image: url(../images/help.png); } +#admin-menu a.server_authentication { background-image: url(../images/server_key.png); } + +#main {background-color:#EEEEEE;} + +#sidebar{ float: left; width: 22%; position: relative; z-index: 9; padding: 0; margin: 0;}/*by young*/ +* html #sidebar{ width: 22%; } +#sidebar h3{ font-size: 14px; margin-top:14px; color: #666; } +#sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; } +* html #sidebar hr{ width: 95%; position: relative; left: -6px; color: #ccc; } +#sidebar .contextual { margin-right: 1em; } + +#content { }/*by young*/ +* html #content{ width: 75%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;} +html>body #content { min-height: 600px; } +* html body #content { height: 600px; } /* IE */ + +#main.nosidebar #sidebar{ display: none; } +#main.nosidebar #content{ width: auto; border-right: 0; } + + +#footer {clear: both; border-top: 1px solid #bbb; font-size: 0.9em; color: #aaa; padding: 5px; text-align:center; background:#fff;} + +#login-form table {margin-top:5em; padding:1em; margin-left: auto; margin-right: auto; border: 2px solid #FDBF3B; background-color:#FFEBC1; } +#login-form table td {padding: 6px;} +#login-form label {font-weight: bold;} +#login-form input#username, #login-form input#password { width: 300px; } + +div.modal { border-radius:5px; background:#fff; z-index:50; padding:4px;} +div.modal h3.title {display:none;} +div.modal p.buttons {text-align:right; margin-bottom:0;} + +input#openid_url { background: url(../images/openid-bg.gif) no-repeat; background-color: #fff; background-position: 0 50%; padding-left: 18px; } + +.clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; } + +/***** Links *****/ +a, a:link, a:visited{ color: #169; text-decoration: none; } +a:hover, a:active{ color: #c61a1a; text-decoration: underline;} +a img{ border: 0; } + +a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-decoration: line-through; } +a.project.closed, a.project.closed:link, a.project.closed:visited { color: #999; } +a.user.locked, a.user.locked:link, a.user.locked:visited {color: #999;} + +#sidebar a.selected {line-height:1.7em; padding:1px 3px 2px 2px; margin-left:-2px; background-color:#9DB9D5; color:#fff; border-radius:2px;} +#sidebar a.selected:hover {text-decoration:none;} +#admin-menu a {line-height:1.7em;} +#admin-menu a.selected {padding-left: 20px !important; background-position: 2px 40%;} + +a.collapsible {padding-left: 12px; background: url(../images/arrow_expanded.png) no-repeat -3px 40%;} +a.collapsible.collapsed {background: url(../images/arrow_collapsed.png) no-repeat -5px 40%;} + +a#toggle-completed-versions {color:#999;} +/***** Tables *****/ +table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; } +table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; } +table.list td { vertical-align: top; padding-right:10px; } +table.list td.id { width: 2%; text-align: center;} +table.list td.checkbox { width: 15px; padding: 2px 0 0 0; } +table.list td.checkbox input {padding:0px;} +table.list td.buttons { width: 15%; white-space:nowrap; text-align: right; } +table.list td.buttons a { padding-right: 0.6em; } +table.list caption { text-align: left; padding: 0.5em 0.5em 0.5em 0; } + +tr.project td.name a { white-space:nowrap; } +tr.project.closed, tr.project.archived { color: #aaa; } +tr.project.closed a, tr.project.archived a { color: #aaa; } + +tr.project.idnt td.name span {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;} +tr.project.idnt-1 td.name {padding-left: 0.5em;} +tr.project.idnt-2 td.name {padding-left: 2em;} +tr.project.idnt-3 td.name {padding-left: 3.5em;} +tr.project.idnt-4 td.name {padding-left: 5em;} +tr.project.idnt-5 td.name {padding-left: 6.5em;} +tr.project.idnt-6 td.name {padding-left: 8em;} +tr.project.idnt-7 td.name {padding-left: 9.5em;} +tr.project.idnt-8 td.name {padding-left: 11em;} +tr.project.idnt-9 td.name {padding-left: 12.5em;} + +tr.issue { text-align: center; white-space: nowrap; } +tr.issue td.subject, tr.issue td.category, td.assigned_to, tr.issue td.string, tr.issue td.text, tr.issue td.relations { white-space: normal; } +tr.issue td.subject, tr.issue td.relations { text-align: left; } +tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;} +tr.issue td.relations span {white-space: nowrap;} +table.issues td.description {color:#777; font-size:90%; padding:4px 4px 4px 24px; text-align:left; white-space:normal;} +table.issues td.description pre {white-space:normal;} + +tr.issue.idnt td.subject a {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;} +tr.issue.idnt-1 td.subject {padding-left: 0.5em;} +tr.issue.idnt-2 td.subject {padding-left: 2em;} +tr.issue.idnt-3 td.subject {padding-left: 3.5em;} +tr.issue.idnt-4 td.subject {padding-left: 5em;} +tr.issue.idnt-5 td.subject {padding-left: 6.5em;} +tr.issue.idnt-6 td.subject {padding-left: 8em;} +tr.issue.idnt-7 td.subject {padding-left: 9.5em;} +tr.issue.idnt-8 td.subject {padding-left: 11em;} +tr.issue.idnt-9 td.subject {padding-left: 12.5em;} + +tr.entry { border: 1px solid #f8f8f8; } +tr.entry td { white-space: nowrap; } +tr.entry td.filename { width: 30%; } +tr.entry td.filename_no_report { width: 70%; } +tr.entry td.size { text-align: right; font-size: 90%; } +tr.entry td.revision, tr.entry td.author { text-align: center; } +tr.entry td.age { text-align: right; } +tr.entry.file td.filename a { margin-center: 16px; } +tr.entry.file td.filename_no_report a { margin-left: 16px; } + +tr span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;} +tr.open span.expander {background-image: url(../images/bullet_toggle_minus.png);} + +tr.changeset { height: 20px } +tr.changeset ul, ol { margin-top: 0px; margin-bottom: 0px; } +tr.changeset td.revision_graph { width: 15%; background-color: #fffffb; } +tr.changeset td.author { text-align: center; width: 15%; white-space:nowrap;} +tr.changeset td.committed_on { text-align: center; width: 15%; white-space:nowrap;} + +table.files tr.file td { text-align: center; } +table.files tr.file td.filename { text-align: left; padding-left: 24px; } +table.files tr.file td.digest { font-size: 80%; } + +table.members td.roles, table.memberships td.roles { width: 45%; } + +tr.message { height: 2.6em; } +tr.message td.subject { padding-left: 20px; } +tr.message td.created_on { white-space: nowrap; } +tr.message td.last_message { font-size: 80%; white-space: nowrap; } +tr.message.locked td.subject { background: url(../images/locked.png) no-repeat 0 1px; } +tr.message.sticky td.subject { background: url(../images/bullet_go.png) no-repeat 0 1px; font-weight: bold; } + +tr.version.closed, tr.version.closed a { color: #999; } +tr.version td.name { padding-left: 20px; } +tr.version.shared td.name { background: url(../images/link.png) no-repeat 0% 70%; } +tr.version td.date, tr.version td.status, tr.version td.sharing { text-align: center; white-space:nowrap; } + +tr.user td { width:13%; } +tr.user td.email { width:18%; } +tr.user td { white-space: nowrap; } +tr.user.locked, tr.user.registered { color: #aaa; } +tr.user.locked a, tr.user.registered a { color: #aaa; } + +table.permissions td.role {color:#999;font-size:90%;font-weight:normal !important;text-align:center;vertical-align:bottom;} + +tr.wiki-page-version td.updated_on, tr.wiki-page-version td.author {text-align:center;} + +tr.time-entry { text-align: center; white-space: nowrap; } +tr.time-entry td.issue, tr.time-entry td.comments { text-align: left; white-space: normal; } +td.hours { text-align: right; font-weight: bold; padding-right: 0.5em; } +td.hours .hours-dec { font-size: 0.9em; } + +table.plugins td { vertical-align: middle; } +table.plugins td.configure { text-align: right; padding-right: 1em; } +table.plugins span.name { font-weight: bold; display: block; margin-bottom: 6px; } +table.plugins span.description { display: block; font-size: 0.9em; } +table.plugins span.url { display: block; font-size: 0.9em; } + +table.list tbody tr.group td { padding: 0.8em 0 0.5em 0.3em; font-weight: bold; border-bottom: 1px solid #ccc; } +table.list tbody tr.group span.count {position:relative; top:-1px; color:#fff; font-size:10px; background:#9DB9D5; padding:0px 6px 1px 6px; border-radius:3px; margin-left:4px;} +tr.group a.toggle-all { color: #aaa; font-size: 80%; font-weight: normal; display:none;} +tr.group:hover a.toggle-all { display:inline;} +a.toggle-all:hover {text-decoration:none;} + +table.list tbody tr:hover { background-color:#ffffdd; } +table.list tbody tr.group:hover { background-color:inherit; } +table td {padding:2px;} +table p {margin:0;} +.odd {background-color:#f6f7f8;} +.even {background-color: #fff;} + +a.sort { padding-right: 16px; background-position: 100% 50%; background-repeat: no-repeat; } +a.sort.asc { background-image: url(../images/sort_asc.png); } +a.sort.desc { background-image: url(../images/sort_desc.png); } + +table.attributes { width: 100% } +table.attributes th { vertical-align: top; text-align: left; } +table.attributes td { vertical-align: top; } + +/*table.boards a.board, h3.comments {*background: url(../images/comment.png) no-repeat 0% 50%; padding-left: 5px; }*/ +table.boards td.topic-count, table.boards td.message-count {text-align:center;} +table.boards td.last-message {font-size:80%;} + +table.messages td.author, table.messages td.created_on, table.messages td.reply-count {text-align:center;} + +table.query-columns { + border-collapse: collapse; + border: 0; +} + +table.query-columns td.buttons { + vertical-align: middle; + text-align: center; +} + +td.center {text-align:center;} + +h3.version { background: url(../images/package.png) no-repeat 0% 50%; padding-left: 20px; } + +div.issues h3 { background: url(../images/ticket.png) no-repeat 0% 50%; padding-left: 20px; } +div.members h3 { background: url(../images/group.png) no-repeat 0% 50%; padding-left: 20px; } +div.news h3 { background: url(../images/news.png) no-repeat 0% 50%; padding-left: 20px; } +div.projects h3 { background: url(../images/projects.png) no-repeat 0% 50%; padding-left: 20px; } + +#watchers ul {margin: 0; padding: 0;} +#watchers li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;} +#watchers select {width: 95%; display: block;} +#watchers a.delete {opacity: 0.4; vertical-align: middle;} +#watchers a.delete:hover {opacity: 1;} +#watchers img.gravatar {margin: 0 4px 2px 0;} + +span#watchers_inputs {overflow:auto; display:block;} +span.search_for_watchers {display:block;} +span.search_for_watchers, span.add_attachment {font-size:80%; line-height:2.5em;} +span.search_for_watchers a, span.add_attachment a {padding-left:16px; background: url(../images/bullet_add.png) no-repeat 0 50%; } + + +.highlight { background-color: #FCFD8D;} +.highlight.token-1 { background-color: #faa;} +.highlight.token-2 { background-color: #afa;} +.highlight.token-3 { background-color: #aaf;} + +.box{ + padding:6px; + margin-bottom: 10px; + background-color:#f6f6f6; + color:#505050; + line-height:1.5em; + border: 1px solid #e4e4e4; +} + +div.square { + border: 1px solid #999; + float: left; + margin: .3em .4em 0 .4em; + overflow: hidden; + width: .6em; height: .6em; +} +.contextual {float:right; white-space: nowrap; line-height:1.4em;/*margin-top:5px;*/ padding-left: 10px;padding-right: 10px;padding-top: 5px; font-size:0.9em;} +.contextual input, .contextual select {font-size:0.9em;} +.message .contextual { margin-top: 0; } + +.splitcontent {overflow:auto;} +.splitcontentleft{float:left; width:49%;} +/*Added by young*/ + +.hotlist { +padding:0 15px 25px; +} +.splitcontentleft_{float:left; width:33%;} +.splitcontentright_{float:right; width:33%;} +.table{margin-top:10px;margin-left: 100px;} +.table_{margin-top:-10px; +margin-left:-10px; +} + +.splitcontentleft_{float:left; width:33%;} +.splitcontentright_{float:right; width:33%;} +.table{margin-top:10px;margin-left: 100px;} +.table_{margin-top:10px;} + +.table_font{font-size:20px;color:#DD0000} +.registerd_box{padding-left: 600px;} +.project_table{margin:0,0,0,0;margin-bottom:10px;background-color:#0ee;height:50px;} +.project_header_tag{float:right; color:#000000;} + +.project_right_tag{margin-top:44%;} +.project_homepage_tag{float:left; margin-top:9%;color:#000000;} +.project_infor_tag{/*float:auto;*/color:#000000;padding-left: 15px;} +.project_page_tag{float:right;color:#C0C0C0; font-family: '微软雅黑';font-size: 13px;} +.wiki_text{font-size:small;color:#000000;} +.user_setting{float:right; color:#000000;padding-right: 10px;} +.line_color{color:#000000;} + +.project_right_tag{margin-top:40%;} +.project_homepage_tag{padding-left:570px;color:#000000;} +.project_infor_tag{/*float:auto;*/color:#000000;padding-left: 15px; } +.project_page_tag{float:right;color:#C0C0C0; font-family: '微软雅黑';font-size: 13px;} +.wiki_text{font-size:small;color:#000000;} +.user_setting +{ + float:right; + /*color:#000000;*/ + padding-right:10px; + background-color: #CCCCBB; + border-radius: 5px 5px 5px 5px; + color: rgb(58, 88, 125) !important; + padding: 0px 4px; + margin: 3px; + display: inline-block; + font-size: 11px; + text-decoration: none; + cursor: pointer; +} +.line_color{color:#000000;} +.project_description +{ + overflow: hidden; + text-overflow:ellipsis; + width:500px; + height:50px; +} + +/*#header a {font-family:'微软雅黑', Verdana, sans-serif; font-size: 12px; color:#808080;}*/ +#login-form_new table/*Added by young*/ +{ + height: 165px; + padding:20px 25px; + background:#fff; + text-align:left; + + margin-top: 50px; + width:320px; + + /*font-family:微软雅黑,lucida grande,verdana;*/ + font-size:12px; + -webkit-border-radius:10px; + -moz-border-radius:10px; + border-radius:10px; + -moz-box-shadow:0 0 6px #039ea0; + -webkit-box-shadow:0 0 6px #039ea0; + box-shadow:0 0 6px #039ea0; + border:1px solid #AAA; + margin-left:20px; +} +/*end*/ +.splitcontentright{float:right; width:49%;} +form {display: inline;} + +/*added by bai*/ +input[type="submit"].bid_btn { + padding-bottom: 5px; + width: 55px; + height: 25px; + font-family: '微软雅黑', Arial, Helvetica, sans-serif; + font-size: 12px; + color: #fff; + padding: 0px; + background: #15bccf; + border-radius: 4px; + border: 1px solid #15bccf; + box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2), 0px 0px 2px rgb(255, 255, 255) inset; + text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.2), 0px 1px 0px rgb(255, 255, 255); + cursor: pointer; +} + +input[type="button"].bid_btn { + /*padding-bottom: 5px;*/ + width: 55px; + height: 25px; + font-family: '微软雅黑', Arial, Helvetica, sans-serif; + font-size: 12px; + color: #fff; + padding: 0px; + background: #15bccf; + border-radius: 4px; + border: 1px solid #15bccf; + box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2), 0px 0px 2px rgb(255, 255, 255) inset; + text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.2), 0px 1px 0px rgb(255, 255, 255); + cursor: pointer; +} +/*end */ + +fieldset {border: 1px solid #e4e4e4; margin:0;} +legend {color: #484848;} +hr { width: 100%; height: 1px; background: #ccc; border: 0; color:#000000;} +blockquote { + /*font-style: italic; */ + border-left: 1px solid #e0e0e0; + border-right: 1px solid #e0e0e0; + border-top: 1px solid #e0e0e0; + border-bottom: 1px solid #e0e0e0; + padding-left: 0.6em; + padding-top: 0.6em; + padding-right: 0.6em; + padding-bottom: 0.6em; + margin-left: 1.4em; + margin-right: 0.4em; + border-radius: 4px; + font-family: "Microsoft YaHei"; + background: url('../images/requirements/reference.jpg') +} + +blockquote blockquote { margin-left: 0;} +acronym { border-bottom: 1px dotted; cursor: help; } +textarea.wiki-edit {width:99%; resize:vertical;} +li p {margin-top: 0;} +div.issue {background:#ffffdd; padding:6px; margin-bottom:6px;border: 1px solid #d7d7d7;} +p.breadcrumb { font-size: 0.9em; margin: 4px 0 4px 0;} +p.subtitle { font-size: 0.9em; margin: -6px 0 12px 0; font-style: italic; } +p.footnote { font-size: 0.9em; margin-top: 0px; margin-bottom: 0px; } + +div.issue div.subject div div { padding-left: 16px; } +div.issue div.subject p {margin: 0; margin-bottom: 0.1em; font-size: 90%; color: #999;} +div.issue div.subject>div>p { margin-top: 0.5em; } +div.issue div.subject h3 {margin: 0; margin-bottom: 0.1em;} +div.issue span.private { position:relative; bottom: 2px; text-transform: uppercase; background: #d22; color: #fff; font-weight:bold; padding: 0px 2px 0px 2px; font-size: 60%; margin-right: 2px; border-radius: 2px;} +div.issue .next-prev-links {color:#999;} +div.issue table.attributes th {width:22%;} +div.issue table.attributes td {width:28%;} + +#issue_tree table.issues, #relations table.issues { border: 0; } +#issue_tree td.checkbox, #relations td.checkbox {display:none;} +#relations td.buttons {padding:0;} + +fieldset.collapsible { border-width: 1px 0 0 0; font-size: 0.9em; } +fieldset.collapsible>legend { padding-left: 16px; background: url(../images/arrow_expanded.png) no-repeat 0% 40%; cursor:pointer; } +fieldset.collapsible.collapsed>legend { background-image: url(../images/arrow_collapsed.png); } + +fieldset#date-range p { margin: 2px 0 2px 0; } +fieldset#filters table { border-collapse: collapse; } +fieldset#filters table td { padding: 0; vertical-align: middle; } +fieldset#filters tr.filter { height: 2.1em; } +fieldset#filters td.field { width:230px; } +fieldset#filters td.operator { width:180px; } +fieldset#filters td.operator select {max-width:170px;} +fieldset#filters td.values { white-space:nowrap; } +fieldset#filters td.values select {min-width:130px;} +fieldset#filters td.values input {height:1em;} +fieldset#filters td.add-filter { text-align: right; vertical-align: top; } + +.toggle-multiselect {/*background: url(../images/bullet_toggle_plus.png) no-repeat 0% 40%;*/ padding-left:8px; margin-left:0; cursor:pointer;} +.buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; } + +div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;} +div#issue-changesets div.changeset { padding: 4px;} +div#issue-changesets div.changeset { border-bottom: 1px solid #ddd; } +div#issue-changesets p { margin-top: 0; margin-bottom: 1em;} + +.journal ul.details img {margin:0 0 -3px 4px;} +div.journal {overflow:auto;} +div.journal.private-notes {border-left:2px solid #d22; padding-left:4px; margin-left:-6px;} + +div#activity dl, #search-results { margin-left: 2em; } +div#activity dd, #search-results dd { margin-bottom: 1em; padding-left: 18px; font-size: 0.9em; } +div#activity dt, #search-results dt { margin-bottom: 0px; padding-left: 20px; line-height: 18px; background-position: 0 50%; background-repeat: no-repeat; } +div#activity dt.me .time { border-bottom: 1px solid #999; } +div#activity dt .time { color: #777; font-size: 80%; } +div#activity dd .description, #search-results dd .description { font-style: italic; } +div#activity span.project:after, #search-results span.project:after { content: " -"; } +div#activity dd span.description, #search-results dd span.description { display:block; color: #808080; } +div#activity dt.grouped {margin-left:5em;} +div#activity dd.grouped {margin-left:9em;} + +#search-results dd { margin-bottom: 1em; padding-left: 20px; margin-left:0px; } + +div#search-results-counts {float:right;} +div#search-results-counts ul { margin-top: 0.5em; } +div#search-results-counts li { list-style-type:none; float: left; margin-left: 1em; } + +dt.issue { background-image: url(../images/ticket.png); } +dt.issue-edit { background-image: url(../images/ticket_edit.png); } +dt.issue-closed { background-image: url(../images/ticket_checked.png); } +dt.issue-note { background-image: url(../images/ticket_note.png); } +dt.changeset { background-image: url(../images/changeset.png); } +dt.news { background-image: url(../images/news.png); } +dt.message { background-image: url(../images/message.png); } +dt.reply { background-image: url(../images/comments.png); } +dt.wiki-page { background-image: url(../images/wiki_edit.png); } +dt.attachment { background-image: url(../images/attachment.png); } +dt.document { background-image: url(../images/document.png); } +dt.project { background-image: url(../images/projects.png); } +dt.time-entry { background-image: url(../images/time.png); } + +#search-results dt.issue.closed { background-image: url(../images/ticket_checked.png); } + +div#roadmap .related-issues { margin-bottom: 1em; } +div#roadmap .related-issues td.checkbox { display: none; } +div#roadmap .wiki h1:first-child { display: none; } +div#roadmap .wiki h1 { font-size: 120%; } +div#roadmap .wiki h2 { font-size: 110%; } +body.controller-versions.action-show div#roadmap .related-issues {width:70%;} + +div#version-summary { float:right; width:28%; margin-left: 16px; margin-bottom: 16px; background-color: #fff; } +div#version-summary fieldset { margin-bottom: 1em; } +div#version-summary fieldset.time-tracking table { width:100%; } +div#version-summary th, div#version-summary td.total-hours { text-align: right; } + +table#time-report td.hours, table#time-report th.period, table#time-report th.total { text-align: right; padding-right: 0.5em; } +table#time-report tbody tr.subtotal { font-style: italic; color:#777;} +table#time-report tbody tr.subtotal td.hours { color:#b0b0b0; } +table#time-report tbody tr.total { font-weight: bold; background-color:#EEEEEE; border-top:1px solid #e4e4e4;} +table#time-report .hours-dec { font-size: 0.9em; } + +div.wiki-page .contextual a {opacity: 0.4} +div.wiki-page .contextual a:hover {opacity: 1} + +form .attributes select { width: 60%; } +input#issue_subject { width: 99%; } +select#issue_done_ratio { width: 95px; } + +ul.projects {margin:0px; padding-left:0em;}/*1em*/ +ul.projects ul {padding-left:1.6em;} +ul.projects.root {margin:0; padding:0;} + +ul.projects li {list-style-type:none;} + +ul.projects li {list-style-type:none; + + } + + +#projects-index ul.projects ul.projects { border-left: 3px solid #e0e0e0; padding-left:1em;} +#projects-index ul.projects li.root {margin-bottom: 1em;} +#projects-index ul.projects li.child {margin-top: 1em;} +#projects-index ul.projects div.root a.project {font-family:'微软雅黑', "Trebuchet MS", Verdana, sans-serif; font-weight: bold; font-size: 14px; margin: 0 0 10px 0; } +.my-project { padding-left: 18px; background: url(../images/fav.png) no-repeat 0 50%; } + +#notified-projects ul, #tracker_project_ids ul {max-height:250px; overflow-y:auto;} + +#related-issues li img {vertical-align:middle;} + +ul.properties {padding:0; font-size: 0.9em; color: #777;} +ul.properties li {list-style-type:none;} +ul.properties li span {font-style:italic;} + +.total-hours { font-size: 110%; font-weight: bold; } +.total-hours span.hours-int { font-size: 120%; } +.gender { width: 20%; } +/*added by bai 增加了性别、地区和单位的样式 */ +#my_account_form select.gender { width: 20%; } +#my_account_form select.location {width: 31%;} +#my_account_form .occupation { width: 56%; } +/*end*/ + +/*added by bai 增加了性别、地区和单位的样式 */ +#my_account_form select.gender { width: 20%; } +#my_account_form select.location {width: 31%;} +#my_account_form .occupation { width: 56%; } +/*end*/ + +.autoscroll {overflow-x: auto; padding:1px; margin-bottom: 1.2em;} +/*#user_login, #user_firstname, #user_lastname, #user_mail, #my_account_form select, #user_form select, #user_identity_url { width: 45%; }*/ + +#workflow_copy_form select { width: 200px; } +table.transitions td.enabled {background: #bfb;} +table.fields_permissions select {font-size:90%} +table.fields_permissions td.readonly {background:#ddd;} +table.fields_permissions td.required {background:#d88;} + +textarea#custom_field_possible_values {width: 99%} +textarea#custom_field_default_value {width: 99%} + +input#content_comments {width: 99%} + + +p.pagination {margin-top:8px; font-size: 90%} + +/***** Tabular forms ******/ +.tabular p{ + margin: 0; + padding: 3px 0 3px 0; + padding-left: 100px; /* width of left column containing the label elements *//*by young*/ + /*min-height: 1.8em;*/ + clear:left; +} + +.tabular .tabDiv{ + margin: 0; + padding: 3px 0 3px 0; + padding-left: 100px; /* width of left column containing the label elements *//*by young*/ + /*min-height: 1.8em;*/ + clear:left; +} + +html>body .tabular p {overflow:hidden;} + +.tabular label{ + font-weight: bold; + float: left; + text-align: right; + /* width of left column */ + margin-left: -180px; + /* width of labels. Should be smaller than left column to create some right margin */ + width: 175px; + font-size: 12px; +} + +.tabular label.floating{ + font-weight: normal; + margin-left: 0px; + text-align: left; + width: 270px; +} + +.tabular label.block{ + font-weight: normal; + margin-left: 0px !important; + text-align: left; + float: none; + display: block; + width: auto; +} + +.tabular label.inline{ + font-weight: normal; + float:none; + margin-left: 5px !important; + width: auto; +} + +label.no-css { + font-weight: inherit; + float:none; + text-align:left; + margin-left:0px; + width:auto; +} +input#time_entry_comments { width: 90%;} + +#preview fieldset {margin-top: 1em; background: url(../images/draft.png)} + +.tabular.settings p{ padding-left: 300px; } +.tabular.settings label{ margin-left: -300px; width: 295px; } +.tabular.settings textarea { width: 99%; } + +.settings.enabled_scm table {width:100%} +.settings.enabled_scm td.scm_name{ font-weight: bold; } + +fieldset.settings label { display: block; } +fieldset#notified_events .parent { padding-left: 20px; } + +span.required {color: #bb0000;} +.summary {font-style: italic;} + +#attachments_fields input.description {margin-left:4px; width:100px; } +#attachments_fields span .boldSpan{display:block; white-space:nowrap; font-family:'微软雅黑';} +#attachments_fields input.filename {border:0; height:1.8em; width:150px; color:#555; background-color:inherit; background:url(../images/attachment.png) no-repeat 1px 50%; padding-left:18px;}/*Modified by young*/ +#attachments_fields .ajax-waiting input.filename {background:url(../images/hourglass.png) no-repeat 0px 50%;} +#attachments_fields .ajax-loading input.filename {background:url(../images/loading.gif) no-repeat 0px 50%;} +#attachments_fields div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; } +a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%; width:1px; display:inline-block; padding-left:16px;} +a.remove-upload:hover {text-decoration:none !important;} + +/*gcm upload file count and deleteall*/ +#upload_file_count #count {color:red; font-size:1.5em;} +span.add_attachment .remove_all {background:none;background: url(../images/delete.png) no-repeat 1px 50%; width:1px; display:inline-block;right:10%;text-decoration:none;} + + +div.fileover { background-color: lavender; } + +div.attachments { margin-top: 12px; } +div.attachments p { margin:4px 0 2px 0; } +div.attachments img { vertical-align: middle; } +div.attachments span.author { font-size: 0.9em; color: #888; } + +div.thumbnails {margin-top:0.6em;} +div.thumbnails div {background:#fff;border:2px solid #ddd;display:inline-block;margin-right:2px;} +div.thumbnails img {margin: 3px;} + +p.other-formats { text-align: right; font-size:0.9em; color: #666; } +.other-formats span + span:before { content: "| "; } + +a.atom { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; } + +/*modified by bai 改变了字体颜色和加粗*/ +em.info {font-style:normal; font-size:90%; color:#505050; font-weight:bold; display:block;} +em.info.error {padding-left:20px; background:url(../images/exclamation.png) no-repeat 0 50%;} +/*end*/ +textarea.text_cf {width:90%;} + +#tab-content-modules fieldset p {margin:3px 0 4px 0;} + +#tab-content-members .splitcontentleft, #tab-content-memberships .splitcontentleft, #tab-content-users .splitcontentleft {width: 64%;} +#tab-content-members .splitcontentright, #tab-content-memberships .splitcontentright, #tab-content-users .splitcontentright {width: 34%;} +#tab-content-members fieldset, #tab-content-memberships fieldset, #tab-content-users fieldset {padding:1em; margin-bottom: 1em;} +#tab-content-members fieldset legend, #tab-content-memberships fieldset legend, #tab-content-users fieldset legend {font-weight: bold; font-size: 12px} +#tab-content-members fieldset label, #tab-content-memberships fieldset label, #tab-content-users fieldset label {display: block;} +#tab-content-members #principals, #tab-content-users #principals {max-height: 400px; overflow: auto;} + +#users_for_watcher {height: 200px; overflow:auto;} +#users_for_watcher label {display: block;} + +table.members td.group { padding-left: 20px; background: url(../images/group.png) no-repeat 0% 50%; } + +input#principal_search, input#user_search {width:90%} + +input.autocomplete { + background: #fff url(../images/magnifier.png) no-repeat right 50%; padding-left:20px; + border:1px solid #9EB1C2; border-radius:2px; height:1.5em; +} +input.autocomplete.ajax-loading { + background-image: url(../images/loading.gif); +} + +/***** Flash & error messages ****/ +#errorExplanation, div.flash, .nodata, .warning, .conflict { + padding: 4px 4px 4px 30px; + margin-bottom: 12px; + font-size: 1.1em; + border: 2px solid; +} + +div.flash {margin-top: 8px;} + +div.flash.error, #errorExplanation { + background: url(../images/exclamation.png) 8px 50% no-repeat; + background-color: #ffe3e3; + border-color: #dd0000; + color: #880000; +} + +div.flash.notice { + background: url(../images/true.png) 8px 5px no-repeat; + background-color: #dfffdf; + border-color: #9fcf9f; + color: #005f00; +} + +div.flash.warning, .conflict { + background: url(../images/warning.png) 8px 5px no-repeat; + background-color: #FFEBC1; + border-color: #FDBF3B; + color: #A6750C; + text-align: left; +} + +.nodata, .warning { + text-align: center; + background-color: #FFEBC1; + border-color: #FDBF3B; + color: #A6750C; +} + +#errorExplanation ul { font-size: 0.9em;} +#errorExplanation h2, #errorExplanation p { display: none; } + +.conflict-details {font-size:80%;} + +/***** Ajax indicator ******/ +#ajax-indicator { +position: absolute; /* fixed not supported by IE */ +background-color:#eee; +border: 1px solid #bbb; +top:35%; +left:40%; +width:20%; +font-weight:bold; +text-align:center; +padding:0.6em; +z-index:100; +opacity: 0.5; +} + +html>body #ajax-indicator { position: fixed; } + +#ajax-indicator span { +background-position: 0% 40%; +background-repeat: no-repeat; +background-image: url(../images/loading.gif); +padding-left: 26px; +vertical-align: bottom; +} + +/***** Calendar *****/ +table.cal {border-collapse: collapse; width: 100%; margin: 0px 0 6px 0;border: 1px solid #d7d7d7;} +table.cal thead th {width: 14%; background-color:#EEEEEE; padding: 4px; } +table.cal thead th.week-number {width: auto;} +table.cal tbody tr {height: 100px;} +table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em;} +table.cal td.week-number { background-color:#EEEEEE; padding: 4px; border:none; font-size: 1em;} +table.cal td p.day-num {font-size: 1.1em; text-align:right;} +table.cal td.odd p.day-num {color: #bbb;} +table.cal td.today {background:#ffffdd;} +table.cal td.today p.day-num {font-weight: bold;} +table.cal .starting a, p.cal.legend .starting {background: url(../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;} +table.cal .ending a, p.cal.legend .ending {background: url(../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;} +table.cal .starting.ending a, p.cal.legend .starting.ending {background: url(../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;} +p.cal.legend span {display:block;} + +/***** Tooltips ******/ +.tooltip{position:relative;z-index:24;} +.tooltip:hover{z-index:25;color:#000;} +.tooltip span.tip{display: none; text-align:left;} + +div.tooltip:hover span.tip{ +display:block; +position:absolute; +top:12px; left:24px; width:270px; +border:1px solid #555; +background-color:#fff; +padding: 4px; +font-size: 0.8em; +color:#505050; +} + +img.ui-datepicker-trigger { + cursor: pointer; + vertical-align: middle; + margin-left: 4px; +} + +/***** Progress bar *****/ +table.progress { + border-collapse: collapse; + border-spacing: 0pt; + empty-cells: show; + text-align: center; + float:left; + margin: 1px 6px 1px 0px; +} + +table.progress td { height: 1em; } +table.progress td.closed { background: #BAE0BA none repeat scroll 0%; } +table.progress td.done { background: #D3EDD3 none repeat scroll 0%; } +table.progress td.todo { background: #eee none repeat scroll 0%; } +p.percent {font-size: 80%;} +p.progress-info {clear: left; font-size: 80%; margin-top:-4px; color:#777;} + +#roadmap table.progress td { height: 1.2em; } +/***** Tabs *****/ +#content .tabs {height: 2.6em; margin-bottom:1.2em; position:relative; overflow:hidden;} +#content .tabs ul {margin:0; position:absolute; bottom:0; padding-left:0.5em; font-family: 14px; width:2000px; border-bottom: 1px solid #15BCCF;} +#content .tabs ul li { + float:left; + list-style-type:none; + white-space:nowrap; + margin-right:0px; + background:#fff; + position:relative; + margin-bottom:-1px; +} +#content .tabs ul li a{ + display:block; + font-size: 14px; + text-decoration: none; + line-height:1.3em; + padding:2px 6px 2px 6px; + background-color:#fff; + color:#606060; + font-weight:bold; + border-top-left-radius:3px; + border-top-right-radius:3px; +} + +#content .tabs ul li a:hover { + background-color: #fff; + text-decoration:none; +} + +#content .tabs ul li a.selected { + background-color: #fff; + border: 1px solid #15BCCF; + border-bottom: 1px solid #fff; + color:#111; +} + +#content .tabs ul li a.selected:hover {background-color: #E2F4FF;} + +div.tabs-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; } + +button.tab-left, button.tab-right { + font-size: 0.9em; + cursor: pointer; + height:24px; + border: 1px solid #ccc; + border-bottom: 1px solid #bbbbbb; + position:absolute; + padding:4px; + width: 20px; + bottom: -1px; + +} + +button.tab-left { + right: 20px; + background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%; + border-top-left-radius:3px; +} + +button.tab-right { + right: 0; + background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%; + border-top-right-radius:3px; +} +/*added by young*/ +/***** Settings Tabs *****/ +/*modified by huang*/ +#content .tabs_new {height: 2.6em; margin-bottom:1.2em; margin-top: 0.8em; position:relative; overflow:hidden;} +#content .tabs_new ul {margin:0; position:absolute; bottom:0; padding-left: 0.5em; width: 100%; border-bottom: 1px solid #15BCCF;font-size:14px;} +#content .tabs_new ul li { + width:80px; /*modified by linchun*/ + float:left; + list-style-type:none; + white-space:nowrap; + margin-right:4px; + background:#fff; + position:relative; + margin-bottom:-1px; +} +#content .tabs_new ul li a{ + display:block; + font-size: 15px; + text-decoration:none; + line-height:1.2em; + padding-top: 6px; + padding-bottom: 2px; + text-align: center; + border: 1px solid #15BCCF; + /*border-bottom: 0px solid #15BCCF;*/ + + color:#606060; + font-weight:bold; + border-top-left-radius:4px; + border-top-right-radius:4px; + /*new added*/ + margin-top: 16px; + /*end*/ +} + +#content .tabs_new ul li a:hover { + background-color: #E2F4FF; + text-decoration:none; +} + +#content .tabs_new ul li a.selected { + background-color: rgba(28, 158, 199, 0.68); + border: 1px solid #15BCCF; + border-bottom: 1px solid #fff; + color:#FFF; +} + +#content .tabs_new ul li a.selected:hover {background-color: #15BCCC;} + +div.tabs_new-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; } + +button.tab_new-left, button.tab_new-right { + font-size: 0.9em; + cursor: pointer; + height:24px; + border: 1px solid #ccc; + border-bottom: 1px solid #bbbbbb; + position:absolute; + padding:4px; + width: 20px; + bottom: -1px; +} + +button.tab_new-left { + right: 20px; + background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%; + border-top-left-radius:3px; +} + +button.tab_new-right { + right: 0; + background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%; + border-top-right-radius:3px; +} + + +/*added by huang*/ +#content .tabs_new_enterprise {height: 2.6em; margin-bottom:1.2em; margin-top: 0.8em; position:relative; overflow:hidden;} +#content .tabs_new_enterprise ul {margin:0; position:absolute; bottom:0; padding-left: 0.5em; width: 2000px; border-bottom: 1px solid #ac344f;font-size:14px;} +#content .tabs_new_enterprise ul li { + width:85px; /*modified by linchun*/ + float:left; + list-style-type:none; + white-space:nowrap; + margin-right:4px; + background:#fff; + position:relative; + margin-bottom:-1px; +} +#content .tabs_new_enterprise ul li a{ + display:block; + font-size: 15px; + text-decoration:none; + line-height:1.2em; + padding-top: 6px; + padding-bottom: 2px; + text-align: center; + + border: 1px solid #b60003; + /*border-bottom: 0px solid #15BCCF;*/ + + color:#606060; + font-weight:bold; + border-top-left-radius:4px; + border-top-right-radius:4px; +} + +#content .tabs_new_enterprise ul li a:hover { + background-color: #cda3ad; + text-decoration:none; +} + +#content .tabs_new_enterprise ul li a.selected { + background-color: #9f4056; + border: 1px solid #ac344f; + border-bottom: 1px solid #fff; + color:#FFF; +} + +#content .tabs_new_enterprise ul li a.selected:hover {background-color: #ac344f;} + +div.tabs_new_enterprise-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; } + +button.tabs_new_enterprise-left, button.tabs_new_enterprise-right { + font-size: 0.9em; + cursor: pointer; + height:24px; + border: 1px solid #ccc; + border-bottom: 1px solid #bbbbbb; + position:absolute; + padding:4px; + width: 20px; + bottom: -1px; +} + +button.tabs_new_enterprise-left { + right: 20px; + background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%; + border-top-left-radius:3px; +} + +button.tabs_new_enterprise-right { + right: 0; + background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%; + border-top-right-radius:3px; +} +/*end*/ +/*added by huang*/ +#content_ .tabs {height: 3.5em; margin-bottom:1.2em; position:relative; overflow:hidden;} +#content_ .tabs ul {margin:0; position:absolute; bottom:0; padding-left:0.5em; width:2000px; border-bottom: 1px solid #15BCCF;font-size:14px;} +#content_ .tabs ul li { + float:left; + list-style-type:none; + white-space:nowrap; + margin-right:0px; + background:#fff; + position:relative; + margin-bottom:-1px; +} +#content_ .tabs ul li a{ + + display:block; + font-size: 13px; + text-decoration: none; + line-height:1.3em; + padding:4px 6px 4px 6px; + background-color:#fff; + color:#606060; + font-weight:bold; + border-top-left-radius:3px; + border-top-right-radius:3px; +} + +#content_ .tabs ul li a:hover { + background-color: #fff; + text-decoration:none; +} + +#content_ .tabs ul li a.selected { + background-color: #fff; + border: 1px solid #15BCCF; + border-bottom: 1px solid #fff; + color:#111; +} + +#content_ .tabs ul li a.selected:hover {background-color: #E2F4FF;} +/*end*/ +/*added by huang*/ +#content_ .tabs_enterprise {height: 3.5em; margin-bottom:1.2em; position:relative; overflow:hidden;} +#content_ .tabs_enterprise ul {margin:0; position:absolute; bottom:0; padding-left:0.5em; width:2000px; border-bottom: 1px solid #bc7787;font-size:14px;} +#content_ .tabs_enterprise ul li { + float:left; + list-style-type:none; + white-space:nowrap; + margin-right:0px; + background:#fff; + position:relative; + margin-bottom:-1px; +} +#content_ .tabs_enterprise ul li a{ + + display:block; + font-size: 13px; + text-decoration: none; + line-height:1.3em; + padding:4px 6px 4px 6px; + background-color:#fff; + color:#606060; + font-weight:bold; + border-top-left-radius:3px; + border-top-right-radius:3px; +} + +#content_ .tabs_enterprise ul li a:hover { + background-color: #fff; + text-decoration:none; +} + +#content_ .tabs_enterprise ul li a.selected { + background-color: #fff; + border: 1px solid #bc7787; + border-bottom: 1px solid #fff; + color:#111; +} + +#content_ .tabs_enterprise ul li a.selected:hover {background-color: #E2F4FF;} +/*end*/ +/*end*/ +/***** Diff *****/ +.diff_out { background: #fcc; } +.diff_out span { background: #faa; } +.diff_in { background: #cfc; } +.diff_in span { background: #afa; } + +.text-diff { + padding: 1em; + background-color:#f6f6f6; + color:#505050; + border: 1px solid #e4e4e4; +} + +/***** Wiki *****/ +div.wiki table { + border-collapse: collapse; + margin-bottom: 1em; +} + +div.wiki table, div.wiki td, div.wiki th { + border: 1px solid #bbb; + padding: 4px; +} + +div.wiki .noborder, div.wiki .noborder td, div.wiki .noborder th {border:0;} + +div.wiki .external { + background-position: 0% 60%; + background-repeat: no-repeat; + padding-left: 12px; + background-image: url(../images/external.png); +} + +div.wiki a.new {color: #b73535;} + +div.wiki ul, div.wiki ol {margin-bottom:1em;} + +div.wiki pre { + margin: 1em 1em 1em 1.6em; + padding: 8px; + background-color: #fafafa; + border: 1px solid #e2e2e2; + width:auto; + overflow-x: auto; + overflow-y: hidden; +} + +div.wiki ul.toc { + background-color: #ffffdd; + border: 1px solid #e4e4e4; + padding: 4px; + line-height: 1.2em; + margin-bottom: 12px; + margin-right: 12px; + margin-left: 0; + display: table +} +* html div.wiki ul.toc { width: 50%; } /* IE6 doesn't autosize div */ + +div.wiki ul.toc.right { float: right; margin-left: 12px; margin-right: 0; width: auto; } +div.wiki ul.toc.left { float: left; margin-right: 12px; margin-left: 0; width: auto; } +div.wiki ul.toc ul { margin: 0; padding: 0; } +div.wiki ul.toc li {list-style-type:none; margin: 0; font-size:12px;} +div.wiki ul.toc li li {margin-left: 1.5em; font-size:10px;} +div.wiki ul.toc a { + font-size: 0.9em; + font-weight: normal; + text-decoration: none; + color: #606060; +} +div.wiki ul.toc a:hover { color: #c61a1a; text-decoration: underline;} + +a.wiki-anchor { display: none; margin-left: 6px; text-decoration: none; } +a.wiki-anchor:hover { color: #aaa !important; text-decoration: none; } +h1:hover a.wiki-anchor, h2:hover a.wiki-anchor, h3:hover a.wiki-anchor { display: inline; color: #ddd; } + +div.wiki img { vertical-align: middle; } + +/***** My page layout *****/ +.block-receiver { + border:1px dashed #c0c0c0; + margin-bottom: 20px; + padding: 15px 0 15px 0; +} + +.mypage-box { + margin:0 0 20px 0; + color:#505050; + line-height:1.5em; +} + +.handle {cursor: move;} + +a.close-icon { + display:block; + margin-top:3px; + overflow:hidden; + width:12px; + height:12px; + background-repeat: no-repeat; + cursor:pointer; + background-image:url('../images/close.png'); +} +a.close-icon:hover {background-image:url('../images/close_hl.png');} + +/***** Gantt chart *****/ +.gantt_hdr { + position:absolute; + top:0; + height:16px; + border-top: 1px solid #c0c0c0; + border-bottom: 1px solid #c0c0c0; + border-right: 1px solid #c0c0c0; + text-align: center; + overflow: hidden; +} + +.gantt_hdr.nwday {background-color:#f1f1f1;} + +.gantt_subjects { font-size: 0.8em; } +.gantt_subjects div { line-height:16px;height:16px;overflow:hidden;white-space:nowrap;text-overflow: ellipsis; } + +.task { + position: absolute; + height:8px; + font-size:0.8em; + color:#888; + padding:0; + margin:0; + line-height:16px; + white-space:nowrap; +} + +.task.label {width:100%;} +.task.label.project, .task.label.version { font-weight: bold; } + +.task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; } +.task_done { background:#00c600 url(../images/task_done.png); border: 1px solid #00c600; } +.task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; } + +.task_todo.parent { background: #888; border: 1px solid #888; height: 3px;} +.task_late.parent, .task_done.parent { height: 3px;} +.task.parent.marker.starting { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; left: 0px; top: -1px;} +.task.parent.marker.ending { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; right: 0px; top: -1px;} + +.version.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;} +.version.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;} +.version.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;} +.version.marker { background-image:url(../images/version_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; } + +.project.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;} +.project.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;} +.project.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;} +.project.marker { background-image:url(../images/project_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; } + +.version-behind-schedule a, .issue-behind-schedule a {color: #f66914;} +.version-overdue a, .issue-overdue a, .project-overdue a {color: #f00;} + +/***** Icons *****/ +.icon { + background-position: 0% 50%; + background-repeat: no-repeat; + font-family: '微软雅黑'; /*modify by men*/ + padding-left: 20px; + padding-top: 2px; + padding-bottom: 3px; +} +.icon_enterprise { + background-position: 0% 50%; + background-repeat: no-repeat; + font-family: '微软雅黑'; /*modify by men*/ + padding-left: 20px; + padding-top: 2px; + padding-bottom: 3px; +} +.icon_enterprise-add { background-image: url(../images/add_enterprise.png); } +.icon-add { background-image: url(../images/add.png); } +.icon-edit { /*background-image: url(../images/edit.png);*/ } +.icon-copy { background-image: url(../images/copy.png); } +.icon-duplicate { background-image: url(../images/duplicate.png); } +.icon-del { /*background-image: url(../images/delete.png); */} +.icon-move { background-image: url(../images/move.png); } +.icon-save { background-image: url(../images/save.png); } +.icon-cancel { background-image: url(../images/cancel.png); } +.icon-multiple { background-image: url(../images/table_multiple.png); } +.icon-folder { background-image: url(../images/folder.png); } +.open .icon-folder { background-image: url(../images/folder_open.png); } +.icon-package { background-image: url(../images/package.png); } +.icon-user { background-image: url(../images/user.png); } +.icon-projects { background-image: url(../images/projects.png); } +.icon-help { background-image: url(../images/help.png); } +.icon-attachment { background-image: url(../images/attachment.png); } +.icon-history { background-image: url(../images/history.png); } +.icon-time { background-image: url(../images/time.png); } +.icon-time-add { background-image: url(../images/time_add.png); } +.icon-stats { background-image: url(../images/stats.png); } +.icon-warning { background-image: url(../images/warning.png); } +.icon-fav { background-image: url(../images/fav.png); } +.icon-fav-off { background-image: url(../images/fav_off.png); } +.icon-reload { background-image: url(../images/reload.png); } +.icon-lock { background-image: url(../images/locked.png); } +.icon-unlock { background-image: url(../images/unlock.png); } +.icon-checked { background-image: url(../images/true.png); } +.icon-details { background-image: url(../images/zoom_in.png); } +.icon-report { background-image: url(../images/report.png); } +.icon-comment { /*background-image: url(../images/comment.png); */} +.icon-summary { background-image: url(../images/lightning.png); } +.icon-server-authentication { background-image: url(../images/server_key.png); } +.icon-issue { background-image: url(../images/ticket.png); } +.icon-zoom-in { background-image: url(../images/zoom_in.png); } +.icon-zoom-out { background-image: url(../images/zoom_out.png); } +.icon-passwd { background-image: url(../images/textfield_key.png); } +.icon-test { background-image: url(../images/bullet_go.png); } + +.icon-file { background-image: url(../images/files/default.png); } +.icon-file.text-plain { background-image: url(../images/files/text.png); } +.icon-file.text-x-c { background-image: url(../images/files/c.png); } +.icon-file.text-x-csharp { background-image: url(../images/files/csharp.png); } +.icon-file.text-x-java { background-image: url(../images/files/java.png); } +.icon-file.text-x-javascript { background-image: url(../images/files/js.png); } +.icon-file.text-x-php { background-image: url(../images/files/php.png); } +.icon-file.text-x-ruby { background-image: url(../images/files/ruby.png); } +.icon-file.text-xml { background-image: url(../images/files/xml.png); } +.icon-file.text-css { background-image: url(../images/files/css.png); } +.icon-file.text-html { background-image: url(../images/files/html.png); } +.icon-file.image-gif { background-image: url(../images/files/image.png); } +.icon-file.image-jpeg { background-image: url(../images/files/image.png); } +.icon-file.image-png { background-image: url(../images/files/image.png); } +.icon-file.image-tiff { background-image: url(../images/files/image.png); } +.icon-file.application-pdf { background-image: url(../images/files/pdf.png); } +.icon-file.application-zip { background-image: url(../images/files/zip.png); } +.icon-file.application-x-gzip { background-image: url(../images/files/zip.png); } + +img.gravatar { + padding: 2px; + border: solid 1px #d5d5d5; + background: #fff; + vertical-align: middle; +} + +div.issue img.gravatar { + float: left; + margin: 0 6px 0 0; + padding: 5px; +} + +div.issue table img.gravatar { + height: 14px; + width: 14px; + padding: 2px; + float: left; + margin: 0 0.5em 0 0; +} + +h2 img.gravatar {margin: -2px 4px -4px 0;} +h3 img.gravatar {margin: -4px 4px -4px 0;} +h4 img.gravatar {margin: -6px 4px -4px 0;} +td.username img.gravatar {margin: 0 0.5em 0 0; vertical-align: top;} +#activity dt img.gravatar {float: left; margin: 0 1em 1em 0;} +/* Used on 12px Gravatar img tags without the icon background */ +.icon-gravatar {float: left; margin-right: 4px;} + +#activity dt, .journal {clear: left;} + +.journal-link {float: right;} + +h2 img { vertical-align:middle; } + +.hascontextmenu { cursor: context-menu; } + +/************* CodeRay styles *************/ +.syntaxhl div {display: inline;} +.syntaxhl .line-numbers {padding: 2px 4px 2px 4px; background-color: #eee; margin:0px 5px 0px 0px;} +.syntaxhl .code pre { overflow: auto } +.syntaxhl .debug { color: white !important; background: blue !important; } + +.syntaxhl .annotation { color:#007 } +.syntaxhl .attribute-name { color:#b48 } +.syntaxhl .attribute-value { color:#700 } +.syntaxhl .binary { color:#509 } +.syntaxhl .char .content { color:#D20 } +.syntaxhl .char .delimiter { color:#710 } +.syntaxhl .char { color:#D20 } +.syntaxhl .class { color:#258; font-weight:bold } +.syntaxhl .class-variable { color:#369 } +.syntaxhl .color { color:#0A0 } +.syntaxhl .comment { color:#385 } +.syntaxhl .comment .char { color:#385 } +.syntaxhl .comment .delimiter { color:#385 } +.syntaxhl .complex { color:#A08 } +.syntaxhl .constant { color:#258; font-weight:bold } +.syntaxhl .decorator { color:#B0B } +.syntaxhl .definition { color:#099; font-weight:bold } +.syntaxhl .delimiter { color:black } +.syntaxhl .directive { color:#088; font-weight:bold } +.syntaxhl .doc { color:#970 } +.syntaxhl .doc-string { color:#D42; font-weight:bold } +.syntaxhl .doctype { color:#34b } +.syntaxhl .entity { color:#800; font-weight:bold } +.syntaxhl .error { color:#F00; background-color:#FAA } +.syntaxhl .escape { color:#666 } +.syntaxhl .exception { color:#C00; font-weight:bold } +.syntaxhl .float { color:#06D } +.syntaxhl .function { color:#06B; font-weight:bold } +.syntaxhl .global-variable { color:#d70 } +.syntaxhl .hex { color:#02b } +.syntaxhl .imaginary { color:#f00 } +.syntaxhl .include { color:#B44; font-weight:bold } +.syntaxhl .inline { background-color: hsla(0,0%,0%,0.07); color: black } +.syntaxhl .inline-delimiter { font-weight: bold; color: #666 } +.syntaxhl .instance-variable { color:#33B } +.syntaxhl .integer { color:#06D } +.syntaxhl .key .char { color: #60f } +.syntaxhl .key .delimiter { color: #404 } +.syntaxhl .key { color: #606 } +.syntaxhl .keyword { color:#939; font-weight:bold } +.syntaxhl .label { color:#970; font-weight:bold } +.syntaxhl .local-variable { color:#963 } +.syntaxhl .namespace { color:#707; font-weight:bold } +.syntaxhl .octal { color:#40E } +.syntaxhl .operator { } +.syntaxhl .predefined { color:#369; font-weight:bold } +.syntaxhl .predefined-constant { color:#069 } +.syntaxhl .predefined-type { color:#0a5; font-weight:bold } +.syntaxhl .preprocessor { color:#579 } +.syntaxhl .pseudo-class { color:#00C; font-weight:bold } +.syntaxhl .regexp .content { color:#808 } +.syntaxhl .regexp .delimiter { color:#404 } +.syntaxhl .regexp .modifier { color:#C2C } +.syntaxhl .regexp { background-color:hsla(300,100%,50%,0.06); } +.syntaxhl .reserved { color:#080; font-weight:bold } +.syntaxhl .shell .content { color:#2B2 } +.syntaxhl .shell .delimiter { color:#161 } +.syntaxhl .shell { background-color:hsla(120,100%,50%,0.06); } +.syntaxhl .string .char { color: #46a } +.syntaxhl .string .content { color: #46a } +.syntaxhl .string .delimiter { color: #46a } +.syntaxhl .string .modifier { color: #46a } +.syntaxhl .symbol .content { color:#d33 } +.syntaxhl .symbol .delimiter { color:#d33 } +.syntaxhl .symbol { color:#d33 } +.syntaxhl .tag { color:#070 } +.syntaxhl .type { color:#339; font-weight:bold } +.syntaxhl .value { color: #088; } +.syntaxhl .variable { color:#037 } + +.syntaxhl .insert { background: hsla(120,100%,50%,0.12) } +.syntaxhl .delete { background: hsla(0,100%,50%,0.12) } +.syntaxhl .change { color: #bbf; background: #007; } +.syntaxhl .head { color: #f8f; background: #505 } +.syntaxhl .head .filename { color: white; } + +.syntaxhl .delete .eyecatcher { background-color: hsla(0,100%,50%,0.2); border: 1px solid hsla(0,100%,45%,0.5); margin: -1px; border-bottom: none; border-top-left-radius: 5px; border-top-right-radius: 5px; } +.syntaxhl .insert .eyecatcher { background-color: hsla(120,100%,50%,0.2); border: 1px solid hsla(120,100%,25%,0.5); margin: -1px; border-top: none; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } + +.syntaxhl .insert .insert { color: #0c0; background:transparent; font-weight:bold } +.syntaxhl .delete .delete { color: #c00; background:transparent; font-weight:bold } +.syntaxhl .change .change { color: #88f } +.syntaxhl .head .head { color: #f4f } + +/***** Media print specific styles *****/ +@media print { + #top-menu, #header, #main-menu, #sidebar, #footer, .contextual, .other-formats { display:none; } + #main { background: #fff; } + #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible !important;} + #wiki_add_attachment { display:none; } + .hide-when-print { display: none; } + .autoscroll {overflow-x: visible;} + table.list {margin-top:0.5em;} + table.list th, table.list td {border: 1px solid #aaa;} +} + +/* Accessibility specific styles */ +.hidden-for-sighted { + position:absolute; + left:-10000px; + top:auto; + width:1px; + height:1px; + overflow:hidden; +} + +/*added by william*/ +#tag { + background: url(../images/issue_tag.png) no-repeat right -19px; + border-radius: 3px; + color: #3a587d !important; + padding: 1px 4px 2px 4px; + margin: 3px; + display: inline-block; + font-size: 13px; /*modified by linchun*/ + text-decoration: none; + cursor: pointer; +} + +/*tanxianbo*/ +div.repos_explain{ + word-wrap: normal; + line-height: 8px; + font-size: 13px; + background-color: #f8f8f8; + border: 1px solid #ddd; + overflow: auto; + border-radius: 3px; + padding: 6px 10px; + font-family: Consolas, 'Liberation Mono', Courier, monospace; + color: rgb(51, 51, 51); +} +#admin-index{ + margin-left: -220px; +} + +/* new linchun compitition */ +.contest_underline{ + margin:1; + padding:1; + width:900px; + height:0.5px; + background-color:#aaa; + overflow:hidden +} + +.underline-contests_one{ + margin-bottom: 10px; + border-bottom: 1px dashed rgb(204, 204, 204); + width: 930px; +} +.underline-contests_two{ + margin-bottom: 10px; + border-bottom: 1px dashed rgb(204, 204, 204); + width: 660px; +} +.underline-contests_three{ + margin-bottom: 10px; + border-bottom: 1px dashed rgb(204, 204, 204); + width: 688px; +} +.underline-contests_four{ + margin-bottom: 10px; + border-bottom: 1px dashed rgb(204, 204, 204); + width: 349px; + padding-bottom:5px +} +.contest-star{ + color: #bb0000; +} + +.contes-new-box{ + background: #fcfcfc; + padding-left: 85px; + padding-top: 20px; + padding-bottom: 20px; +} diff --git a/public/stylesheets/bootstrap/bootstrap-theme.min.css b/public/stylesheets/bootstrap/bootstrap-theme.min.css index c7b6d39b4..de3f6229e 100644 --- a/public/stylesheets/bootstrap/bootstrap-theme.min.css +++ b/public/stylesheets/bootstrap/bootstrap-theme.min.css @@ -1,7 +1,7 @@ -/*! - * Bootstrap v3.0.3 (http://getbootstrap.com) - * Copyright 2013 Twitter, Inc. - * Licensed under http://www.apache.org/licenses/LICENSE-2.0 - */ - +/*! + * Bootstrap v3.0.3 (http://getbootstrap.com) + * Copyright 2013 Twitter, Inc. + * Licensed under http://www.apache.org/licenses/LICENSE-2.0 + */ + .btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe0e0e0',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);background-repeat:repeat-x;border-color:#2b669a;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff2d6ca2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff419641',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffeb9316',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);background-repeat:repeat-x;border-color:#b92c28;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc12e2a',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2aabd2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff8f8f8',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff3f3f3',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff282828',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);background-repeat:repeat-x;border-color:#b2dba1;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffc8e5bc',GradientType=0)}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffb9def0',GradientType=0)}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);background-repeat:repeat-x;border-color:#f5e79e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fff8efc0',GradientType=0)}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);background-repeat:repeat-x;border-color:#dca7a7;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffe7c3c3',GradientType=0)}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff5f5f5',GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3071a9',GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff449d44',GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff31b0d5',GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffec971f',GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc9302c',GradientType=0)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3278b3',GradientType=0)}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffd0e9c6',GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffc4e3f3',GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fffaf2cc',GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffebcccc',GradientType=0)}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8',endColorstr='#fff5f5f5',GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)} \ No newline at end of file diff --git a/public/stylesheets/bootstrap/bootstrap.min.css b/public/stylesheets/bootstrap/bootstrap.min.css index c547283bb..aac1a349f 100644 --- a/public/stylesheets/bootstrap/bootstrap.min.css +++ b/public/stylesheets/bootstrap/bootstrap.min.css @@ -1,7 +1,7 @@ -/*! - * Bootstrap v3.0.3 (http://getbootstrap.com) - * Copyright 2013 Twitter, Inc. - * Licensed under http://www.apache.org/licenses/LICENSE-2.0 - */ - +/*! + * Bootstrap v3.0.3 (http://getbootstrap.com) + * Copyright 2013 Twitter, Inc. + * Licensed under http://www.apache.org/licenses/LICENSE-2.0 + */ + /*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h1 small,h2 small,h3 small,h1 .small,h2 .small,h3 .small{font-size:65%}h4,h5,h6{margin-top:10px;margin-bottom:10px}h4 small,h5 small,h6 small,h4 .small,h5 .small,h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-primary:hover{color:#3071a9}.text-warning{color:#8a6d3b}.text-warning:hover{color:#66512c}.text-danger{color:#a94442}.text-danger:hover{color:#843534}.text-success{color:#3c763d}.text-success:hover{color:#2b542c}.text-info{color:#31708f}.text-info:hover{color:#245269}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.list-inline>li:first-child{padding-left:0}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small,blockquote .small{display:block;line-height:1.428571429;color:#999}blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small,blockquote.pull-right .small{text-align:right}blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}@media(min-width:768px){.container{width:750px}}@media(min-width:992px){.container{width:970px}}@media(min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666666666666%}.col-xs-10{width:83.33333333333334%}.col-xs-9{width:75%}.col-xs-8{width:66.66666666666666%}.col-xs-7{width:58.333333333333336%}.col-xs-6{width:50%}.col-xs-5{width:41.66666666666667%}.col-xs-4{width:33.33333333333333%}.col-xs-3{width:25%}.col-xs-2{width:16.666666666666664%}.col-xs-1{width:8.333333333333332%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666666666666%}.col-xs-pull-10{right:83.33333333333334%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666666666666%}.col-xs-pull-7{right:58.333333333333336%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666666666667%}.col-xs-pull-4{right:33.33333333333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.666666666666664%}.col-xs-pull-1{right:8.333333333333332%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666666666666%}.col-xs-push-10{left:83.33333333333334%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666666666666%}.col-xs-push-7{left:58.333333333333336%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666666666667%}.col-xs-push-4{left:33.33333333333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.666666666666664%}.col-xs-push-1{left:8.333333333333332%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666666666666%}.col-xs-offset-10{margin-left:83.33333333333334%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666666666666%}.col-xs-offset-7{margin-left:58.333333333333336%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666666666667%}.col-xs-offset-4{margin-left:33.33333333333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.666666666666664%}.col-xs-offset-1{margin-left:8.333333333333332%}.col-xs-offset-0{margin-left:0}@media(min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media(min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media(min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>.active,.table>tbody>tr>.active,.table>tfoot>tr>.active,.table>thead>.active>td,.table>tbody>.active>td,.table>tfoot>.active>td,.table>thead>.active>th,.table>tbody>.active>th,.table>tfoot>.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>.active:hover,.table-hover>tbody>.active:hover>td,.table-hover>tbody>.active:hover>th{background-color:#e8e8e8}.table>thead>tr>.success,.table>tbody>tr>.success,.table>tfoot>tr>.success,.table>thead>.success>td,.table>tbody>.success>td,.table>tfoot>.success>td,.table>thead>.success>th,.table>tbody>.success>th,.table>tfoot>.success>th{background-color:#dff0d8}.table-hover>tbody>tr>.success:hover,.table-hover>tbody>.success:hover>td,.table-hover>tbody>.success:hover>th{background-color:#d0e9c6}.table>thead>tr>.danger,.table>tbody>tr>.danger,.table>tfoot>tr>.danger,.table>thead>.danger>td,.table>tbody>.danger>td,.table>tfoot>.danger>td,.table>thead>.danger>th,.table>tbody>.danger>th,.table>tfoot>.danger>th{background-color:#f2dede}.table-hover>tbody>tr>.danger:hover,.table-hover>tbody>.danger:hover>td,.table-hover>tbody>.danger:hover>th{background-color:#ebcccc}.table>thead>tr>.warning,.table>tbody>tr>.warning,.table>tfoot>tr>.warning,.table>thead>.warning>td,.table>tbody>.warning>td,.table>tfoot>.warning>td,.table>thead>.warning>th,.table>tbody>.warning>th,.table>tfoot>.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>.warning:hover,.table-hover>tbody>.warning:hover>td,.table-hover>tbody>.warning:hover>th{background-color:#faf2cc}@media(max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-control-static{padding-top:7px}@media(min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#fff}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-link{font-weight:normal;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;line-height:1;-moz-osx-font-smoothing:grayscale}.glyphicon:empty{width:1em}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn:first-child>.btn{margin-right:-1px}.input-group-btn:last-child>.btn{margin-left:-1px}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media(min-width:768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media(min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media(min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child th,.panel>.table>tbody:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);opacity:.5;filter:alpha(opacity=50)}.carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.5) 0),color-stop(rgba(0,0,0,0.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(rgba(0,0,0,0.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,tr.visible-xs,th.visible-xs,td.visible-xs{display:none!important}@media(max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell!important}}.visible-sm,tr.visible-sm,th.visible-sm,td.visible-sm{display:none!important}@media(max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell!important}}.visible-md,tr.visible-md,th.visible-md,td.visible-md{display:none!important}@media(max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell!important}}.visible-lg,tr.visible-lg,th.visible-lg,td.visible-lg{display:none!important}@media(max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}table.hidden-xs{display:table}tr.hidden-xs{display:table-row!important}th.hidden-xs,td.hidden-xs{display:table-cell!important}@media(max-width:767px){.hidden-xs,tr.hidden-xs,th.hidden-xs,td.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,tr.hidden-xs.hidden-md,th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}table.hidden-sm{display:table}tr.hidden-sm{display:table-row!important}th.hidden-sm,td.hidden-sm{display:table-cell!important}@media(max-width:767px){.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-sm,tr.hidden-sm,th.hidden-sm,td.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,tr.hidden-sm.hidden-md,th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}table.hidden-md{display:table}tr.hidden-md{display:table-row!important}th.hidden-md,td.hidden-md{display:table-cell!important}@media(max-width:767px){.hidden-md.hidden-xs,tr.hidden-md.hidden-xs,th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,tr.hidden-md.hidden-sm,th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-md,tr.hidden-md,th.hidden-md,td.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-md.hidden-lg,tr.hidden-md.hidden-lg,th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}table.hidden-lg{display:table}tr.hidden-lg{display:table-row!important}th.hidden-lg,td.hidden-lg{display:table-cell!important}@media(max-width:767px){.hidden-lg.hidden-xs,tr.hidden-lg.hidden-xs,th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm,tr.hidden-lg.hidden-sm,th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md,tr.hidden-lg.hidden-md,th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-lg,tr.hidden-lg,th.hidden-lg,td.hidden-lg{display:none!important}}.visible-print,tr.visible-print,th.visible-print,td.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}.hidden-print,tr.hidden-print,th.hidden-print,td.hidden-print{display:none!important}} \ No newline at end of file diff --git a/public/stylesheets/bootstrap_custom.css b/public/stylesheets/bootstrap_custom.css index ff2e1ee10..4d4e71d49 100644 --- a/public/stylesheets/bootstrap_custom.css +++ b/public/stylesheets/bootstrap_custom.css @@ -1,110 +1,110 @@ -/* 应用bootstrap之后,定制化的css, less是个问题 -*******************************************************************************/ -* { - font-family: Helvetica, Tahoma, Arial, "Microsoft YaHei", "微软雅黑", SimSun, "宋体", STXihei, "华文细黑", Heiti, "黑体", sans-serif !important; -} -body{ - padding-top: 70px; -} - -.float-left{ float: left; } -.float-right{ float: right; } -.clearfix { - width: 100%; - height: 0px; - clear: both; - display: block; -} -.ul-style-none{ - list-style-type: none; -} - -.block-inline{ - display: inline-block; -} - -.border-box { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -box-sizing: border-box; -} - -.div-inline { - display: inline-block; -} - -/*文字不换行*/ -.text_nowrap { - word-break: keep-all; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -/*字体 斜体*/ -.font-italic { - font-style: italic; -} - -/*字体加粗*/ -.font-bolder { - font-weight: bolder; -} - -.text-center { - text-align: center; -} - -.clear-both { - clear: both; -} - -.full-width-layouts{ - padding: 0 15px; -} -/* block 未定义宽度时候 居中 */ -.center { - width: auto; - display: table; - margin-left: auto; - margin-right: auto; -} -.text-center { - text-align: center; -} - -/*颜色*/ -.muted{ - color: #999999; -} - - - - - - - - - - - - - - - - - - - - - - - - -/* footer */ -#footer{ - margin-top: 50px; -} -#footer .desc a{ - margin: 0px 5px; -} +/* 应用bootstrap之后,定制化的css, less是个问题 +*******************************************************************************/ +* { + font-family: Helvetica, Tahoma, Arial, "Microsoft YaHei", "微软雅黑", SimSun, "宋体", STXihei, "华文细黑", Heiti, "黑体", sans-serif !important; +} +body{ + padding-top: 70px; +} + +.float-left{ float: left; } +.float-right{ float: right; } +.clearfix { + width: 100%; + height: 0px; + clear: both; + display: block; +} +.ul-style-none{ + list-style-type: none; +} + +.block-inline{ + display: inline-block; +} + +.border-box { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -box-sizing: border-box; +} + +.div-inline { + display: inline-block; +} + +/*文字不换行*/ +.text_nowrap { + word-break: keep-all; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +/*字体 斜体*/ +.font-italic { + font-style: italic; +} + +/*字体加粗*/ +.font-bolder { + font-weight: bolder; +} + +.text-center { + text-align: center; +} + +.clear-both { + clear: both; +} + +.full-width-layouts{ + padding: 0 15px; +} +/* block 未定义宽度时候 居中 */ +.center { + width: auto; + display: table; + margin-left: auto; + margin-right: auto; +} +.text-center { + text-align: center; +} + +/*颜色*/ +.muted{ + color: #999999; +} + + + + + + + + + + + + + + + + + + + + + + + + +/* footer */ +#footer{ + margin-top: 50px; +} +#footer .desc a{ + margin: 0px 5px; +} diff --git a/public/stylesheets/buglist-div-use.css b/public/stylesheets/buglist-div-use.css index 8ee6af1e8..9b7443344 100644 --- a/public/stylesheets/buglist-div-use.css +++ b/public/stylesheets/buglist-div-use.css @@ -1,65 +1,65 @@ - .mask{ - position: relative; - overflow: hidden; - margin: 0px 0 0 0; - width: 970px; - - - } - .header2{ - float: left; - width: 100%; - background-color: #f4f4f4 - } - .colleft{ - position: relative; - width: 100%; - right: 50%; - background-color: #000000 - - } - .col1{ - position: relative; - overflow: hidden; - float: left; - width: 470px; - left: 100%; - - } - .col2{ - position: relative; - overflow: hidden; - float: left; - width: 440px; - left: 2%; - - } - -a:hover, a:active { -color: #c61a1a; -text-decoration: underline; - -} - -#tag { - background: url("../images/issue_tag.png") no-repeat scroll right -19px rgba(0, 0, 0, 0); - border-radius: 3px; - color: #3A587D !important; - cursor: pointer; - display: inline-block; - font-size: 13px; - margin: 3px; - padding: 1px 4px 2px; - text-decoration: none; -} - -#buglist -{ - overflow: hidden; -overflow-x: hidden; -overflow-y: hidden; -white-space: nowrap; -text-overflow: ellipsis; --o-text-overflow: ellipsis; -} - + .mask{ + position: relative; + overflow: hidden; + margin: 0px 0 0 0; + width: 970px; + + + } + .header2{ + float: left; + width: 100%; + background-color: #f4f4f4 + } + .colleft{ + position: relative; + width: 100%; + right: 50%; + background-color: #000000 + + } + .col1{ + position: relative; + overflow: hidden; + float: left; + width: 470px; + left: 100%; + + } + .col2{ + position: relative; + overflow: hidden; + float: left; + width: 440px; + left: 2%; + + } + +a:hover, a:active { +color: #c61a1a; +text-decoration: underline; + +} + +#tag { + background: url("../images/issue_tag.png") no-repeat scroll right -19px rgba(0, 0, 0, 0); + border-radius: 3px; + color: #3A587D !important; + cursor: pointer; + display: inline-block; + font-size: 13px; + margin: 3px; + padding: 1px 4px 2px; + text-decoration: none; +} + +#buglist +{ + overflow: hidden; +overflow-x: hidden; +overflow-y: hidden; +white-space: nowrap; +text-overflow: ellipsis; +-o-text-overflow: ellipsis; +} + diff --git a/public/stylesheets/buglist-ichart.css b/public/stylesheets/buglist-ichart.css index 9bf74fc1f..96cd826e6 100644 --- a/public/stylesheets/buglist-ichart.css +++ b/public/stylesheets/buglist-ichart.css @@ -1,74 +1,74 @@ -@CHARSET "utf-8"; -/*body { - padding:0px; - margin:0px; - margin-top:10px; - text-align: left; - font-family:'微软雅黑',Trebuchet MS,Verdana,Helvetica,Arial,sans-serif; -}*/ -.ichartjs_btn{ - padding:2px 5px; - line-height:25px; - color:#0b2946; - cursor: pointer; - text-align:center; - font-size:12px; - /*border:1px solid #98adc1;*/ - -webkit-box-shadow:0px 0px 2px #375073; - -moz-box-shadow:0px 0px 2px #375073; - box-shadow:0px 0px 2px #375073; - /*-moz-border-radius:5px;*/ - /*-webkit-border-radius:5px;*/ - /*-khtml-border-radius:5px;*/ - /*border-radius:0px*/ -} -.ichartjs_author{ - position: absolute; - font-size:12px; - right: 20px; - top: 0px; -} -.ichartjs_author a{ - color:#113659; -} - -.ichartjs_info{ - position:relative; - margin:10px; - padding:5px; - color:#1b4267; -} -.ichartjs_sm{ - margin:10px 0px; - font-size: 13px; - font-weight: 60; -} -.ichartjs_details{ - padding:0px; - text-indent:2em; - font-size: 12px; - line-height:20px; -} -#ichartjs_code{ - display:none; -} -#ichartjs_result{ - position: absolute; - left: 20px; - bottom: 20px; - padding:8px; - color:#fefefe; - font-size:20px; - font-weight:600; - background-color:#6d869f; - cursor: pointer; - text-align:center; - /*border:1px solid #6a869d;*/ - -webkit-box-shadow:0px 0px 2px #375073; - -moz-box-shadow:0px 0px 2px #375073; - box-shadow:0px 0px 2px #375073; - /*-moz-border-radius:10px;*/ - /*-webkit-border-radius:10px;*/ - /*-khtml-border-radius:0px;*/ - /*border-radius:10px*/ +@CHARSET "utf-8"; +/*body { + padding:0px; + margin:0px; + margin-top:10px; + text-align: left; + font-family:'微软雅黑',Trebuchet MS,Verdana,Helvetica,Arial,sans-serif; +}*/ +.ichartjs_btn{ + padding:2px 5px; + line-height:25px; + color:#0b2946; + cursor: pointer; + text-align:center; + font-size:12px; + /*border:1px solid #98adc1;*/ + -webkit-box-shadow:0px 0px 2px #375073; + -moz-box-shadow:0px 0px 2px #375073; + box-shadow:0px 0px 2px #375073; + /*-moz-border-radius:5px;*/ + /*-webkit-border-radius:5px;*/ + /*-khtml-border-radius:5px;*/ + /*border-radius:0px*/ +} +.ichartjs_author{ + position: absolute; + font-size:12px; + right: 20px; + top: 0px; +} +.ichartjs_author a{ + color:#113659; +} + +.ichartjs_info{ + position:relative; + margin:10px; + padding:5px; + color:#1b4267; +} +.ichartjs_sm{ + margin:10px 0px; + font-size: 13px; + font-weight: 60; +} +.ichartjs_details{ + padding:0px; + text-indent:2em; + font-size: 12px; + line-height:20px; +} +#ichartjs_code{ + display:none; +} +#ichartjs_result{ + position: absolute; + left: 20px; + bottom: 20px; + padding:8px; + color:#fefefe; + font-size:20px; + font-weight:600; + background-color:#6d869f; + cursor: pointer; + text-align:center; + /*border:1px solid #6a869d;*/ + -webkit-box-shadow:0px 0px 2px #375073; + -moz-box-shadow:0px 0px 2px #375073; + box-shadow:0px 0px 2px #375073; + /*-moz-border-radius:10px;*/ + /*-webkit-border-radius:10px;*/ + /*-khtml-border-radius:0px;*/ + /*border-radius:10px*/ } \ No newline at end of file diff --git a/public/stylesheets/buglist.css b/public/stylesheets/buglist.css index 49e816581..2a8aa3515 100644 --- a/public/stylesheets/buglist.css +++ b/public/stylesheets/buglist.css @@ -1,73 +1,73 @@ -@charset utf-8; - -.li_list { -clear:both; -padding:0 0 0 0px; - -} - - -.li_time { -padding:0 7px 0 0; -list-style-type: square; -} - - -ol.linenums { -margin:0 0 0 20px; - -} - -ol.linenums li { -color:#959595; -line-height:15px; -padding:0 5px; -} - - -*,div.pages .next a,div.pages .prev a { -margin:0; -padding:0; -} - -.li_list a:hover,.created a:hover { -background-color:#105DB5; -color:#FFF; -text-decoration:none; - -} - -.li_list li,.na_list li { -clear:both; -height:18px; -list-style-type:square; -padding:2px; -overflow: hidden; -overflow-x: hidden; -overflow-y: hidden; -white-space: nowrap; -text-overflow: ellipsis; --o-text-overflow: ellipsis; -} - - -.fixed,.clear { -clear:both; -} - - -h1,h2 { -font-size:18px; -} - -div.pages .break,.created a { -color:#999; -} - -.tag_fouse { - font-family: "Microsoft YaHei"; - font-size: 15px; - font-weight: bold; - padding-bottom: 3px; - padding-top: 3px; +@charset utf-8; + +.li_list { +clear:both; +padding:0 0 0 0px; + +} + + +.li_time { +padding:0 7px 0 0; +list-style-type: square; +} + + +ol.linenums { +margin:0 0 0 20px; + +} + +ol.linenums li { +color:#959595; +line-height:15px; +padding:0 5px; +} + + +*,div.pages .next a,div.pages .prev a { +margin:0; +padding:0; +} + +.li_list a:hover,.created a:hover { +background-color:#105DB5; +color:#FFF; +text-decoration:none; + +} + +.li_list li,.na_list li { +clear:both; +height:18px; +list-style-type:square; +padding:2px; +overflow: hidden; +overflow-x: hidden; +overflow-y: hidden; +white-space: nowrap; +text-overflow: ellipsis; +-o-text-overflow: ellipsis; +} + + +.fixed,.clear { +clear:both; +} + + +h1,h2 { +font-size:18px; +} + +div.pages .break,.created a { +color:#999; +} + +.tag_fouse { + font-family: "Microsoft YaHei"; + font-size: 15px; + font-weight: bold; + padding-bottom: 3px; + padding-top: 3px; } \ No newline at end of file diff --git a/public/stylesheets/context_menu.css b/public/stylesheets/context_menu.css index 1d02ebfba..65e30fe60 100644 --- a/public/stylesheets/context_menu.css +++ b/public/stylesheets/context_menu.css @@ -1,52 +1,52 @@ -#context-menu { position: absolute; z-index: 40; font-size: 0.9em;} - -#context-menu ul, #context-menu li, #context-menu a { - display:block; - margin:0; - padding:0; - border:0; -} - -#context-menu ul { - width:150px; - border: 1px solid #ccc; - background:white; - list-style:none; - padding:2px; - border-radius:2px; -} - -#context-menu li { - position:relative; - padding:1px; - z-index:39; - border:1px solid white; -} -#context-menu li.folder ul { position:absolute; left:168px; /* IE6 */ top:-2px; max-height:300px; overflow:hidden; overflow-y: auto; } -#context-menu li.folder>ul { left:148px; } - -#context-menu.reverse-y li.folder>ul { top:auto; bottom:0; } -#context-menu.reverse-x li.folder ul { left:auto; right:168px; /* IE6 */ } -#context-menu.reverse-x li.folder>ul { right:148px; } - -#context-menu a { - text-decoration:none !important; - background-repeat: no-repeat; - background-position: 1px 50%; - padding: 2px 0px 2px 20px; - width:100%; /* IE */ -} -#context-menu li>a { width:auto; } /* others */ -#context-menu a.disabled, #context-menu a.disabled:hover {color: #aaa;} -#context-menu li a.submenu { padding-right:16px; background:url("../images/bullet_arrow_right.png") right no-repeat; } -#context-menu li:hover { border:1px solid #628db6; background-color:#eef5fd; border-radius:3px; } -#context-menu a:hover {color:#2A5685;} -#context-menu li.folder:hover { z-index:40; } -#context-menu ul ul, #context-menu li:hover ul ul { display:none; } -#context-menu li:hover ul, #context-menu li:hover li:hover ul { display:block; } -#context-menu a.icon-checked {background: url(../images/toggle_check.png) no-repeat 3px 40%;} - -/* selected element */ -.context-menu-selection { background-color:#507AAA !important; color:#f8f8f8 !important; } -.context-menu-selection a, .context-menu-selection a:hover { color:#f8f8f8 !important; } -.context-menu-selection:hover { background-color:#507AAA !important; color:#f8f8f8 !important; } +#context-menu { position: absolute; z-index: 40; font-size: 0.9em;} + +#context-menu ul, #context-menu li, #context-menu a { + display:block; + margin:0; + padding:0; + border:0; +} + +#context-menu ul { + width:150px; + border: 1px solid #ccc; + background:white; + list-style:none; + padding:2px; + border-radius:2px; +} + +#context-menu li { + position:relative; + padding:1px; + z-index:39; + border:1px solid white; +} +#context-menu li.folder ul { position:absolute; left:168px; /* IE6 */ top:-2px; max-height:300px; overflow:hidden; overflow-y: auto; } +#context-menu li.folder>ul { left:148px; } + +#context-menu.reverse-y li.folder>ul { top:auto; bottom:0; } +#context-menu.reverse-x li.folder ul { left:auto; right:168px; /* IE6 */ } +#context-menu.reverse-x li.folder>ul { right:148px; } + +#context-menu a { + text-decoration:none !important; + background-repeat: no-repeat; + background-position: 1px 50%; + padding: 2px 0px 2px 20px; + width:100%; /* IE */ +} +#context-menu li>a { width:auto; } /* others */ +#context-menu a.disabled, #context-menu a.disabled:hover {color: #aaa;} +#context-menu li a.submenu { padding-right:16px; background:url("../images/bullet_arrow_right.png") right no-repeat; } +#context-menu li:hover { border:1px solid #628db6; background-color:#eef5fd; border-radius:3px; } +#context-menu a:hover {color:#2A5685;} +#context-menu li.folder:hover { z-index:40; } +#context-menu ul ul, #context-menu li:hover ul ul { display:none; } +#context-menu li:hover ul, #context-menu li:hover li:hover ul { display:block; } +#context-menu a.icon-checked {background: url(../images/toggle_check.png) no-repeat 3px 40%;} + +/* selected element */ +.context-menu-selection { background-color:#507AAA !important; color:#f8f8f8 !important; } +.context-menu-selection a, .context-menu-selection a:hover { color:#f8f8f8 !important; } +.context-menu-selection:hover { background-color:#507AAA !important; color:#f8f8f8 !important; } diff --git a/public/stylesheets/context_menu_rtl.css b/public/stylesheets/context_menu_rtl.css index 205bb9184..da227449f 100644 --- a/public/stylesheets/context_menu_rtl.css +++ b/public/stylesheets/context_menu_rtl.css @@ -1,9 +1,9 @@ -#context-menu li.folder ul { left:auto; right:168px; } -#context-menu li.folder>ul { left:auto; right:148px; } -#context-menu li a.submenu { background:url("../images/bullet_arrow_left.png") left no-repeat; } - -#context-menu a { - background-position: 100% 40%; - padding-right: 20px; - padding-left: 0px; -} +#context-menu li.folder ul { left:auto; right:168px; } +#context-menu li.folder>ul { left:auto; right:148px; } +#context-menu li a.submenu { background:url("../images/bullet_arrow_left.png") left no-repeat; } + +#context-menu a { + background-position: 100% 40%; + padding-right: 20px; + padding-left: 0px; +} diff --git a/public/stylesheets/hubspot/messenger-theme-flat.css b/public/stylesheets/hubspot/messenger-theme-flat.css index df8d35aeb..7795e5f3b 100644 --- a/public/stylesheets/hubspot/messenger-theme-flat.css +++ b/public/stylesheets/hubspot/messenger-theme-flat.css @@ -1,462 +1,462 @@ -@-webkit-keyframes ui-spinner-rotate-right { - /* line 64, ../../src/sass/messenger-spinner.scss */ - 0% { - -webkit-transform: rotate(0deg); - } - - /* line 65, ../../src/sass/messenger-spinner.scss */ - 25% { - -webkit-transform: rotate(180deg); - } - - /* line 66, ../../src/sass/messenger-spinner.scss */ - 50% { - -webkit-transform: rotate(180deg); - } - - /* line 67, ../../src/sass/messenger-spinner.scss */ - 75% { - -webkit-transform: rotate(360deg); - } - - /* line 68, ../../src/sass/messenger-spinner.scss */ - 100% { - -webkit-transform: rotate(360deg); - } -} - -@-webkit-keyframes ui-spinner-rotate-left { - /* line 72, ../../src/sass/messenger-spinner.scss */ - 0% { - -webkit-transform: rotate(0deg); - } - - /* line 73, ../../src/sass/messenger-spinner.scss */ - 25% { - -webkit-transform: rotate(0deg); - } - - /* line 74, ../../src/sass/messenger-spinner.scss */ - 50% { - -webkit-transform: rotate(180deg); - } - - /* line 75, ../../src/sass/messenger-spinner.scss */ - 75% { - -webkit-transform: rotate(180deg); - } - - /* line 76, ../../src/sass/messenger-spinner.scss */ - 100% { - -webkit-transform: rotate(360deg); - } -} - -@-moz-keyframes ui-spinner-rotate-right { - /* line 80, ../../src/sass/messenger-spinner.scss */ - 0% { - -moz-transform: rotate(0deg); - } - - /* line 81, ../../src/sass/messenger-spinner.scss */ - 25% { - -moz-transform: rotate(180deg); - } - - /* line 82, ../../src/sass/messenger-spinner.scss */ - 50% { - -moz-transform: rotate(180deg); - } - - /* line 83, ../../src/sass/messenger-spinner.scss */ - 75% { - -moz-transform: rotate(360deg); - } - - /* line 84, ../../src/sass/messenger-spinner.scss */ - 100% { - -moz-transform: rotate(360deg); - } -} - -@-moz-keyframes ui-spinner-rotate-left { - /* line 88, ../../src/sass/messenger-spinner.scss */ - 0% { - -moz-transform: rotate(0deg); - } - - /* line 89, ../../src/sass/messenger-spinner.scss */ - 25% { - -moz-transform: rotate(0deg); - } - - /* line 90, ../../src/sass/messenger-spinner.scss */ - 50% { - -moz-transform: rotate(180deg); - } - - /* line 91, ../../src/sass/messenger-spinner.scss */ - 75% { - -moz-transform: rotate(180deg); - } - - /* line 92, ../../src/sass/messenger-spinner.scss */ - 100% { - -moz-transform: rotate(360deg); - } -} - -@keyframes ui-spinner-rotate-right { - /* line 96, ../../src/sass/messenger-spinner.scss */ - 0% { - transform: rotate(0deg); - } - - /* line 97, ../../src/sass/messenger-spinner.scss */ - 25% { - transform: rotate(180deg); - } - - /* line 98, ../../src/sass/messenger-spinner.scss */ - 50% { - transform: rotate(180deg); - } - - /* line 99, ../../src/sass/messenger-spinner.scss */ - 75% { - transform: rotate(360deg); - } - - /* line 100, ../../src/sass/messenger-spinner.scss */ - 100% { - transform: rotate(360deg); - } -} - -@keyframes ui-spinner-rotate-left { - /* line 104, ../../src/sass/messenger-spinner.scss */ - 0% { - transform: rotate(0deg); - } - - /* line 105, ../../src/sass/messenger-spinner.scss */ - 25% { - transform: rotate(0deg); - } - - /* line 106, ../../src/sass/messenger-spinner.scss */ - 50% { - transform: rotate(180deg); - } - - /* line 107, ../../src/sass/messenger-spinner.scss */ - 75% { - transform: rotate(180deg); - } - - /* line 108, ../../src/sass/messenger-spinner.scss */ - 100% { - transform: rotate(360deg); - } -} - -/* line 116, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner { - position: relative; - border-radius: 100%; -} -/* line 120, ../../src/sass/messenger-spinner.scss */ -ul.messenger.messenger-spinner-active .messenger-spinner .messenger-spinner { - display: block; -} -/* line 124, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner .messenger-spinner-side { - width: 50%; - height: 100%; - overflow: hidden; - position: absolute; -} -/* line 130, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner .messenger-spinner-side .messenger-spinner-fill { - border-radius: 999px; - position: absolute; - width: 100%; - height: 100%; - -webkit-animation-iteration-count: infinite; - -moz-animation-iteration-count: infinite; - -ms-animation-iteration-count: infinite; - -o-animation-iteration-count: infinite; - animation-iteration-count: infinite; - -webkit-animation-timing-function: linear; - -moz-animation-timing-function: linear; - -ms-animation-timing-function: linear; - -o-animation-timing-function: linear; - animation-timing-function: linear; -} -/* line 140, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner .messenger-spinner-side-left { - left: 0; -} -/* line 143, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner .messenger-spinner-side-left .messenger-spinner-fill { - left: 100%; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - -webkit-animation-name: ui-spinner-rotate-left; - -moz-animation-name: ui-spinner-rotate-left; - -ms-animation-name: ui-spinner-rotate-left; - -o-animation-name: ui-spinner-rotate-left; - animation-name: ui-spinner-rotate-left; - -webkit-transform-origin: 0 50%; - -moz-transform-origin: 0 50%; - -ms-transform-origin: 0 50%; - -o-transform-origin: 0 50%; - transform-origin: 0 50%; -} -/* line 152, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner .messenger-spinner-side-right { - left: 50%; -} -/* line 155, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner .messenger-spinner-side-right .messenger-spinner-fill { - left: -100%; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-animation-name: ui-spinner-rotate-right; - -moz-animation-name: ui-spinner-rotate-right; - -ms-animation-name: ui-spinner-rotate-right; - -o-animation-name: ui-spinner-rotate-right; - animation-name: ui-spinner-rotate-right; - -webkit-transform-origin: 100% 50%; - -moz-transform-origin: 100% 50%; - -ms-transform-origin: 100% 50%; - -o-transform-origin: 100% 50%; - transform-origin: 100% 50%; -} - -/* line 15, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat { - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - -ms-border-radius: 4px; - -o-border-radius: 4px; - border-radius: 4px; - -moz-user-select: none; - -webkit-user-select: none; - -o-user-select: none; - user-select: none; - background: #404040; -} -/* line 20, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat.messenger-empty { - display: none; -} -/* line 23, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message { - -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; - -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; - box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - -ms-border-radius: 0px; - -o-border-radius: 0px; - border-radius: 0px; - position: relative; - border: 0px; - margin-bottom: 0px; - font-size: 13px; - background: transparent; - color: #f0f0f0; - font-weight: 500; - padding: 10px 30px 13px 65px; -} -/* line 35, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message .messenger-close { - position: absolute; - top: 0px; - right: 0px; - color: #888888; - opacity: 1; - font-weight: bold; - display: block; - font-size: 20px; - line-height: 20px; - padding: 8px 10px 7px 7px; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} -/* line 51, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message .messenger-close:hover { - color: #bbbbbb; -} -/* line 54, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message .messenger-close:active { - color: #777777; -} -/* line 57, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message .messenger-actions { - float: none; - margin-top: 10px; -} -/* line 61, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message .messenger-actions a { - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - -ms-border-radius: 4px; - -o-border-radius: 4px; - border-radius: 4px; - text-decoration: none; - color: #aaaaaa; - background: #2e2e2e; - display: inline-block; - padding: 10px; - margin-right: 10px; - padding: 4px 11px 6px; - text-transform: capitalize; -} -/* line 72, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message .messenger-actions a:hover { - color: #f0f0f0; - background: #2e2e2e; -} -/* line 76, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message .messenger-actions a:active { - background: #292929; - color: #aaaaaa; -} -/* line 80, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message .messenger-actions .messenger-phrase { - display: none; -} -/* line 83, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message .messenger-message-inner:before { - -webkit-border-radius: 50%; - -moz-border-radius: 50%; - -ms-border-radius: 50%; - -o-border-radius: 50%; - border-radius: 50%; - position: absolute; - left: 17px; - display: block; - content: " "; - top: 50%; - margin-top: -8px; - height: 13px; - width: 13px; - z-index: 20; -} -/* line 95, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message.alert-success .messenger-message-inner:before { - background: #5fca4a; -} -/* line 98, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message.alert-info .messenger-message-inner:before { - background: #61c4b8; -} -/* line 103, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message.alert-error .messenger-message-inner:before { - background: #dd6a45; -} -/* line 32, ../../src/sass/messenger-spinner.scss */ -ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner { - width: 32px; - height: 32px; - background: transparent; -} -/* line 37, ../../src/sass/messenger-spinner.scss */ -ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner .messenger-spinner-side .messenger-spinner-fill { - background: #dd6a45; - -webkit-animation-duration: 20s; - -moz-animation-duration: 20s; - -ms-animation-duration: 20s; - -o-animation-duration: 20s; - animation-duration: 20s; - opacity: 1; -} -/* line 45, ../../src/sass/messenger-spinner.scss */ -ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner:after { - content: ""; - background: #292929; - position: absolute; - width: 26px; - height: 26px; - border-radius: 50%; - top: 3px; - left: 3px; - display: block; -} -/* line 32, ../../src/sass/messenger-spinner.scss */ -ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner { - width: 32px; - height: 32px; - background: transparent; -} -/* line 37, ../../src/sass/messenger-spinner.scss */ -ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner .messenger-spinner-side .messenger-spinner-fill { - background: #dd6a45; - -webkit-animation-duration: 600s; - -moz-animation-duration: 600s; - -ms-animation-duration: 600s; - -o-animation-duration: 600s; - animation-duration: 600s; - opacity: 1; -} -/* line 45, ../../src/sass/messenger-spinner.scss */ -ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner:after { - content: ""; - background: #292929; - position: absolute; - width: 26px; - height: 26px; - border-radius: 50%; - top: 3px; - left: 3px; - display: block; -} -/* line 114, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message-slot.messenger-last .messenger-message { - -webkit-border-radius: 4px 4px 0px 0px; - -moz-border-radius: 4px 4px 0px 0px; - -ms-border-radius: 4px 4px 0px 0px; - -o-border-radius: 4px 4px 0px 0px; - border-radius: 4px 4px 0px 0px; - -webkit-box-shadow: inset 48px 0px 0px #292929; - -moz-box-shadow: inset 48px 0px 0px #292929; - box-shadow: inset 48px 0px 0px #292929; -} -/* line 118, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message-slot.messenger-first .messenger-message { - -webkit-border-radius: 0px 0px 4px 4px; - -moz-border-radius: 0px 0px 4px 4px; - -ms-border-radius: 0px 0px 4px 4px; - -o-border-radius: 0px 0px 4px 4px; - border-radius: 0px 0px 4px 4px; - -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; - -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; - box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; -} -/* line 122, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-message-slot.messenger-first.messenger-last .messenger-message { - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - -ms-border-radius: 4px; - -o-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: inset 48px 0px 0px #292929; - -moz-box-shadow: inset 48px 0px 0px #292929; - box-shadow: inset 48px 0px 0px #292929; -} -/* line 126, ../../src/sass/messenger-theme-flat.sass */ -ul.messenger-theme-flat .messenger-spinner { - display: block; - position: absolute; - left: 7px; - top: 50%; - margin-top: -18px; - z-index: 999; - height: 32px; - width: 32px; - z-index: 10; -} +@-webkit-keyframes ui-spinner-rotate-right { + /* line 64, ../../src/sass/messenger-spinner.scss */ + 0% { + -webkit-transform: rotate(0deg); + } + + /* line 65, ../../src/sass/messenger-spinner.scss */ + 25% { + -webkit-transform: rotate(180deg); + } + + /* line 66, ../../src/sass/messenger-spinner.scss */ + 50% { + -webkit-transform: rotate(180deg); + } + + /* line 67, ../../src/sass/messenger-spinner.scss */ + 75% { + -webkit-transform: rotate(360deg); + } + + /* line 68, ../../src/sass/messenger-spinner.scss */ + 100% { + -webkit-transform: rotate(360deg); + } +} + +@-webkit-keyframes ui-spinner-rotate-left { + /* line 72, ../../src/sass/messenger-spinner.scss */ + 0% { + -webkit-transform: rotate(0deg); + } + + /* line 73, ../../src/sass/messenger-spinner.scss */ + 25% { + -webkit-transform: rotate(0deg); + } + + /* line 74, ../../src/sass/messenger-spinner.scss */ + 50% { + -webkit-transform: rotate(180deg); + } + + /* line 75, ../../src/sass/messenger-spinner.scss */ + 75% { + -webkit-transform: rotate(180deg); + } + + /* line 76, ../../src/sass/messenger-spinner.scss */ + 100% { + -webkit-transform: rotate(360deg); + } +} + +@-moz-keyframes ui-spinner-rotate-right { + /* line 80, ../../src/sass/messenger-spinner.scss */ + 0% { + -moz-transform: rotate(0deg); + } + + /* line 81, ../../src/sass/messenger-spinner.scss */ + 25% { + -moz-transform: rotate(180deg); + } + + /* line 82, ../../src/sass/messenger-spinner.scss */ + 50% { + -moz-transform: rotate(180deg); + } + + /* line 83, ../../src/sass/messenger-spinner.scss */ + 75% { + -moz-transform: rotate(360deg); + } + + /* line 84, ../../src/sass/messenger-spinner.scss */ + 100% { + -moz-transform: rotate(360deg); + } +} + +@-moz-keyframes ui-spinner-rotate-left { + /* line 88, ../../src/sass/messenger-spinner.scss */ + 0% { + -moz-transform: rotate(0deg); + } + + /* line 89, ../../src/sass/messenger-spinner.scss */ + 25% { + -moz-transform: rotate(0deg); + } + + /* line 90, ../../src/sass/messenger-spinner.scss */ + 50% { + -moz-transform: rotate(180deg); + } + + /* line 91, ../../src/sass/messenger-spinner.scss */ + 75% { + -moz-transform: rotate(180deg); + } + + /* line 92, ../../src/sass/messenger-spinner.scss */ + 100% { + -moz-transform: rotate(360deg); + } +} + +@keyframes ui-spinner-rotate-right { + /* line 96, ../../src/sass/messenger-spinner.scss */ + 0% { + transform: rotate(0deg); + } + + /* line 97, ../../src/sass/messenger-spinner.scss */ + 25% { + transform: rotate(180deg); + } + + /* line 98, ../../src/sass/messenger-spinner.scss */ + 50% { + transform: rotate(180deg); + } + + /* line 99, ../../src/sass/messenger-spinner.scss */ + 75% { + transform: rotate(360deg); + } + + /* line 100, ../../src/sass/messenger-spinner.scss */ + 100% { + transform: rotate(360deg); + } +} + +@keyframes ui-spinner-rotate-left { + /* line 104, ../../src/sass/messenger-spinner.scss */ + 0% { + transform: rotate(0deg); + } + + /* line 105, ../../src/sass/messenger-spinner.scss */ + 25% { + transform: rotate(0deg); + } + + /* line 106, ../../src/sass/messenger-spinner.scss */ + 50% { + transform: rotate(180deg); + } + + /* line 107, ../../src/sass/messenger-spinner.scss */ + 75% { + transform: rotate(180deg); + } + + /* line 108, ../../src/sass/messenger-spinner.scss */ + 100% { + transform: rotate(360deg); + } +} + +/* line 116, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner { + position: relative; + border-radius: 100%; +} +/* line 120, ../../src/sass/messenger-spinner.scss */ +ul.messenger.messenger-spinner-active .messenger-spinner .messenger-spinner { + display: block; +} +/* line 124, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner .messenger-spinner-side { + width: 50%; + height: 100%; + overflow: hidden; + position: absolute; +} +/* line 130, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner .messenger-spinner-side .messenger-spinner-fill { + border-radius: 999px; + position: absolute; + width: 100%; + height: 100%; + -webkit-animation-iteration-count: infinite; + -moz-animation-iteration-count: infinite; + -ms-animation-iteration-count: infinite; + -o-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-timing-function: linear; + -ms-animation-timing-function: linear; + -o-animation-timing-function: linear; + animation-timing-function: linear; +} +/* line 140, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner .messenger-spinner-side-left { + left: 0; +} +/* line 143, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner .messenger-spinner-side-left .messenger-spinner-fill { + left: 100%; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + -webkit-animation-name: ui-spinner-rotate-left; + -moz-animation-name: ui-spinner-rotate-left; + -ms-animation-name: ui-spinner-rotate-left; + -o-animation-name: ui-spinner-rotate-left; + animation-name: ui-spinner-rotate-left; + -webkit-transform-origin: 0 50%; + -moz-transform-origin: 0 50%; + -ms-transform-origin: 0 50%; + -o-transform-origin: 0 50%; + transform-origin: 0 50%; +} +/* line 152, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner .messenger-spinner-side-right { + left: 50%; +} +/* line 155, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner .messenger-spinner-side-right .messenger-spinner-fill { + left: -100%; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + -webkit-animation-name: ui-spinner-rotate-right; + -moz-animation-name: ui-spinner-rotate-right; + -ms-animation-name: ui-spinner-rotate-right; + -o-animation-name: ui-spinner-rotate-right; + animation-name: ui-spinner-rotate-right; + -webkit-transform-origin: 100% 50%; + -moz-transform-origin: 100% 50%; + -ms-transform-origin: 100% 50%; + -o-transform-origin: 100% 50%; + transform-origin: 100% 50%; +} + +/* line 15, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + -o-border-radius: 4px; + border-radius: 4px; + -moz-user-select: none; + -webkit-user-select: none; + -o-user-select: none; + user-select: none; + background: #404040; +} +/* line 20, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat.messenger-empty { + display: none; +} +/* line 23, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message { + -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; + -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; + box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + -ms-border-radius: 0px; + -o-border-radius: 0px; + border-radius: 0px; + position: relative; + border: 0px; + margin-bottom: 0px; + font-size: 13px; + background: transparent; + color: #f0f0f0; + font-weight: 500; + padding: 10px 30px 13px 65px; +} +/* line 35, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message .messenger-close { + position: absolute; + top: 0px; + right: 0px; + color: #888888; + opacity: 1; + font-weight: bold; + display: block; + font-size: 20px; + line-height: 20px; + padding: 8px 10px 7px 7px; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +/* line 51, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message .messenger-close:hover { + color: #bbbbbb; +} +/* line 54, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message .messenger-close:active { + color: #777777; +} +/* line 57, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message .messenger-actions { + float: none; + margin-top: 10px; +} +/* line 61, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message .messenger-actions a { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + -o-border-radius: 4px; + border-radius: 4px; + text-decoration: none; + color: #aaaaaa; + background: #2e2e2e; + display: inline-block; + padding: 10px; + margin-right: 10px; + padding: 4px 11px 6px; + text-transform: capitalize; +} +/* line 72, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message .messenger-actions a:hover { + color: #f0f0f0; + background: #2e2e2e; +} +/* line 76, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message .messenger-actions a:active { + background: #292929; + color: #aaaaaa; +} +/* line 80, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message .messenger-actions .messenger-phrase { + display: none; +} +/* line 83, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message .messenger-message-inner:before { + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; + position: absolute; + left: 17px; + display: block; + content: " "; + top: 50%; + margin-top: -8px; + height: 13px; + width: 13px; + z-index: 20; +} +/* line 95, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message.alert-success .messenger-message-inner:before { + background: #5fca4a; +} +/* line 98, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message.alert-info .messenger-message-inner:before { + background: #61c4b8; +} +/* line 103, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message.alert-error .messenger-message-inner:before { + background: #dd6a45; +} +/* line 32, ../../src/sass/messenger-spinner.scss */ +ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner { + width: 32px; + height: 32px; + background: transparent; +} +/* line 37, ../../src/sass/messenger-spinner.scss */ +ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner .messenger-spinner-side .messenger-spinner-fill { + background: #dd6a45; + -webkit-animation-duration: 20s; + -moz-animation-duration: 20s; + -ms-animation-duration: 20s; + -o-animation-duration: 20s; + animation-duration: 20s; + opacity: 1; +} +/* line 45, ../../src/sass/messenger-spinner.scss */ +ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner:after { + content: ""; + background: #292929; + position: absolute; + width: 26px; + height: 26px; + border-radius: 50%; + top: 3px; + left: 3px; + display: block; +} +/* line 32, ../../src/sass/messenger-spinner.scss */ +ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner { + width: 32px; + height: 32px; + background: transparent; +} +/* line 37, ../../src/sass/messenger-spinner.scss */ +ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner .messenger-spinner-side .messenger-spinner-fill { + background: #dd6a45; + -webkit-animation-duration: 600s; + -moz-animation-duration: 600s; + -ms-animation-duration: 600s; + -o-animation-duration: 600s; + animation-duration: 600s; + opacity: 1; +} +/* line 45, ../../src/sass/messenger-spinner.scss */ +ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner:after { + content: ""; + background: #292929; + position: absolute; + width: 26px; + height: 26px; + border-radius: 50%; + top: 3px; + left: 3px; + display: block; +} +/* line 114, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message-slot.messenger-last .messenger-message { + -webkit-border-radius: 4px 4px 0px 0px; + -moz-border-radius: 4px 4px 0px 0px; + -ms-border-radius: 4px 4px 0px 0px; + -o-border-radius: 4px 4px 0px 0px; + border-radius: 4px 4px 0px 0px; + -webkit-box-shadow: inset 48px 0px 0px #292929; + -moz-box-shadow: inset 48px 0px 0px #292929; + box-shadow: inset 48px 0px 0px #292929; +} +/* line 118, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message-slot.messenger-first .messenger-message { + -webkit-border-radius: 0px 0px 4px 4px; + -moz-border-radius: 0px 0px 4px 4px; + -ms-border-radius: 0px 0px 4px 4px; + -o-border-radius: 0px 0px 4px 4px; + border-radius: 0px 0px 4px 4px; + -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; + -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; + box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929; +} +/* line 122, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-message-slot.messenger-first.messenger-last .messenger-message { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + -o-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 48px 0px 0px #292929; + -moz-box-shadow: inset 48px 0px 0px #292929; + box-shadow: inset 48px 0px 0px #292929; +} +/* line 126, ../../src/sass/messenger-theme-flat.sass */ +ul.messenger-theme-flat .messenger-spinner { + display: block; + position: absolute; + left: 7px; + top: 50%; + margin-top: -18px; + z-index: 999; + height: 32px; + width: 32px; + z-index: 10; +} diff --git a/public/stylesheets/hubspot/messenger-theme-future.css b/public/stylesheets/hubspot/messenger-theme-future.css index 640a56823..f3c7bc8de 100644 --- a/public/stylesheets/hubspot/messenger-theme-future.css +++ b/public/stylesheets/hubspot/messenger-theme-future.css @@ -1,496 +1,496 @@ -@-webkit-keyframes ui-spinner-rotate-right { - /* line 64, ../../src/sass/messenger-spinner.scss */ - 0% { - -webkit-transform: rotate(0deg); - } - - /* line 65, ../../src/sass/messenger-spinner.scss */ - 25% { - -webkit-transform: rotate(180deg); - } - - /* line 66, ../../src/sass/messenger-spinner.scss */ - 50% { - -webkit-transform: rotate(180deg); - } - - /* line 67, ../../src/sass/messenger-spinner.scss */ - 75% { - -webkit-transform: rotate(360deg); - } - - /* line 68, ../../src/sass/messenger-spinner.scss */ - 100% { - -webkit-transform: rotate(360deg); - } -} - -@-webkit-keyframes ui-spinner-rotate-left { - /* line 72, ../../src/sass/messenger-spinner.scss */ - 0% { - -webkit-transform: rotate(0deg); - } - - /* line 73, ../../src/sass/messenger-spinner.scss */ - 25% { - -webkit-transform: rotate(0deg); - } - - /* line 74, ../../src/sass/messenger-spinner.scss */ - 50% { - -webkit-transform: rotate(180deg); - } - - /* line 75, ../../src/sass/messenger-spinner.scss */ - 75% { - -webkit-transform: rotate(180deg); - } - - /* line 76, ../../src/sass/messenger-spinner.scss */ - 100% { - -webkit-transform: rotate(360deg); - } -} - -@-moz-keyframes ui-spinner-rotate-right { - /* line 80, ../../src/sass/messenger-spinner.scss */ - 0% { - -moz-transform: rotate(0deg); - } - - /* line 81, ../../src/sass/messenger-spinner.scss */ - 25% { - -moz-transform: rotate(180deg); - } - - /* line 82, ../../src/sass/messenger-spinner.scss */ - 50% { - -moz-transform: rotate(180deg); - } - - /* line 83, ../../src/sass/messenger-spinner.scss */ - 75% { - -moz-transform: rotate(360deg); - } - - /* line 84, ../../src/sass/messenger-spinner.scss */ - 100% { - -moz-transform: rotate(360deg); - } -} - -@-moz-keyframes ui-spinner-rotate-left { - /* line 88, ../../src/sass/messenger-spinner.scss */ - 0% { - -moz-transform: rotate(0deg); - } - - /* line 89, ../../src/sass/messenger-spinner.scss */ - 25% { - -moz-transform: rotate(0deg); - } - - /* line 90, ../../src/sass/messenger-spinner.scss */ - 50% { - -moz-transform: rotate(180deg); - } - - /* line 91, ../../src/sass/messenger-spinner.scss */ - 75% { - -moz-transform: rotate(180deg); - } - - /* line 92, ../../src/sass/messenger-spinner.scss */ - 100% { - -moz-transform: rotate(360deg); - } -} - -@keyframes ui-spinner-rotate-right { - /* line 96, ../../src/sass/messenger-spinner.scss */ - 0% { - transform: rotate(0deg); - } - - /* line 97, ../../src/sass/messenger-spinner.scss */ - 25% { - transform: rotate(180deg); - } - - /* line 98, ../../src/sass/messenger-spinner.scss */ - 50% { - transform: rotate(180deg); - } - - /* line 99, ../../src/sass/messenger-spinner.scss */ - 75% { - transform: rotate(360deg); - } - - /* line 100, ../../src/sass/messenger-spinner.scss */ - 100% { - transform: rotate(360deg); - } -} - -@keyframes ui-spinner-rotate-left { - /* line 104, ../../src/sass/messenger-spinner.scss */ - 0% { - transform: rotate(0deg); - } - - /* line 105, ../../src/sass/messenger-spinner.scss */ - 25% { - transform: rotate(0deg); - } - - /* line 106, ../../src/sass/messenger-spinner.scss */ - 50% { - transform: rotate(180deg); - } - - /* line 107, ../../src/sass/messenger-spinner.scss */ - 75% { - transform: rotate(180deg); - } - - /* line 108, ../../src/sass/messenger-spinner.scss */ - 100% { - transform: rotate(360deg); - } -} - -/* line 116, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner { - position: relative; - border-radius: 100%; -} -/* line 120, ../../src/sass/messenger-spinner.scss */ -ul.messenger.messenger-spinner-active .messenger-spinner .messenger-spinner { - display: block; -} -/* line 124, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner .messenger-spinner-side { - width: 50%; - height: 100%; - overflow: hidden; - position: absolute; -} -/* line 130, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner .messenger-spinner-side .messenger-spinner-fill { - border-radius: 999px; - position: absolute; - width: 100%; - height: 100%; - -webkit-animation-iteration-count: infinite; - -moz-animation-iteration-count: infinite; - -ms-animation-iteration-count: infinite; - -o-animation-iteration-count: infinite; - animation-iteration-count: infinite; - -webkit-animation-timing-function: linear; - -moz-animation-timing-function: linear; - -ms-animation-timing-function: linear; - -o-animation-timing-function: linear; - animation-timing-function: linear; -} -/* line 140, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner .messenger-spinner-side-left { - left: 0; -} -/* line 143, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner .messenger-spinner-side-left .messenger-spinner-fill { - left: 100%; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - -webkit-animation-name: ui-spinner-rotate-left; - -moz-animation-name: ui-spinner-rotate-left; - -ms-animation-name: ui-spinner-rotate-left; - -o-animation-name: ui-spinner-rotate-left; - animation-name: ui-spinner-rotate-left; - -webkit-transform-origin: 0 50%; - -moz-transform-origin: 0 50%; - -ms-transform-origin: 0 50%; - -o-transform-origin: 0 50%; - transform-origin: 0 50%; -} -/* line 152, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner .messenger-spinner-side-right { - left: 50%; -} -/* line 155, ../../src/sass/messenger-spinner.scss */ -.messenger-spinner .messenger-spinner-side-right .messenger-spinner-fill { - left: -100%; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-animation-name: ui-spinner-rotate-right; - -moz-animation-name: ui-spinner-rotate-right; - -ms-animation-name: ui-spinner-rotate-right; - -o-animation-name: ui-spinner-rotate-right; - animation-name: ui-spinner-rotate-right; - -webkit-transform-origin: 100% 50%; - -moz-transform-origin: 100% 50%; - -ms-transform-origin: 100% 50%; - -o-transform-origin: 100% 50%; - transform-origin: 100% 50%; -} - -/* line 15, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future { - -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.24), 0px 1px 5px rgba(0, 0, 0, 0.6); - -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.24), 0px 1px 5px rgba(0, 0, 0, 0.6); - box-shadow: inset 0px 1px rgba(255, 255, 255, 0.24), 0px 1px 5px rgba(0, 0, 0, 0.6); - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - -ms-border-radius: 4px; - -o-border-radius: 4px; - border-radius: 4px; - -moz-user-select: none; - -webkit-user-select: none; - -o-user-select: none; - user-select: none; - background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5c5b5b), color-stop(100%, #353535)); - background-image: -webkit-linear-gradient(#5c5b5b, #353535); - background-image: -moz-linear-gradient(#5c5b5b, #353535); - background-image: -o-linear-gradient(#5c5b5b, #353535); - background-image: linear-gradient(#5c5b5b, #353535); - background-color: #5c5b5b; - border: 1px solid rgba(0, 0, 0, 0.5); -} -/* line 23, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message { - -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 0px -1px rgba(0, 0, 0, 0.23), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); - -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 0px -1px rgba(0, 0, 0, 0.23), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); - box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 0px -1px rgba(0, 0, 0, 0.23), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - -ms-border-radius: 0px; - -o-border-radius: 0px; - border-radius: 0px; - position: relative; - border: 0px; - margin-bottom: 0px; - font-size: 13px; - background: transparent; - color: #f0f0f0; - text-shadow: 0px 1px #111111; - font-weight: 500; - padding: 10px 30px 13px 65px; -} -/* line 36, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message a { - color: #5599ff; -} -/* line 39, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message .messenger-close { - position: absolute; - top: 0px; - right: 0px; - color: #888888; - text-shadow: 0px 1px black; - opacity: 1; - font-weight: bold; - display: block; - font-size: 20px; - line-height: 20px; - padding: 8px 10px 7px 7px; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} -/* line 56, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message .messenger-close:hover { - color: #bbbbbb; -} -/* line 59, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message .messenger-close:active { - color: #777777; -} -/* line 62, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message .messenger-actions { - float: none; - margin-top: 10px; -} -/* line 66, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message .messenger-actions a { - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.1); - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.1); - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.1); - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - -ms-border-radius: 4px; - -o-border-radius: 4px; - border-radius: 4px; - text-decoration: none; - display: inline-block; - padding: 10px; - color: #aaaaaa; - text-shadow: 0px 1px #222222; - margin-right: 10px; - padding: 3px 10px 5px; - text-transform: capitalize; -} -/* line 78, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message .messenger-actions a:hover { - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.2); - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.2); - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.2); - color: #f0f0f0; -} -/* line 82, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message .messenger-actions a:active { - -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.28), inset 0px 1px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.28), inset 0px 1px rgba(0, 0, 0, 0.1); - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.28), inset 0px 1px rgba(0, 0, 0, 0.1); - background: rgba(0, 0, 0, 0.04); - color: #aaaaaa; -} -/* line 87, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message .messenger-actions .messenger-phrase { - display: none; -} -/* line 90, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message .messenger-message-inner:before { - -webkit-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.6), 0px 0px 0px 1px rgba(0, 0, 0, 0.2); - -moz-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.6), 0px 0px 0px 1px rgba(0, 0, 0, 0.2); - box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.6), 0px 0px 0px 1px rgba(0, 0, 0, 0.2); - -webkit-border-radius: 50%; - -moz-border-radius: 50%; - -ms-border-radius: 50%; - -o-border-radius: 50%; - border-radius: 50%; - position: absolute; - left: 17px; - display: block; - content: " "; - top: 50%; - margin-top: -8px; - height: 13px; - width: 13px; - z-index: 20; -} -/* line 103, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message.alert-success .messenger-message-inner:before { - background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5fca4a), color-stop(100%, #098d38)); - background-image: -webkit-linear-gradient(top, #5fca4a, #098d38); - background-image: -moz-linear-gradient(top, #5fca4a, #098d38); - background-image: -o-linear-gradient(top, #5fca4a, #098d38); - background-image: linear-gradient(top, #5fca4a, #098d38); - background-color: #5fca4a; -} -/* line 107, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message.alert-info .messenger-message-inner:before { - background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #61c4b8), color-stop(100%, #1992a3)); - background-image: -webkit-linear-gradient(top, #61c4b8, #1992a3); - background-image: -moz-linear-gradient(top, #61c4b8, #1992a3); - background-image: -o-linear-gradient(top, #61c4b8, #1992a3); - background-image: linear-gradient(top, #61c4b8, #1992a3); - background-color: #61c4b8; -} -/* line 113, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message.alert-error .messenger-message-inner:before { - background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd6a45), color-stop(100%, #91361a)); - background-image: -webkit-linear-gradient(top, #dd6a45, #91361a); - background-image: -moz-linear-gradient(top, #dd6a45, #91361a); - background-image: -o-linear-gradient(top, #dd6a45, #91361a); - background-image: linear-gradient(top, #dd6a45, #91361a); - background-color: #dd6a45; -} -/* line 32, ../../src/sass/messenger-spinner.scss */ -ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .messenger-spinner { - width: 32px; - height: 32px; - background: transparent; -} -/* line 37, ../../src/sass/messenger-spinner.scss */ -ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .messenger-spinner .messenger-spinner-side .messenger-spinner-fill { - background: #dd6a45; - -webkit-animation-duration: 20s; - -moz-animation-duration: 20s; - -ms-animation-duration: 20s; - -o-animation-duration: 20s; - animation-duration: 20s; - opacity: 1; -} -/* line 45, ../../src/sass/messenger-spinner.scss */ -ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .messenger-spinner:after { - content: ""; - background: #333333; - position: absolute; - width: 26px; - height: 26px; - border-radius: 50%; - top: 3px; - left: 3px; - display: block; -} -/* line 32, ../../src/sass/messenger-spinner.scss */ -ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .messenger-spinner { - width: 32px; - height: 32px; - background: transparent; -} -/* line 37, ../../src/sass/messenger-spinner.scss */ -ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .messenger-spinner .messenger-spinner-side .messenger-spinner-fill { - background: #dd6a45; - -webkit-animation-duration: 600s; - -moz-animation-duration: 600s; - -ms-animation-duration: 600s; - -o-animation-duration: 600s; - animation-duration: 600s; - opacity: 1; -} -/* line 45, ../../src/sass/messenger-spinner.scss */ -ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .messenger-spinner:after { - content: ""; - background: #333333; - position: absolute; - width: 26px; - height: 26px; - border-radius: 50%; - top: 3px; - left: 3px; - display: block; -} -/* line 125, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message-slot.messenger-last .messenger-message { - -webkit-border-radius: 4px 4px 0px 0px; - -moz-border-radius: 4px 4px 0px 0px; - -ms-border-radius: 4px 4px 0px 0px; - -o-border-radius: 4px 4px 0px 0px; - border-radius: 4px 4px 0px 0px; -} -/* line 128, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message-slot.messenger-first .messenger-message { - -webkit-border-radius: 0px 0px 4px 4px; - -moz-border-radius: 0px 0px 4px 4px; - -ms-border-radius: 0px 0px 4px 4px; - -o-border-radius: 0px 0px 4px 4px; - border-radius: 0px 0px 4px 4px; - -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); - -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); - box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); -} -/* line 132, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-message-slot.messenger-first.messenger-last .messenger-message { - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - -ms-border-radius: 4px; - -o-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); - -moz-box-shadow: inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); - box-shadow: inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); -} -/* line 136, ../../src/sass/messenger-theme-future.sass */ -ul.messenger-theme-future .messenger-spinner { - display: block; - position: absolute; - left: 7px; - top: 50%; - margin-top: -18px; - z-index: 999; - height: 32px; - width: 32px; - z-index: 10; -} +@-webkit-keyframes ui-spinner-rotate-right { + /* line 64, ../../src/sass/messenger-spinner.scss */ + 0% { + -webkit-transform: rotate(0deg); + } + + /* line 65, ../../src/sass/messenger-spinner.scss */ + 25% { + -webkit-transform: rotate(180deg); + } + + /* line 66, ../../src/sass/messenger-spinner.scss */ + 50% { + -webkit-transform: rotate(180deg); + } + + /* line 67, ../../src/sass/messenger-spinner.scss */ + 75% { + -webkit-transform: rotate(360deg); + } + + /* line 68, ../../src/sass/messenger-spinner.scss */ + 100% { + -webkit-transform: rotate(360deg); + } +} + +@-webkit-keyframes ui-spinner-rotate-left { + /* line 72, ../../src/sass/messenger-spinner.scss */ + 0% { + -webkit-transform: rotate(0deg); + } + + /* line 73, ../../src/sass/messenger-spinner.scss */ + 25% { + -webkit-transform: rotate(0deg); + } + + /* line 74, ../../src/sass/messenger-spinner.scss */ + 50% { + -webkit-transform: rotate(180deg); + } + + /* line 75, ../../src/sass/messenger-spinner.scss */ + 75% { + -webkit-transform: rotate(180deg); + } + + /* line 76, ../../src/sass/messenger-spinner.scss */ + 100% { + -webkit-transform: rotate(360deg); + } +} + +@-moz-keyframes ui-spinner-rotate-right { + /* line 80, ../../src/sass/messenger-spinner.scss */ + 0% { + -moz-transform: rotate(0deg); + } + + /* line 81, ../../src/sass/messenger-spinner.scss */ + 25% { + -moz-transform: rotate(180deg); + } + + /* line 82, ../../src/sass/messenger-spinner.scss */ + 50% { + -moz-transform: rotate(180deg); + } + + /* line 83, ../../src/sass/messenger-spinner.scss */ + 75% { + -moz-transform: rotate(360deg); + } + + /* line 84, ../../src/sass/messenger-spinner.scss */ + 100% { + -moz-transform: rotate(360deg); + } +} + +@-moz-keyframes ui-spinner-rotate-left { + /* line 88, ../../src/sass/messenger-spinner.scss */ + 0% { + -moz-transform: rotate(0deg); + } + + /* line 89, ../../src/sass/messenger-spinner.scss */ + 25% { + -moz-transform: rotate(0deg); + } + + /* line 90, ../../src/sass/messenger-spinner.scss */ + 50% { + -moz-transform: rotate(180deg); + } + + /* line 91, ../../src/sass/messenger-spinner.scss */ + 75% { + -moz-transform: rotate(180deg); + } + + /* line 92, ../../src/sass/messenger-spinner.scss */ + 100% { + -moz-transform: rotate(360deg); + } +} + +@keyframes ui-spinner-rotate-right { + /* line 96, ../../src/sass/messenger-spinner.scss */ + 0% { + transform: rotate(0deg); + } + + /* line 97, ../../src/sass/messenger-spinner.scss */ + 25% { + transform: rotate(180deg); + } + + /* line 98, ../../src/sass/messenger-spinner.scss */ + 50% { + transform: rotate(180deg); + } + + /* line 99, ../../src/sass/messenger-spinner.scss */ + 75% { + transform: rotate(360deg); + } + + /* line 100, ../../src/sass/messenger-spinner.scss */ + 100% { + transform: rotate(360deg); + } +} + +@keyframes ui-spinner-rotate-left { + /* line 104, ../../src/sass/messenger-spinner.scss */ + 0% { + transform: rotate(0deg); + } + + /* line 105, ../../src/sass/messenger-spinner.scss */ + 25% { + transform: rotate(0deg); + } + + /* line 106, ../../src/sass/messenger-spinner.scss */ + 50% { + transform: rotate(180deg); + } + + /* line 107, ../../src/sass/messenger-spinner.scss */ + 75% { + transform: rotate(180deg); + } + + /* line 108, ../../src/sass/messenger-spinner.scss */ + 100% { + transform: rotate(360deg); + } +} + +/* line 116, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner { + position: relative; + border-radius: 100%; +} +/* line 120, ../../src/sass/messenger-spinner.scss */ +ul.messenger.messenger-spinner-active .messenger-spinner .messenger-spinner { + display: block; +} +/* line 124, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner .messenger-spinner-side { + width: 50%; + height: 100%; + overflow: hidden; + position: absolute; +} +/* line 130, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner .messenger-spinner-side .messenger-spinner-fill { + border-radius: 999px; + position: absolute; + width: 100%; + height: 100%; + -webkit-animation-iteration-count: infinite; + -moz-animation-iteration-count: infinite; + -ms-animation-iteration-count: infinite; + -o-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-timing-function: linear; + -ms-animation-timing-function: linear; + -o-animation-timing-function: linear; + animation-timing-function: linear; +} +/* line 140, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner .messenger-spinner-side-left { + left: 0; +} +/* line 143, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner .messenger-spinner-side-left .messenger-spinner-fill { + left: 100%; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + -webkit-animation-name: ui-spinner-rotate-left; + -moz-animation-name: ui-spinner-rotate-left; + -ms-animation-name: ui-spinner-rotate-left; + -o-animation-name: ui-spinner-rotate-left; + animation-name: ui-spinner-rotate-left; + -webkit-transform-origin: 0 50%; + -moz-transform-origin: 0 50%; + -ms-transform-origin: 0 50%; + -o-transform-origin: 0 50%; + transform-origin: 0 50%; +} +/* line 152, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner .messenger-spinner-side-right { + left: 50%; +} +/* line 155, ../../src/sass/messenger-spinner.scss */ +.messenger-spinner .messenger-spinner-side-right .messenger-spinner-fill { + left: -100%; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + -webkit-animation-name: ui-spinner-rotate-right; + -moz-animation-name: ui-spinner-rotate-right; + -ms-animation-name: ui-spinner-rotate-right; + -o-animation-name: ui-spinner-rotate-right; + animation-name: ui-spinner-rotate-right; + -webkit-transform-origin: 100% 50%; + -moz-transform-origin: 100% 50%; + -ms-transform-origin: 100% 50%; + -o-transform-origin: 100% 50%; + transform-origin: 100% 50%; +} + +/* line 15, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future { + -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.24), 0px 1px 5px rgba(0, 0, 0, 0.6); + -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.24), 0px 1px 5px rgba(0, 0, 0, 0.6); + box-shadow: inset 0px 1px rgba(255, 255, 255, 0.24), 0px 1px 5px rgba(0, 0, 0, 0.6); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + -o-border-radius: 4px; + border-radius: 4px; + -moz-user-select: none; + -webkit-user-select: none; + -o-user-select: none; + user-select: none; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5c5b5b), color-stop(100%, #353535)); + background-image: -webkit-linear-gradient(#5c5b5b, #353535); + background-image: -moz-linear-gradient(#5c5b5b, #353535); + background-image: -o-linear-gradient(#5c5b5b, #353535); + background-image: linear-gradient(#5c5b5b, #353535); + background-color: #5c5b5b; + border: 1px solid rgba(0, 0, 0, 0.5); +} +/* line 23, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message { + -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 0px -1px rgba(0, 0, 0, 0.23), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); + -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 0px -1px rgba(0, 0, 0, 0.23), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); + box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 0px -1px rgba(0, 0, 0, 0.23), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + -ms-border-radius: 0px; + -o-border-radius: 0px; + border-radius: 0px; + position: relative; + border: 0px; + margin-bottom: 0px; + font-size: 13px; + background: transparent; + color: #f0f0f0; + text-shadow: 0px 1px #111111; + font-weight: 500; + padding: 10px 30px 13px 65px; +} +/* line 36, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message a { + color: #5599ff; +} +/* line 39, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message .messenger-close { + position: absolute; + top: 0px; + right: 0px; + color: #888888; + text-shadow: 0px 1px black; + opacity: 1; + font-weight: bold; + display: block; + font-size: 20px; + line-height: 20px; + padding: 8px 10px 7px 7px; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +/* line 56, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message .messenger-close:hover { + color: #bbbbbb; +} +/* line 59, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message .messenger-close:active { + color: #777777; +} +/* line 62, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message .messenger-actions { + float: none; + margin-top: 10px; +} +/* line 66, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message .messenger-actions a { + -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.1); + -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.1); + box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.1); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + -o-border-radius: 4px; + border-radius: 4px; + text-decoration: none; + display: inline-block; + padding: 10px; + color: #aaaaaa; + text-shadow: 0px 1px #222222; + margin-right: 10px; + padding: 3px 10px 5px; + text-transform: capitalize; +} +/* line 78, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message .messenger-actions a:hover { + -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.2); + -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.2); + box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.2); + color: #f0f0f0; +} +/* line 82, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message .messenger-actions a:active { + -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.28), inset 0px 1px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.28), inset 0px 1px rgba(0, 0, 0, 0.1); + box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.28), inset 0px 1px rgba(0, 0, 0, 0.1); + background: rgba(0, 0, 0, 0.04); + color: #aaaaaa; +} +/* line 87, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message .messenger-actions .messenger-phrase { + display: none; +} +/* line 90, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message .messenger-message-inner:before { + -webkit-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.6), 0px 0px 0px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.6), 0px 0px 0px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.6), 0px 0px 0px 1px rgba(0, 0, 0, 0.2); + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; + position: absolute; + left: 17px; + display: block; + content: " "; + top: 50%; + margin-top: -8px; + height: 13px; + width: 13px; + z-index: 20; +} +/* line 103, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message.alert-success .messenger-message-inner:before { + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5fca4a), color-stop(100%, #098d38)); + background-image: -webkit-linear-gradient(top, #5fca4a, #098d38); + background-image: -moz-linear-gradient(top, #5fca4a, #098d38); + background-image: -o-linear-gradient(top, #5fca4a, #098d38); + background-image: linear-gradient(top, #5fca4a, #098d38); + background-color: #5fca4a; +} +/* line 107, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message.alert-info .messenger-message-inner:before { + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #61c4b8), color-stop(100%, #1992a3)); + background-image: -webkit-linear-gradient(top, #61c4b8, #1992a3); + background-image: -moz-linear-gradient(top, #61c4b8, #1992a3); + background-image: -o-linear-gradient(top, #61c4b8, #1992a3); + background-image: linear-gradient(top, #61c4b8, #1992a3); + background-color: #61c4b8; +} +/* line 113, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message.alert-error .messenger-message-inner:before { + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd6a45), color-stop(100%, #91361a)); + background-image: -webkit-linear-gradient(top, #dd6a45, #91361a); + background-image: -moz-linear-gradient(top, #dd6a45, #91361a); + background-image: -o-linear-gradient(top, #dd6a45, #91361a); + background-image: linear-gradient(top, #dd6a45, #91361a); + background-color: #dd6a45; +} +/* line 32, ../../src/sass/messenger-spinner.scss */ +ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .messenger-spinner { + width: 32px; + height: 32px; + background: transparent; +} +/* line 37, ../../src/sass/messenger-spinner.scss */ +ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .messenger-spinner .messenger-spinner-side .messenger-spinner-fill { + background: #dd6a45; + -webkit-animation-duration: 20s; + -moz-animation-duration: 20s; + -ms-animation-duration: 20s; + -o-animation-duration: 20s; + animation-duration: 20s; + opacity: 1; +} +/* line 45, ../../src/sass/messenger-spinner.scss */ +ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .messenger-spinner:after { + content: ""; + background: #333333; + position: absolute; + width: 26px; + height: 26px; + border-radius: 50%; + top: 3px; + left: 3px; + display: block; +} +/* line 32, ../../src/sass/messenger-spinner.scss */ +ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .messenger-spinner { + width: 32px; + height: 32px; + background: transparent; +} +/* line 37, ../../src/sass/messenger-spinner.scss */ +ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .messenger-spinner .messenger-spinner-side .messenger-spinner-fill { + background: #dd6a45; + -webkit-animation-duration: 600s; + -moz-animation-duration: 600s; + -ms-animation-duration: 600s; + -o-animation-duration: 600s; + animation-duration: 600s; + opacity: 1; +} +/* line 45, ../../src/sass/messenger-spinner.scss */ +ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .messenger-spinner:after { + content: ""; + background: #333333; + position: absolute; + width: 26px; + height: 26px; + border-radius: 50%; + top: 3px; + left: 3px; + display: block; +} +/* line 125, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message-slot.messenger-last .messenger-message { + -webkit-border-radius: 4px 4px 0px 0px; + -moz-border-radius: 4px 4px 0px 0px; + -ms-border-radius: 4px 4px 0px 0px; + -o-border-radius: 4px 4px 0px 0px; + border-radius: 4px 4px 0px 0px; +} +/* line 128, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message-slot.messenger-first .messenger-message { + -webkit-border-radius: 0px 0px 4px 4px; + -moz-border-radius: 0px 0px 4px 4px; + -ms-border-radius: 0px 0px 4px 4px; + -o-border-radius: 0px 0px 4px 4px; + border-radius: 0px 0px 4px 4px; + -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); + -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); + box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); +} +/* line 132, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-message-slot.messenger-first.messenger-last .messenger-message { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + -o-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); + -moz-box-shadow: inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); + box-shadow: inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07); +} +/* line 136, ../../src/sass/messenger-theme-future.sass */ +ul.messenger-theme-future .messenger-spinner { + display: block; + position: absolute; + left: 7px; + top: 50%; + margin-top: -18px; + z-index: 999; + height: 32px; + width: 32px; + z-index: 10; +} diff --git a/public/stylesheets/hubspot/messenger.css b/public/stylesheets/hubspot/messenger.css index 9fc58c936..3b24aa16c 100644 --- a/public/stylesheets/hubspot/messenger.css +++ b/public/stylesheets/hubspot/messenger.css @@ -1,101 +1,101 @@ -/* line 4, ../../src/sass/messenger.sass */ -ul.messenger { - margin: 0; - padding: 0; -} -/* line 8, ../../src/sass/messenger.sass */ -ul.messenger > li { - list-style: none; - margin: 0; - padding: 0; -} -/* line 14, ../../src/sass/messenger.sass */ -ul.messenger.messenger-empty { - display: none; -} -/* line 17, ../../src/sass/messenger.sass */ -ul.messenger .messenger-message { - overflow: hidden; - *zoom: 1; -} -/* line 20, ../../src/sass/messenger.sass */ -ul.messenger .messenger-message.messenger-hidden { - display: none; -} -/* line 23, ../../src/sass/messenger.sass */ -ul.messenger .messenger-message .messenger-phrase, ul.messenger .messenger-message .messenger-actions a { - padding-right: 5px; -} -/* line 26, ../../src/sass/messenger.sass */ -ul.messenger .messenger-message .messenger-actions { - float: right; -} -/* line 29, ../../src/sass/messenger.sass */ -ul.messenger .messenger-message .messenger-actions a { - cursor: pointer; - text-decoration: underline; -} -/* line 33, ../../src/sass/messenger.sass */ -ul.messenger .messenger-message ul, ul.messenger .messenger-message ol { - margin: 10px 18px 0; -} -/* line 36, ../../src/sass/messenger.sass */ -ul.messenger.messenger-fixed { - position: fixed; - z-index: 10000; -} -/* line 40, ../../src/sass/messenger.sass */ -ul.messenger.messenger-fixed .messenger-message { - min-width: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -/* line 45, ../../src/sass/messenger.sass */ -ul.messenger.messenger-fixed .message .messenger-actions { - float: left; -} -/* line 48, ../../src/sass/messenger.sass */ -ul.messenger.messenger-fixed.messenger-on-top { - top: 20px; -} -/* line 51, ../../src/sass/messenger.sass */ -ul.messenger.messenger-fixed.messenger-on-bottom { - bottom: 20px; -} -/* line 54, ../../src/sass/messenger.sass */ -ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom { - left: 50%; - width: 800px; - margin-left: -400px; -} -@media (max-width: 960px) { - /* line 54, ../../src/sass/messenger.sass */ - ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom { - left: 10%; - width: 80%; - margin-left: 0px; - } -} -/* line 64, ../../src/sass/messenger.sass */ -ul.messenger.messenger-fixed.messenger-on-top.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-right { - right: 20px; - left: auto; -} -/* line 68, ../../src/sass/messenger.sass */ -ul.messenger.messenger-fixed.messenger-on-top.messenger-on-left, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-left { - left: 20px; - margin-left: 0px; -} -/* line 72, ../../src/sass/messenger.sass */ -ul.messenger.messenger-fixed.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-left { - width: 350px; -} -/* line 75, ../../src/sass/messenger.sass */ -ul.messenger.messenger-fixed.messenger-on-right .messenger-actions, ul.messenger.messenger-fixed.messenger-on-left .messenger-actions { - float: left; -} -/* line 78, ../../src/sass/messenger.sass */ -ul.messenger .messenger-spinner { - display: none; -} +/* line 4, ../../src/sass/messenger.sass */ +ul.messenger { + margin: 0; + padding: 0; +} +/* line 8, ../../src/sass/messenger.sass */ +ul.messenger > li { + list-style: none; + margin: 0; + padding: 0; +} +/* line 14, ../../src/sass/messenger.sass */ +ul.messenger.messenger-empty { + display: none; +} +/* line 17, ../../src/sass/messenger.sass */ +ul.messenger .messenger-message { + overflow: hidden; + *zoom: 1; +} +/* line 20, ../../src/sass/messenger.sass */ +ul.messenger .messenger-message.messenger-hidden { + display: none; +} +/* line 23, ../../src/sass/messenger.sass */ +ul.messenger .messenger-message .messenger-phrase, ul.messenger .messenger-message .messenger-actions a { + padding-right: 5px; +} +/* line 26, ../../src/sass/messenger.sass */ +ul.messenger .messenger-message .messenger-actions { + float: right; +} +/* line 29, ../../src/sass/messenger.sass */ +ul.messenger .messenger-message .messenger-actions a { + cursor: pointer; + text-decoration: underline; +} +/* line 33, ../../src/sass/messenger.sass */ +ul.messenger .messenger-message ul, ul.messenger .messenger-message ol { + margin: 10px 18px 0; +} +/* line 36, ../../src/sass/messenger.sass */ +ul.messenger.messenger-fixed { + position: fixed; + z-index: 10000; +} +/* line 40, ../../src/sass/messenger.sass */ +ul.messenger.messenger-fixed .messenger-message { + min-width: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +/* line 45, ../../src/sass/messenger.sass */ +ul.messenger.messenger-fixed .message .messenger-actions { + float: left; +} +/* line 48, ../../src/sass/messenger.sass */ +ul.messenger.messenger-fixed.messenger-on-top { + top: 20px; +} +/* line 51, ../../src/sass/messenger.sass */ +ul.messenger.messenger-fixed.messenger-on-bottom { + bottom: 20px; +} +/* line 54, ../../src/sass/messenger.sass */ +ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom { + left: 50%; + width: 800px; + margin-left: -400px; +} +@media (max-width: 960px) { + /* line 54, ../../src/sass/messenger.sass */ + ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom { + left: 10%; + width: 80%; + margin-left: 0px; + } +} +/* line 64, ../../src/sass/messenger.sass */ +ul.messenger.messenger-fixed.messenger-on-top.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-right { + right: 20px; + left: auto; +} +/* line 68, ../../src/sass/messenger.sass */ +ul.messenger.messenger-fixed.messenger-on-top.messenger-on-left, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-left { + left: 20px; + margin-left: 0px; +} +/* line 72, ../../src/sass/messenger.sass */ +ul.messenger.messenger-fixed.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-left { + width: 350px; +} +/* line 75, ../../src/sass/messenger.sass */ +ul.messenger.messenger-fixed.messenger-on-right .messenger-actions, ul.messenger.messenger-fixed.messenger-on-left .messenger-actions { + float: left; +} +/* line 78, ../../src/sass/messenger.sass */ +ul.messenger .messenger-spinner { + display: none; +} diff --git a/public/stylesheets/jquery/jquery-ui-1.9.2.css b/public/stylesheets/jquery/jquery-ui-1.9.2.css index 090d220d5..94aa65d24 100644 --- a/public/stylesheets/jquery/jquery-ui-1.9.2.css +++ b/public/stylesheets/jquery/jquery-ui-1.9.2.css @@ -1,5 +1,5 @@ -/*! jQuery UI - v1.9.2 - 2012-12-26 -* http://jqueryui.com -* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css -* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2C%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=759fcf&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=628db6&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=628db6&iconColorDefault=759fcf&bgColorHover=eef5fd&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=628db6&fcHover=628db6&iconColorHover=759fcf&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=628db6&fcActive=628db6&iconColorActive=759fcf&bgColorHighlight=759fcf&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=628db6&fcHighlight=363636&iconColorHighlight=759fcf&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px -* Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{zoom:1}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;zoom:1}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto;zoom:1}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}* html .ui-autocomplete{width:1px}.ui-button{display:inline-block;position:relative;padding:0;margin-right:.1em;cursor:pointer;text-align:center;zoom:1;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:1.4}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0em}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right}.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-cover{position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;width:300px;overflow:hidden}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 16px .1em 0}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:19px;margin:-10px 0 0 0;padding:1px;height:18px}.ui-dialog .ui-dialog-titlebar-close span{display:block;margin:1px}.ui-dialog .ui-dialog-titlebar-close:hover,.ui-dialog .ui-dialog-titlebar-close:focus{padding:0}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto;zoom:1}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;width:100%}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;zoom:1;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em;zoom:1}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}* html .ui-tooltip{background-image:none}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Verdana,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #628db6;background:#759fcf url(images/ui-bg_gloss-wave_35_759fcf_500x100.png) 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#628db6}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#628db6;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #628db6;background:#eef5fd url(images/ui-bg_glass_100_eef5fd_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#628db6}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#628db6;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #628db6;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#628db6}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#628db6;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #628db6;background:#759fcf url(images/ui-bg_highlight-soft_75_759fcf_1x100.png) 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px;background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_759fcf_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_759fcf_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_759fcf_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_759fcf_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_ffd27a_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.ui-widget-overlay{background:#666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x;opacity:.2;filter:Alpha(Opacity=20);-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px} +/*! jQuery UI - v1.9.2 - 2012-12-26 +* http://jqueryui.com +* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2C%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=759fcf&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=628db6&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=628db6&iconColorDefault=759fcf&bgColorHover=eef5fd&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=628db6&fcHover=628db6&iconColorHover=759fcf&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=628db6&fcActive=628db6&iconColorActive=759fcf&bgColorHighlight=759fcf&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=628db6&fcHighlight=363636&iconColorHighlight=759fcf&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px +* Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{zoom:1}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;zoom:1}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto;zoom:1}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}* html .ui-autocomplete{width:1px}.ui-button{display:inline-block;position:relative;padding:0;margin-right:.1em;cursor:pointer;text-align:center;zoom:1;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:1.4}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0em}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right}.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-cover{position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;width:300px;overflow:hidden}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 16px .1em 0}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:19px;margin:-10px 0 0 0;padding:1px;height:18px}.ui-dialog .ui-dialog-titlebar-close span{display:block;margin:1px}.ui-dialog .ui-dialog-titlebar-close:hover,.ui-dialog .ui-dialog-titlebar-close:focus{padding:0}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto;zoom:1}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;width:100%}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;zoom:1;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em;zoom:1}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}* html .ui-tooltip{background-image:none}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Verdana,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #628db6;background:#759fcf url(images/ui-bg_gloss-wave_35_759fcf_500x100.png) 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#628db6}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#628db6;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #628db6;background:#eef5fd url(images/ui-bg_glass_100_eef5fd_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#628db6}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#628db6;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #628db6;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#628db6}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#628db6;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #628db6;background:#759fcf url(images/ui-bg_highlight-soft_75_759fcf_1x100.png) 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px;background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_759fcf_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_759fcf_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_759fcf_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_759fcf_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_ffd27a_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.ui-widget-overlay{background:#666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x;opacity:.2;filter:Alpha(Opacity=20);-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px} diff --git a/public/stylesheets/jstoolbar.css b/public/stylesheets/jstoolbar.css index f8e2c565e..7e0d5cd76 100644 --- a/public/stylesheets/jstoolbar.css +++ b/public/stylesheets/jstoolbar.css @@ -1,100 +1,100 @@ -.jstEditor { - padding-left: 0px; -} -.jstEditor textarea, .jstEditor iframe { - margin: 0; -} - -.jstHandle { - height: 10px; - font-size: 0.1em; - cursor: s-resize; - /*background: transparent url(img/resizer.png) no-repeat 45% 50%;*/ -} - -.jstElements { - padding: 3px 3px 3px 10px;/*by young*/ -} - -.jstElements button { - margin-right: 4px; - width : 24px; - height: 24px; - padding: 4px; - border-style: solid; - border-width: 1px; - border-color: #ddd; - background-color : #f7f7f7; - background-position : 50% 50%; - background-repeat: no-repeat; -} -.jstElements button:hover { - border-color: #bbb; - background-color: #e5e5e5; -} -.jstElements button span { - display : none; -} -.jstElements span { - display : inline; -} - -.jstSpacer { - width : 0px; - font-size: 1px; - margin-right: 6px; -} - -.jstElements .help { float: right; margin-right: 0.5em; padding-top: 8px; font-size: 0.9em; } -.jstElements .help a {padding: 2px 0 2px 20px; background: url(../images/help.png) no-repeat 0 50%;} - -/* Buttons --------------------------------------------------------- */ -.jstb_strong { - background-image: url(../images/jstoolbar/bt_strong.png); -} -.jstb_em { - background-image: url(../images/jstoolbar/bt_em.png); -} -.jstb_ins { - background-image: url(../images/jstoolbar/bt_ins.png); -} -.jstb_del { - background-image: url(../images/jstoolbar/bt_del.png); -} -.jstb_code { - background-image: url(../images/jstoolbar/bt_code.png); -} -.jstb_h1 { - background-image: url(../images/jstoolbar/bt_h1.png); -} -.jstb_h2 { - background-image: url(../images/jstoolbar/bt_h2.png); -} -.jstb_h3 { - background-image: url(../images/jstoolbar/bt_h3.png); -} -.jstb_ul { - background-image: url(../images/jstoolbar/bt_ul.png); -} -.jstb_ol { - background-image: url(../images/jstoolbar/bt_ol.png); -} -.jstb_bq { - background-image: url(../images/jstoolbar/bt_bq.png); -} -.jstb_unbq { - background-image: url(../images/jstoolbar/bt_bq_remove.png); -} -.jstb_pre { - background-image: url(../images/jstoolbar/bt_pre.png); -} -.jstb_link { - background-image: url(../images/jstoolbar/bt_link.png); -} -.jstb_img { - background-image: url(../images/jstoolbar/bt_img.png); -} -.jstb_help { - background-image: url(../images/help.png); -} +.jstEditor { + padding-left: 0px; +} +.jstEditor textarea, .jstEditor iframe { + margin: 0; +} + +.jstHandle { + height: 10px; + font-size: 0.1em; + cursor: s-resize; + /*background: transparent url(img/resizer.png) no-repeat 45% 50%;*/ +} + +.jstElements { + padding: 3px 3px 3px 10px;/*by young*/ +} + +.jstElements button { + margin-right: 4px; + width : 24px; + height: 24px; + padding: 4px; + border-style: solid; + border-width: 1px; + border-color: #ddd; + background-color : #f7f7f7; + background-position : 50% 50%; + background-repeat: no-repeat; +} +.jstElements button:hover { + border-color: #bbb; + background-color: #e5e5e5; +} +.jstElements button span { + display : none; +} +.jstElements span { + display : inline; +} + +.jstSpacer { + width : 0px; + font-size: 1px; + margin-right: 6px; +} + +.jstElements .help { float: right; margin-right: 0.5em; padding-top: 8px; font-size: 0.9em; } +.jstElements .help a {padding: 2px 0 2px 20px; background: url(../images/help.png) no-repeat 0 50%;} + +/* Buttons +-------------------------------------------------------- */ +.jstb_strong { + background-image: url(../images/jstoolbar/bt_strong.png); +} +.jstb_em { + background-image: url(../images/jstoolbar/bt_em.png); +} +.jstb_ins { + background-image: url(../images/jstoolbar/bt_ins.png); +} +.jstb_del { + background-image: url(../images/jstoolbar/bt_del.png); +} +.jstb_code { + background-image: url(../images/jstoolbar/bt_code.png); +} +.jstb_h1 { + background-image: url(../images/jstoolbar/bt_h1.png); +} +.jstb_h2 { + background-image: url(../images/jstoolbar/bt_h2.png); +} +.jstb_h3 { + background-image: url(../images/jstoolbar/bt_h3.png); +} +.jstb_ul { + background-image: url(../images/jstoolbar/bt_ul.png); +} +.jstb_ol { + background-image: url(../images/jstoolbar/bt_ol.png); +} +.jstb_bq { + background-image: url(../images/jstoolbar/bt_bq.png); +} +.jstb_unbq { + background-image: url(../images/jstoolbar/bt_bq_remove.png); +} +.jstb_pre { + background-image: url(../images/jstoolbar/bt_pre.png); +} +.jstb_link { + background-image: url(../images/jstoolbar/bt_link.png); +} +.jstb_img { + background-image: url(../images/jstoolbar/bt_img.png); +} +.jstb_help { + background-image: url(../images/help.png); +} diff --git a/public/stylesheets/rtl.css b/public/stylesheets/rtl.css index eb047794f..0eb73f392 100644 --- a/public/stylesheets/rtl.css +++ b/public/stylesheets/rtl.css @@ -1,94 +1,94 @@ -body, #wrapper { direction: rtl;} - -#quick-search { float: left; } -#main-menu { margin-left: -500px; left: auto; right: 6px; margin-right: 0px;} -#main-menu li { float: right; } -#top-menu ul { float: right; } -#account { float: left; } -#top-menu #loggedas { float: left; } -#top-menu li { float: right; } -.tabular label.floating -{ - margin-right: 0; - margin-left: auto; - text-align: right; -} -.tabular label -{ - float: right; - margin-left: auto; -} -.tabular p -{ - clear: right; -} -.tabular label.block { text-align: right; } -.icon -{ - background-position: 100% 40%; - padding-right: 20px; - padding-left: 0px; -} -div#activity dt, #search-results dt -{ - background-position: 100% 50%; - padding-right: 20px; - padding-left: 0px; -} -#content .tabs ul li { float: right; } -#content .tabs ul { padding-left: auto; padding-right: 1em; } -table.progress { float: right; } -.contextual { float: left; } -.icon22 { background-position: 100% 40%; padding-right: 26px; padding-left: auto; } -h3, .wiki h2 { padding: 10px 2px 1px 0; } -.tooltip span.tip { text-align: right; } -tr.issue td.subject { text-align: right; } -tr.time-entry td.subject, tr.time-entry td.comments { text-align: right; } -#sidebar { float: left; } -#main.nosidebar #content { border-width: 1px; border-style: solid; border-color: #D7D7D7 #BBBBBB #BBBBBB #D7D7D7;} -.tabular.settings label { margin-left: auto; } -.splitcontentleft { float: right; } -.splitcontentright { float: left; } -p.progress-info { clear: right; } -table.list td.buttons a { padding-right: 20px; } -.filecontent { direction: ltr; } -.entries { direction: ltr; } -.changeset-changes { direction: ltr; padding-left: 2em } -.changesets { direction: ltr; } -div#issue-changesets { float: left; margin-right: 1em; margin-left: 0 } -div#issue-changesets div.wiki { direction: ltr; padding-left: 2em } -#activity dt, .journal { clear: right; } -.journal-link { float: left; } -div.wiki pre { direction: ltr; } - -ul.projects { padding-right: 1em; padding-left: 0; } -ul.projects ul.projects { border-right: 3px solid #e0e0e0; border-left: 0; } -.my-project { padding-right: 18px; padding-left: 0; background-position: 100% 50%; } - -#admin-menu a { background-position: 100% 40%; padding-right: 20px; padding-left: 0;} -input#openid_url { background-position: 100% 50%; padding-right: 18px; padding-left: 0; } - -tr.project.idnt td.name span { background: url(../images/bullet_arrow_left.png) no-repeat 100% 50%; padding-right: 16px; padding-left: 0; } -tr.project.idnt-1 td.name { padding-right: 0.5em; } -tr.project.idnt-2 td.name { padding-right: 2em; } -tr.project.idnt-3 td.name { padding-right: 3.5em; } -tr.project.idnt-4 td.name { padding-right: 5em; } -tr.project.idnt-5 td.name { padding-right: 6.5em; } -tr.project.idnt-6 td.name { padding-right: 8em; } -tr.project.idnt-7 td.name { padding-right: 9.5em; } -tr.project.idnt-8 td.name { padding-right: 11em; } -tr.project.idnt-9 td.name { padding-right: 12.5em; } - -tr.issue.idnt td.subject a { background: url(../images/bullet_arrow_left.png) no-repeat 100% 50%; padding-right: 16px; padding-left: 0; } -tr.issue.idnt-1 td.subject { padding-right: 0.5em; } -tr.issue.idnt-2 td.subject { padding-right: 2em; } -tr.issue.idnt-3 td.subject { padding-right: 3.5em; } -tr.issue.idnt-4 td.subject { padding-right: 5em; } -tr.issue.idnt-5 td.subject { padding-right: 6.5em; } -tr.issue.idnt-6 td.subject { padding-right: 8em; } -tr.issue.idnt-7 td.subject { padding-right: 9.5em; } -tr.issue.idnt-8 td.subject { padding-right: 11em; } -tr.issue.idnt-9 td.subject { padding-right: 12.5em; } - -div.wiki ul.toc { margin-right: 0; margin-left: 12px; } -div.wiki ul.toc li li { margin-right: 1.5em; margin-left: 0; } +body, #wrapper { direction: rtl;} + +#quick-search { float: left; } +#main-menu { margin-left: -500px; left: auto; right: 6px; margin-right: 0px;} +#main-menu li { float: right; } +#top-menu ul { float: right; } +#account { float: left; } +#top-menu #loggedas { float: left; } +#top-menu li { float: right; } +.tabular label.floating +{ + margin-right: 0; + margin-left: auto; + text-align: right; +} +.tabular label +{ + float: right; + margin-left: auto; +} +.tabular p +{ + clear: right; +} +.tabular label.block { text-align: right; } +.icon +{ + background-position: 100% 40%; + padding-right: 20px; + padding-left: 0px; +} +div#activity dt, #search-results dt +{ + background-position: 100% 50%; + padding-right: 20px; + padding-left: 0px; +} +#content .tabs ul li { float: right; } +#content .tabs ul { padding-left: auto; padding-right: 1em; } +table.progress { float: right; } +.contextual { float: left; } +.icon22 { background-position: 100% 40%; padding-right: 26px; padding-left: auto; } +h3, .wiki h2 { padding: 10px 2px 1px 0; } +.tooltip span.tip { text-align: right; } +tr.issue td.subject { text-align: right; } +tr.time-entry td.subject, tr.time-entry td.comments { text-align: right; } +#sidebar { float: left; } +#main.nosidebar #content { border-width: 1px; border-style: solid; border-color: #D7D7D7 #BBBBBB #BBBBBB #D7D7D7;} +.tabular.settings label { margin-left: auto; } +.splitcontentleft { float: right; } +.splitcontentright { float: left; } +p.progress-info { clear: right; } +table.list td.buttons a { padding-right: 20px; } +.filecontent { direction: ltr; } +.entries { direction: ltr; } +.changeset-changes { direction: ltr; padding-left: 2em } +.changesets { direction: ltr; } +div#issue-changesets { float: left; margin-right: 1em; margin-left: 0 } +div#issue-changesets div.wiki { direction: ltr; padding-left: 2em } +#activity dt, .journal { clear: right; } +.journal-link { float: left; } +div.wiki pre { direction: ltr; } + +ul.projects { padding-right: 1em; padding-left: 0; } +ul.projects ul.projects { border-right: 3px solid #e0e0e0; border-left: 0; } +.my-project { padding-right: 18px; padding-left: 0; background-position: 100% 50%; } + +#admin-menu a { background-position: 100% 40%; padding-right: 20px; padding-left: 0;} +input#openid_url { background-position: 100% 50%; padding-right: 18px; padding-left: 0; } + +tr.project.idnt td.name span { background: url(../images/bullet_arrow_left.png) no-repeat 100% 50%; padding-right: 16px; padding-left: 0; } +tr.project.idnt-1 td.name { padding-right: 0.5em; } +tr.project.idnt-2 td.name { padding-right: 2em; } +tr.project.idnt-3 td.name { padding-right: 3.5em; } +tr.project.idnt-4 td.name { padding-right: 5em; } +tr.project.idnt-5 td.name { padding-right: 6.5em; } +tr.project.idnt-6 td.name { padding-right: 8em; } +tr.project.idnt-7 td.name { padding-right: 9.5em; } +tr.project.idnt-8 td.name { padding-right: 11em; } +tr.project.idnt-9 td.name { padding-right: 12.5em; } + +tr.issue.idnt td.subject a { background: url(../images/bullet_arrow_left.png) no-repeat 100% 50%; padding-right: 16px; padding-left: 0; } +tr.issue.idnt-1 td.subject { padding-right: 0.5em; } +tr.issue.idnt-2 td.subject { padding-right: 2em; } +tr.issue.idnt-3 td.subject { padding-right: 3.5em; } +tr.issue.idnt-4 td.subject { padding-right: 5em; } +tr.issue.idnt-5 td.subject { padding-right: 6.5em; } +tr.issue.idnt-6 td.subject { padding-right: 8em; } +tr.issue.idnt-7 td.subject { padding-right: 9.5em; } +tr.issue.idnt-8 td.subject { padding-right: 11em; } +tr.issue.idnt-9 td.subject { padding-right: 12.5em; } + +div.wiki ul.toc { margin-right: 0; margin-left: 12px; } +div.wiki ul.toc li li { margin-right: 1.5em; margin-left: 0; } diff --git a/public/stylesheets/scm.css b/public/stylesheets/scm.css index 29c90a673..054b0bf99 100644 --- a/public/stylesheets/scm.css +++ b/public/stylesheets/scm.css @@ -1,104 +1,104 @@ - -table.revision-info td { - margin: 0px; - padding: 0px; -} - -div.revision-graph { position: absolute; min-width: 1px; } - -div.changeset-changes ul { margin: 0; padding: 0; } -div.changeset-changes ul > ul { margin-left: 18px; padding: 0; } - -li.change { - list-style-type:none; - background-image: url(../images/bullet_black.png); - background-position: 1px 1px; - background-repeat: no-repeat; - padding-top: 1px; - padding-bottom: 1px; - padding-left: 20px; - margin: 0; -} -li.change.folder { background-image: url(../images/folder_open.png); } -li.change.folder.change-A { background-image: url(../images/folder_open_add.png); } -li.change.folder.change-M { background-image: url(../images/folder_open_orange.png); } -li.change.change-A { background-image: url(../images/bullet_add.png); } -li.change.change-M { background-image: url(../images/bullet_orange.png); } -li.change.change-C { background-image: url(../images/bullet_blue.png); } -li.change.change-R { background-image: url(../images/bullet_purple.png); } -li.change.change-D { background-image: url(../images/bullet_delete.png); } - -li.change .copied-from { font-style: italic; color: #999; font-size: 0.9em; } -li.change .copied-from:before { content: " - "} - -#changes-legend { float: right; font-size: 0.8em; margin:0; margin-right: 10px; }/*by young*/ -#changes-legend li { float: left; background-position: 5px 0; } - -table.filecontent { border: 1px solid #e2e2e2; border-collapse: collapse; width:98%; background-color: #fafafa; } -table.filecontent tbody {font-family:"Liberation Mono", Courier, monospace; font-size:12px;} -table.filecontent th { border: 1px solid #e2e2e2; background-color: #eee; } -table.filecontent th.filename { background-color: #e4e4d4; text-align: left; padding:5px;} -table.filecontent tr.spacing th { text-align:center; } -table.filecontent tr.spacing td { height: 0.4em; background: #EAF2F5;} -table.filecontent th.line-num { - border: 1px solid #e2e2e2; - text-align: right; - width: 2%; - padding: 0 3px 0 0; - color: #999; - user-select: none; - -moz-user-select: none; - -o-user-select: none; - -ms-user-select: none; - -webkit-user-select: none; - font-weight:normal; -} -table.filecontent th.line-num a { - text-decoration: none; - color: inherit; -} -table.filecontent td.line-code {padding: 0 0 0 4px;} -table.filecontent td.line-code pre { - margin: 0px; - white-space: pre-wrap; - font-family:"Liberation Mono", Courier, monospace; font-size:12px; -} - -/* 12 different colors for the annonate view */ -table.annotate tr.bloc-0 {background: #FFFFBF;} -table.annotate tr.bloc-1 {background: #EABFFF;} -table.annotate tr.bloc-2 {background: #BFFFFF;} -table.annotate tr.bloc-3 {background: #FFD9BF;} -table.annotate tr.bloc-4 {background: #E6FFBF;} -table.annotate tr.bloc-5 {background: #BFCFFF;} -table.annotate tr.bloc-6 {background: #FFBFEF;} -table.annotate tr.bloc-7 {background: #FFE6BF;} -table.annotate tr.bloc-8 {background: #FFE680;} -table.annotate tr.bloc-9 {background: #AA80FF;} -table.annotate tr.bloc-10 {background: #FFBFDC;} -table.annotate tr.bloc-11 {background: #BFE4FF;} - -table.annotate td.revision { - padding:0; - text-align: center; - width: 2%; - padding-left: 1em; - background: inherit; -} - -table.annotate td.author { - padding:0; - text-align: center; - border-right: 1px solid #d7d7d7; - white-space: nowrap; - padding-left: 1em; - padding-right: 1em; - width: 3%; - background: inherit; -} - -table.annotate td.line-code { background-color: #fafafa; } - -div.action_M { background: #fd8 } -div.action_D { background: #f88 } -div.action_A { background: #bfb } + +table.revision-info td { + margin: 0px; + padding: 0px; +} + +div.revision-graph { position: absolute; min-width: 1px; } + +div.changeset-changes ul { margin: 0; padding: 0; } +div.changeset-changes ul > ul { margin-left: 18px; padding: 0; } + +li.change { + list-style-type:none; + background-image: url(../images/bullet_black.png); + background-position: 1px 1px; + background-repeat: no-repeat; + padding-top: 1px; + padding-bottom: 1px; + padding-left: 20px; + margin: 0; +} +li.change.folder { background-image: url(../images/folder_open.png); } +li.change.folder.change-A { background-image: url(../images/folder_open_add.png); } +li.change.folder.change-M { background-image: url(../images/folder_open_orange.png); } +li.change.change-A { background-image: url(../images/bullet_add.png); } +li.change.change-M { background-image: url(../images/bullet_orange.png); } +li.change.change-C { background-image: url(../images/bullet_blue.png); } +li.change.change-R { background-image: url(../images/bullet_purple.png); } +li.change.change-D { background-image: url(../images/bullet_delete.png); } + +li.change .copied-from { font-style: italic; color: #999; font-size: 0.9em; } +li.change .copied-from:before { content: " - "} + +#changes-legend { float: right; font-size: 0.8em; margin:0; margin-right: 10px; }/*by young*/ +#changes-legend li { float: left; background-position: 5px 0; } + +table.filecontent { border: 1px solid #e2e2e2; border-collapse: collapse; width:98%; background-color: #fafafa; } +table.filecontent tbody {font-family:"Liberation Mono", Courier, monospace; font-size:12px;} +table.filecontent th { border: 1px solid #e2e2e2; background-color: #eee; } +table.filecontent th.filename { background-color: #e4e4d4; text-align: left; padding:5px;} +table.filecontent tr.spacing th { text-align:center; } +table.filecontent tr.spacing td { height: 0.4em; background: #EAF2F5;} +table.filecontent th.line-num { + border: 1px solid #e2e2e2; + text-align: right; + width: 2%; + padding: 0 3px 0 0; + color: #999; + user-select: none; + -moz-user-select: none; + -o-user-select: none; + -ms-user-select: none; + -webkit-user-select: none; + font-weight:normal; +} +table.filecontent th.line-num a { + text-decoration: none; + color: inherit; +} +table.filecontent td.line-code {padding: 0 0 0 4px;} +table.filecontent td.line-code pre { + margin: 0px; + white-space: pre-wrap; + font-family:"Liberation Mono", Courier, monospace; font-size:12px; +} + +/* 12 different colors for the annonate view */ +table.annotate tr.bloc-0 {background: #FFFFBF;} +table.annotate tr.bloc-1 {background: #EABFFF;} +table.annotate tr.bloc-2 {background: #BFFFFF;} +table.annotate tr.bloc-3 {background: #FFD9BF;} +table.annotate tr.bloc-4 {background: #E6FFBF;} +table.annotate tr.bloc-5 {background: #BFCFFF;} +table.annotate tr.bloc-6 {background: #FFBFEF;} +table.annotate tr.bloc-7 {background: #FFE6BF;} +table.annotate tr.bloc-8 {background: #FFE680;} +table.annotate tr.bloc-9 {background: #AA80FF;} +table.annotate tr.bloc-10 {background: #FFBFDC;} +table.annotate tr.bloc-11 {background: #BFE4FF;} + +table.annotate td.revision { + padding:0; + text-align: center; + width: 2%; + padding-left: 1em; + background: inherit; +} + +table.annotate td.author { + padding:0; + text-align: center; + border-right: 1px solid #d7d7d7; + white-space: nowrap; + padding-left: 1em; + padding-right: 1em; + width: 3%; + background: inherit; +} + +table.annotate td.line-code { background-color: #fafafa; } + +div.action_M { background: #fd8 } +div.action_D { background: #f88 } +div.action_A { background: #bfb } diff --git a/public/stylesheets/sec-analysis.css b/public/stylesheets/sec-analysis.css index f3f2989b1..2f84aade2 100644 --- a/public/stylesheets/sec-analysis.css +++ b/public/stylesheets/sec-analysis.css @@ -1,41 +1,41 @@ - .mask{ - position: relative; - overflow: hidden; - margin: 0px 0 0 0; - width: 690px; - - } - .header2{ - float: left; - width: 100%; - background-color: #f4f4f4 - } - .colleft{ - position: relative; - width: 100%; - right: 50%; - background-color: #000000 - } - .col1{ - position: relative; - overflow: hidden; - float: left; - width: 50%; - left: 100%; - - } - .col2{ - position: relative; - overflow: hidden; - float: left; - width: 50%; - left: 1%; - } - -a:hover, a:active { -color: #c61a1a; -text-decoration: underline; -} - - - + .mask{ + position: relative; + overflow: hidden; + margin: 0px 0 0 0; + width: 690px; + + } + .header2{ + float: left; + width: 100%; + background-color: #f4f4f4 + } + .colleft{ + position: relative; + width: 100%; + right: 50%; + background-color: #000000 + } + .col1{ + position: relative; + overflow: hidden; + float: left; + width: 50%; + left: 100%; + + } + .col2{ + position: relative; + overflow: hidden; + float: left; + width: 50%; + left: 1%; + } + +a:hover, a:active { +color: #c61a1a; +text-decoration: underline; +} + + + diff --git a/public/themes/README b/public/themes/README index 1af3d1992..e1e922958 100644 --- a/public/themes/README +++ b/public/themes/README @@ -1 +1 @@ -Put your Redmine themes here. +Put your Redmine themes here. diff --git a/public/themes/redpenny-master/README.md b/public/themes/redpenny-master/README.md index de6729e45..73e33a09c 100644 --- a/public/themes/redpenny-master/README.md +++ b/public/themes/redpenny-master/README.md @@ -1,12 +1,12 @@ -## Red Penny - Redmine Theme. - -### Installation -To install, just clone Red Penny files to your Redmine theme directory "public/themes" - -zsh$ cd /path/to/redmine/public/themes - -zsh$ git clone http://github.com/themondays/redpenny.git redpenny - -### Additional thank for amazing fonts: -Dave Gandy (@byscuits) +## Red Penny - Redmine Theme. + +### Installation +To install, just clone Red Penny files to your Redmine theme directory "public/themes" + +zsh$ cd /path/to/redmine/public/themes + +zsh$ git clone http://github.com/themondays/redpenny.git redpenny + +### Additional thank for amazing fonts: +Dave Gandy (@byscuits) Paul D. Hunt \ No newline at end of file diff --git a/public/themes/redpenny-master/stylesheets/font/fontawesome-webfont.svg b/public/themes/redpenny-master/stylesheets/font/fontawesome-webfont.svg index 10a1e1bbf..f05f93c29 100644 --- a/public/themes/redpenny-master/stylesheets/font/fontawesome-webfont.svg +++ b/public/themes/redpenny-master/stylesheets/font/fontawesome-webfont.svg @@ -1,339 +1,339 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/script/about b/script/about index cfec3b406..281fc2d0d 100644 --- a/script/about +++ b/script/about @@ -1,6 +1,6 @@ -#!/usr/bin/env ruby - -ENV["RAILS_ENV"] ||= "production" -require File.expand_path(File.dirname(__FILE__) + "/../config/environment") -puts -puts Redmine::Info.environment +#!/usr/bin/env ruby + +ENV["RAILS_ENV"] ||= "production" +require File.expand_path(File.dirname(__FILE__) + "/../config/environment") +puts +puts Redmine::Info.environment diff --git a/script/rails b/script/rails index f8da2cffd..4276b365d 100644 --- a/script/rails +++ b/script/rails @@ -1,6 +1,6 @@ -#!/usr/bin/env ruby -# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. - -APP_PATH = File.expand_path('../../config/application', __FILE__) -require File.expand_path('../../config/boot', __FILE__) -require 'rails/commands' +#!/usr/bin/env ruby +# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. + +APP_PATH = File.expand_path('../../config/application', __FILE__) +require File.expand_path('../../config/boot', __FILE__) +require 'rails/commands' diff --git a/test/fixtures/activities.yml b/test/fixtures/activities.yml index 585b0e66f..2786c4e14 100644 --- a/test/fixtures/activities.yml +++ b/test/fixtures/activities.yml @@ -1,11 +1,11 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - act_id: - act_type: MyString - user_id: - -two: - act_id: - act_type: MyString - user_id: +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + act_id: + act_type: MyString + user_id: + +two: + act_id: + act_type: MyString + user_id: diff --git a/test/fixtures/applied_projects.yml b/test/fixtures/applied_projects.yml index 90f1c8883..c476ef34b 100644 --- a/test/fixtures/applied_projects.yml +++ b/test/fixtures/applied_projects.yml @@ -1,9 +1,9 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - project_id: 1 - user_id: 1 - -two: - project_id: 1 - user_id: 1 +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + project_id: 1 + user_id: 1 + +two: + project_id: 1 + user_id: 1 diff --git a/test/fixtures/apply_project_masters.yml b/test/fixtures/apply_project_masters.yml index c63aac0b6..8ca764781 100644 --- a/test/fixtures/apply_project_masters.yml +++ b/test/fixtures/apply_project_masters.yml @@ -1,11 +1,11 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -# This model initially had no columns defined. If you add columns to the -# model remove the '{}' from the fixture names and add the columns immediately -# below each fixture, per the syntax in the comments below -# -one: {} -# column: value -# -two: {} -# column: value +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +# This model initially had no columns defined. If you add columns to the +# model remove the '{}' from the fixture names and add the columns immediately +# below each fixture, per the syntax in the comments below +# +one: {} +# column: value +# +two: {} +# column: value diff --git a/test/fixtures/attachmentstypes.yml b/test/fixtures/attachmentstypes.yml index 429b31b4b..8dc3df16a 100644 --- a/test/fixtures/attachmentstypes.yml +++ b/test/fixtures/attachmentstypes.yml @@ -1,9 +1,9 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - typeId: - typeName: - -two: - typeId: - typeName: +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + typeId: + typeName: + +two: + typeId: + typeName: diff --git a/test/fixtures/bug_to_osps.yml b/test/fixtures/bug_to_osps.yml index c63aac0b6..8ca764781 100644 --- a/test/fixtures/bug_to_osps.yml +++ b/test/fixtures/bug_to_osps.yml @@ -1,11 +1,11 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -# This model initially had no columns defined. If you add columns to the -# model remove the '{}' from the fixture names and add the columns immediately -# below each fixture, per the syntax in the comments below -# -one: {} -# column: value -# -two: {} -# column: value +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +# This model initially had no columns defined. If you add columns to the +# model remove the '{}' from the fixture names and add the columns immediately +# below each fixture, per the syntax in the comments below +# +one: {} +# column: value +# +two: {} +# column: value diff --git a/test/fixtures/contesting_softapplications.yml b/test/fixtures/contesting_softapplications.yml index 4b64c8b03..8cdde9d08 100644 --- a/test/fixtures/contesting_softapplications.yml +++ b/test/fixtures/contesting_softapplications.yml @@ -1,13 +1,13 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - softapplication_id: 1 - contest_id: 1 - user_id: 1 - description: MyString - -two: - softapplication_id: 1 - contest_id: 1 - user_id: 1 - description: MyString +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + softapplication_id: 1 + contest_id: 1 + user_id: 1 + description: MyString + +two: + softapplication_id: 1 + contest_id: 1 + user_id: 1 + description: MyString diff --git a/test/fixtures/contestnotifications.yml b/test/fixtures/contestnotifications.yml index 6409a5f71..1bffa73a2 100644 --- a/test/fixtures/contestnotifications.yml +++ b/test/fixtures/contestnotifications.yml @@ -1,17 +1,17 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - contest_id: 1 - title: MyString - summary: MyString - description: MyString - author_id: 1 - comments_count: 1 - -two: - contest_id: 1 - title: MyString - summary: MyString - description: MyString - author_id: 1 - comments_count: 1 +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + contest_id: 1 + title: MyString + summary: MyString + description: MyString + author_id: 1 + comments_count: 1 + +two: + contest_id: 1 + title: MyString + summary: MyString + description: MyString + author_id: 1 + comments_count: 1 diff --git a/test/fixtures/course_infos.yml b/test/fixtures/course_infos.yml index 79b5cfde7..067ad888d 100644 --- a/test/fixtures/course_infos.yml +++ b/test/fixtures/course_infos.yml @@ -1,9 +1,9 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - typeId: 1 - typeName: MyString - -two: - typeId: 1 - typeName: MyString +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + typeId: 1 + typeName: MyString + +two: + typeId: 1 + typeName: MyString diff --git a/test/fixtures/course_statuses.yml b/test/fixtures/course_statuses.yml index 8396c1d54..7bffa0a08 100644 --- a/test/fixtures/course_statuses.yml +++ b/test/fixtures/course_statuses.yml @@ -1,15 +1,15 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - changesets_count: 1 - watchers_count: 1 - course_id: 1 - grade: 1.5 - course_ac_para: 1 - -two: - changesets_count: 1 - watchers_count: 1 - course_id: 1 - grade: 1.5 - course_ac_para: 1 +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + changesets_count: 1 + watchers_count: 1 + course_id: 1 + grade: 1.5 + course_ac_para: 1 + +two: + changesets_count: 1 + watchers_count: 1 + course_id: 1 + grade: 1.5 + course_ac_para: 1 diff --git a/test/fixtures/files/japanese-utf-8.txt b/test/fixtures/files/japanese-utf-8.txt index c77dbef7f..0c39d0e1e 100644 --- a/test/fixtures/files/japanese-utf-8.txt +++ b/test/fixtures/files/japanese-utf-8.txt @@ -1 +1 @@ -日本語 +日本語 diff --git a/test/fixtures/forums.yml b/test/fixtures/forums.yml index c63aac0b6..8ca764781 100644 --- a/test/fixtures/forums.yml +++ b/test/fixtures/forums.yml @@ -1,11 +1,11 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -# This model initially had no columns defined. If you add columns to the -# model remove the '{}' from the fixture names and add the columns immediately -# below each fixture, per the syntax in the comments below -# -one: {} -# column: value -# -two: {} -# column: value +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +# This model initially had no columns defined. If you add columns to the +# model remove the '{}' from the fixture names and add the columns immediately +# below each fixture, per the syntax in the comments below +# +one: {} +# column: value +# +two: {} +# column: value diff --git a/test/fixtures/homework_users.yml b/test/fixtures/homework_users.yml index bec69e598..7855d84d9 100644 --- a/test/fixtures/homework_users.yml +++ b/test/fixtures/homework_users.yml @@ -1,9 +1,9 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - homework_attach_id: MyString - user_id: MyString - -two: - homework_attach_id: MyString - user_id: MyString +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + homework_attach_id: MyString + user_id: MyString + +two: + homework_attach_id: MyString + user_id: MyString diff --git a/test/fixtures/join_in_contests.yml b/test/fixtures/join_in_contests.yml index 3e5279b38..36a398708 100644 --- a/test/fixtures/join_in_contests.yml +++ b/test/fixtures/join_in_contests.yml @@ -1,9 +1,9 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - user_id: 1 - bid_id: 1 - -two: - user_id: 1 - bid_id: 1 +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + user_id: 1 + bid_id: 1 + +two: + user_id: 1 + bid_id: 1 diff --git a/test/fixtures/journal_replies.yml b/test/fixtures/journal_replies.yml index 1a8bb39c1..6ba0dc080 100644 --- a/test/fixtures/journal_replies.yml +++ b/test/fixtures/journal_replies.yml @@ -1,11 +1,11 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - journal_id: 1 - user_id: 1 - reply_id: 1 - -two: - journal_id: 1 - user_id: 1 - reply_id: 1 +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + journal_id: 1 + user_id: 1 + reply_id: 1 + +two: + journal_id: 1 + user_id: 1 + reply_id: 1 diff --git a/test/fixtures/memos.yml b/test/fixtures/memos.yml index 9517e345b..0d472e114 100644 --- a/test/fixtures/memos.yml +++ b/test/fixtures/memos.yml @@ -1,22 +1,22 @@ ---- -one: - parent_id: 1 - forum_id: 1 - subject: MyString - content: MyText - author_id: 1 - replies_count: 1 - last_reply_id: 1 - lock: false - sticky: false - -two: - parent_id: 1 - forum_id: 1 - subject: MyString - content: MyText - author_id: 1 - replies_count: 1 - last_reply_id: 1 - lock: false - sticky: false +--- +one: + parent_id: 1 + forum_id: 1 + subject: MyString + content: MyText + author_id: 1 + replies_count: 1 + last_reply_id: 1 + lock: false + sticky: false + +two: + parent_id: 1 + forum_id: 1 + subject: MyString + content: MyText + author_id: 1 + replies_count: 1 + last_reply_id: 1 + lock: false + sticky: false diff --git a/test/fixtures/no_uses.yml b/test/fixtures/no_uses.yml index c63aac0b6..8ca764781 100644 --- a/test/fixtures/no_uses.yml +++ b/test/fixtures/no_uses.yml @@ -1,11 +1,11 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -# This model initially had no columns defined. If you add columns to the -# model remove the '{}' from the fixture names and add the columns immediately -# below each fixture, per the syntax in the comments below -# -one: {} -# column: value -# -two: {} -# column: value +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +# This model initially had no columns defined. If you add columns to the +# model remove the '{}' from the fixture names and add the columns immediately +# below each fixture, per the syntax in the comments below +# +one: {} +# column: value +# +two: {} +# column: value diff --git a/test/fixtures/notificationcomments.yml b/test/fixtures/notificationcomments.yml index 54c42b849..ab1232426 100644 --- a/test/fixtures/notificationcomments.yml +++ b/test/fixtures/notificationcomments.yml @@ -1,13 +1,13 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - notificationcommented_type: MyString - notificationcommented_id: 1 - author_id: 1 - notificationcomments: MyText - -two: - notificationcommented_type: MyString - notificationcommented_id: 1 - author_id: 1 - notificationcomments: MyText +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + notificationcommented_type: MyString + notificationcommented_id: 1 + author_id: 1 + notificationcomments: MyText + +two: + notificationcommented_type: MyString + notificationcommented_id: 1 + author_id: 1 + notificationcomments: MyText diff --git a/test/fixtures/open_source_projects.yml b/test/fixtures/open_source_projects.yml index a95f1d28f..04ae50ea2 100644 --- a/test/fixtures/open_source_projects.yml +++ b/test/fixtures/open_source_projects.yml @@ -1,7 +1,7 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - String: - -two: - String: +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + String: + +two: + String: diff --git a/test/fixtures/relative_memo_to_open_source_projects.yml b/test/fixtures/relative_memo_to_open_source_projects.yml index c63aac0b6..8ca764781 100644 --- a/test/fixtures/relative_memo_to_open_source_projects.yml +++ b/test/fixtures/relative_memo_to_open_source_projects.yml @@ -1,11 +1,11 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -# This model initially had no columns defined. If you add columns to the -# model remove the '{}' from the fixture names and add the columns immediately -# below each fixture, per the syntax in the comments below -# -one: {} -# column: value -# -two: {} -# column: value +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +# This model initially had no columns defined. If you add columns to the +# model remove the '{}' from the fixture names and add the columns immediately +# below each fixture, per the syntax in the comments below +# +one: {} +# column: value +# +two: {} +# column: value diff --git a/test/fixtures/relative_memos.yml b/test/fixtures/relative_memos.yml index c63aac0b6..8ca764781 100644 --- a/test/fixtures/relative_memos.yml +++ b/test/fixtures/relative_memos.yml @@ -1,11 +1,11 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -# This model initially had no columns defined. If you add columns to the -# model remove the '{}' from the fixture names and add the columns immediately -# below each fixture, per the syntax in the comments below -# -one: {} -# column: value -# -two: {} -# column: value +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +# This model initially had no columns defined. If you add columns to the +# model remove the '{}' from the fixture names and add the columns immediately +# below each fixture, per the syntax in the comments below +# +one: {} +# column: value +# +two: {} +# column: value diff --git a/test/fixtures/schools.yml b/test/fixtures/schools.yml index 953c725bf..5ae349b47 100644 --- a/test/fixtures/schools.yml +++ b/test/fixtures/schools.yml @@ -1,9 +1,9 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - name: - province: MyString - -two: - name: - province: MyString +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + name: + province: MyString + +two: + name: + province: MyString diff --git a/test/fixtures/softapplications.yml b/test/fixtures/softapplications.yml index 0ab48299f..a543afb59 100644 --- a/test/fixtures/softapplications.yml +++ b/test/fixtures/softapplications.yml @@ -1,17 +1,17 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - name: MyString - description: MyString - app_type_id: 1 - app_type_name: MyString - android_min_version_available: MyString - user_id: 1 - -two: - name: MyString - description: MyString - app_type_id: 1 - app_type_name: MyString - android_min_version_available: MyString - user_id: 1 +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + name: MyString + description: MyString + app_type_id: 1 + app_type_name: MyString + android_min_version_available: MyString + user_id: 1 + +two: + name: MyString + description: MyString + app_type_id: 1 + app_type_name: MyString + android_min_version_available: MyString + user_id: 1 diff --git a/test/fixtures/user_extensions.yml b/test/fixtures/user_extensions.yml index c8f2ebf58..8fc6cb59a 100644 --- a/test/fixtures/user_extensions.yml +++ b/test/fixtures/user_extensions.yml @@ -1,39 +1,39 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -person_one_extra: - id: 44 - user_id: 29 - birthday: "2013-09-30 21:19:25" - brief_introduction: nil - gender: 1 - location: "江苏" - occupation: "" - work_experience: nil - zip_code: nil - created_at: "2013-09-30 21:19:25" - updated_at: "2013-10-09 19:00:06" - technical_title: nil - identity: 2 - student_id: nil - teacher_realname: nil - student_realname: nil - location_city: "南京" - -person_mao_extra: - id: 22 - user_id: 193 - birthday: "2013-09-30 21:19:25" - brief_introduction: "期待..." - gender: 0 - location: "湖南长沙" - occupation: "国防科技大学计算机学院" - work_experience: nil - zip_code: nil - created_at: "2013-09-30 21:19:25" - updated_at: "2013-10-09 19:00:06" - technical_title: "教授" - identity: 0 - student_id: nil - teacher_realname: nil - student_realname: nil +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +person_one_extra: + id: 44 + user_id: 29 + birthday: "2013-09-30 21:19:25" + brief_introduction: nil + gender: 1 + location: "江苏" + occupation: "" + work_experience: nil + zip_code: nil + created_at: "2013-09-30 21:19:25" + updated_at: "2013-10-09 19:00:06" + technical_title: nil + identity: 2 + student_id: nil + teacher_realname: nil + student_realname: nil + location_city: "南京" + +person_mao_extra: + id: 22 + user_id: 193 + birthday: "2013-09-30 21:19:25" + brief_introduction: "期待..." + gender: 0 + location: "湖南长沙" + occupation: "国防科技大学计算机学院" + work_experience: nil + zip_code: nil + created_at: "2013-09-30 21:19:25" + updated_at: "2013-10-09 19:00:06" + technical_title: "教授" + identity: 0 + student_id: nil + teacher_realname: nil + student_realname: nil location_city: nil \ No newline at end of file diff --git a/test/fixtures/user_score_details.yml b/test/fixtures/user_score_details.yml index ac8da802d..3e98003c3 100644 --- a/test/fixtures/user_score_details.yml +++ b/test/fixtures/user_score_details.yml @@ -1,27 +1,27 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html - -one: - current_user_id: 1 - target_user_id: 1 - score_type: MyString - score_action: MyString - user_id: 1 - old_score: 1 - new_score: 1 - current_user_level: 1 - target_user_level: 1 - score_changeable_obj_id: 1 - score_changeable_obj_type: MyString - -two: - current_user_id: 1 - target_user_id: 1 - score_type: MyString - score_action: MyString - user_id: 1 - old_score: 1 - new_score: 1 - current_user_level: 1 - target_user_level: 1 - score_changeable_obj_id: 1 - score_changeable_obj_type: MyString +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + current_user_id: 1 + target_user_id: 1 + score_type: MyString + score_action: MyString + user_id: 1 + old_score: 1 + new_score: 1 + current_user_level: 1 + target_user_level: 1 + score_changeable_obj_id: 1 + score_changeable_obj_type: MyString + +two: + current_user_id: 1 + target_user_id: 1 + score_type: MyString + score_action: MyString + user_id: 1 + old_score: 1 + new_score: 1 + current_user_level: 1 + target_user_level: 1 + score_changeable_obj_id: 1 + score_changeable_obj_type: MyString diff --git a/test/functional/applied_project_controller_test.rb b/test/functional/applied_project_controller_test.rb index 7c73908ce..265ddda23 100644 --- a/test/functional/applied_project_controller_test.rb +++ b/test/functional/applied_project_controller_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class AppliedProjectControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class AppliedProjectControllerTest < ActionController::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/functional/apply_project_masters_controller_test.rb b/test/functional/apply_project_masters_controller_test.rb index 3cad8dca6..e04ac7a33 100644 --- a/test/functional/apply_project_masters_controller_test.rb +++ b/test/functional/apply_project_masters_controller_test.rb @@ -1,49 +1,49 @@ -require 'test_helper' - -class ApplyProjectMastersControllerTest < ActionController::TestCase - setup do - @apply_project_master = apply_project_masters(:one) - end - - test "should get index" do - get :index - assert_response :success - assert_not_nil assigns(:apply_project_masters) - end - - test "should get new" do - get :new - assert_response :success - end - - test "should create apply_project_master" do - assert_difference('ApplyProjectMaster.count') do - post :create, apply_project_master: { } - end - - assert_redirected_to apply_project_master_path(assigns(:apply_project_master)) - end - - test "should show apply_project_master" do - get :show, id: @apply_project_master - assert_response :success - end - - test "should get edit" do - get :edit, id: @apply_project_master - assert_response :success - end - - test "should update apply_project_master" do - put :update, id: @apply_project_master, apply_project_master: { } - assert_redirected_to apply_project_master_path(assigns(:apply_project_master)) - end - - test "should destroy apply_project_master" do - assert_difference('ApplyProjectMaster.count', -1) do - delete :destroy, id: @apply_project_master - end - - assert_redirected_to apply_project_masters_path - end -end +require 'test_helper' + +class ApplyProjectMastersControllerTest < ActionController::TestCase + setup do + @apply_project_master = apply_project_masters(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:apply_project_masters) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create apply_project_master" do + assert_difference('ApplyProjectMaster.count') do + post :create, apply_project_master: { } + end + + assert_redirected_to apply_project_master_path(assigns(:apply_project_master)) + end + + test "should show apply_project_master" do + get :show, id: @apply_project_master + assert_response :success + end + + test "should get edit" do + get :edit, id: @apply_project_master + assert_response :success + end + + test "should update apply_project_master" do + put :update, id: @apply_project_master, apply_project_master: { } + assert_redirected_to apply_project_master_path(assigns(:apply_project_master)) + end + + test "should destroy apply_project_master" do + assert_difference('ApplyProjectMaster.count', -1) do + delete :destroy, id: @apply_project_master + end + + assert_redirected_to apply_project_masters_path + end +end diff --git a/test/functional/attachment_type_edit_controller_test.rb b/test/functional/attachment_type_edit_controller_test.rb index d71c8407f..6cafbefcc 100644 --- a/test/functional/attachment_type_edit_controller_test.rb +++ b/test/functional/attachment_type_edit_controller_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class AttachmentTypeEditControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class AttachmentTypeEditControllerTest < ActionController::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/functional/contestnotifications_controller_test.rb b/test/functional/contestnotifications_controller_test.rb index 948955a87..2873cceeb 100644 --- a/test/functional/contestnotifications_controller_test.rb +++ b/test/functional/contestnotifications_controller_test.rb @@ -1,49 +1,49 @@ -require 'test_helper' - -class ContestnotificationsControllerTest < ActionController::TestCase - setup do - @contestnotification = contestnotifications(:one) - end - - test "should get index" do - get :index - assert_response :success - assert_not_nil assigns(:contestnotifications) - end - - test "should get new" do - get :new - assert_response :success - end - - test "should create contestnotification" do - assert_difference('Contestnotification.count') do - post :create, contestnotification: { author_id: @contestnotification.author_id, comments_count: @contestnotification.comments_count, contest_id: @contestnotification.contest_id, description: @contestnotification.description, summary: @contestnotification.summary, title: @contestnotification.title } - end - - assert_redirected_to contestnotification_path(assigns(:contestnotification)) - end - - test "should show contestnotification" do - get :show, id: @contestnotification - assert_response :success - end - - test "should get edit" do - get :edit, id: @contestnotification - assert_response :success - end - - test "should update contestnotification" do - put :update, id: @contestnotification, contestnotification: { author_id: @contestnotification.author_id, comments_count: @contestnotification.comments_count, contest_id: @contestnotification.contest_id, description: @contestnotification.description, summary: @contestnotification.summary, title: @contestnotification.title } - assert_redirected_to contestnotification_path(assigns(:contestnotification)) - end - - test "should destroy contestnotification" do - assert_difference('Contestnotification.count', -1) do - delete :destroy, id: @contestnotification - end - - assert_redirected_to contestnotifications_path - end -end +require 'test_helper' + +class ContestnotificationsControllerTest < ActionController::TestCase + setup do + @contestnotification = contestnotifications(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:contestnotifications) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create contestnotification" do + assert_difference('Contestnotification.count') do + post :create, contestnotification: { author_id: @contestnotification.author_id, comments_count: @contestnotification.comments_count, contest_id: @contestnotification.contest_id, description: @contestnotification.description, summary: @contestnotification.summary, title: @contestnotification.title } + end + + assert_redirected_to contestnotification_path(assigns(:contestnotification)) + end + + test "should show contestnotification" do + get :show, id: @contestnotification + assert_response :success + end + + test "should get edit" do + get :edit, id: @contestnotification + assert_response :success + end + + test "should update contestnotification" do + put :update, id: @contestnotification, contestnotification: { author_id: @contestnotification.author_id, comments_count: @contestnotification.comments_count, contest_id: @contestnotification.contest_id, description: @contestnotification.description, summary: @contestnotification.summary, title: @contestnotification.title } + assert_redirected_to contestnotification_path(assigns(:contestnotification)) + end + + test "should destroy contestnotification" do + assert_difference('Contestnotification.count', -1) do + delete :destroy, id: @contestnotification + end + + assert_redirected_to contestnotifications_path + end +end diff --git a/test/functional/forums_controller_test.rb b/test/functional/forums_controller_test.rb index 9b0438bd2..168be1a6c 100644 --- a/test/functional/forums_controller_test.rb +++ b/test/functional/forums_controller_test.rb @@ -1,49 +1,49 @@ -require 'test_helper' - -class ForumsControllerTest < ActionController::TestCase - setup do - @forum = forums(:one) - end - - test "should get index" do - get :index - assert_response :success - assert_not_nil assigns(:forums) - end - - test "should get new" do - get :new - assert_response :success - end - - test "should create forum" do - assert_difference('Forum.count') do - post :create, forum: { } - end - - assert_redirected_to forum_path(assigns(:forum)) - end - - test "should show forum" do - get :show, id: @forum - assert_response :success - end - - test "should get edit" do - get :edit, id: @forum - assert_response :success - end - - test "should update forum" do - put :update, id: @forum, forum: { } - assert_redirected_to forum_path(assigns(:forum)) - end - - test "should destroy forum" do - assert_difference('Forum.count', -1) do - delete :destroy, id: @forum - end - - assert_redirected_to forums_path - end -end +require 'test_helper' + +class ForumsControllerTest < ActionController::TestCase + setup do + @forum = forums(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:forums) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create forum" do + assert_difference('Forum.count') do + post :create, forum: { } + end + + assert_redirected_to forum_path(assigns(:forum)) + end + + test "should show forum" do + get :show, id: @forum + assert_response :success + end + + test "should get edit" do + get :edit, id: @forum + assert_response :success + end + + test "should update forum" do + put :update, id: @forum, forum: { } + assert_redirected_to forum_path(assigns(:forum)) + end + + test "should destroy forum" do + assert_difference('Forum.count', -1) do + delete :destroy, id: @forum + end + + assert_redirected_to forums_path + end +end diff --git a/test/functional/memos_controller_test.rb b/test/functional/memos_controller_test.rb index 76c0e3748..07d6655e4 100644 --- a/test/functional/memos_controller_test.rb +++ b/test/functional/memos_controller_test.rb @@ -1,11 +1,11 @@ -require 'test_helper' - -class MemosControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end - def test_memo_create_fail - memo = Memo.create(:subject => nil) - assert true - end -end +require 'test_helper' + +class MemosControllerTest < ActionController::TestCase + # test "the truth" do + # assert true + # end + def test_memo_create_fail + memo = Memo.create(:subject => nil) + assert true + end +end diff --git a/test/functional/no_uses_controller_test.rb b/test/functional/no_uses_controller_test.rb index 255b03dc4..fdcfbb767 100644 --- a/test/functional/no_uses_controller_test.rb +++ b/test/functional/no_uses_controller_test.rb @@ -1,49 +1,49 @@ -require 'test_helper' - -class NoUsesControllerTest < ActionController::TestCase - setup do - @no_use = no_uses(:one) - end - - test "should get index" do - get :index - assert_response :success - assert_not_nil assigns(:no_uses) - end - - test "should get new" do - get :new - assert_response :success - end - - test "should create no_use" do - assert_difference('NoUse.count') do - post :create, no_use: { } - end - - assert_redirected_to no_use_path(assigns(:no_use)) - end - - test "should show no_use" do - get :show, id: @no_use - assert_response :success - end - - test "should get edit" do - get :edit, id: @no_use - assert_response :success - end - - test "should update no_use" do - put :update, id: @no_use, no_use: { } - assert_redirected_to no_use_path(assigns(:no_use)) - end - - test "should destroy no_use" do - assert_difference('NoUse.count', -1) do - delete :destroy, id: @no_use - end - - assert_redirected_to no_uses_path - end -end +require 'test_helper' + +class NoUsesControllerTest < ActionController::TestCase + setup do + @no_use = no_uses(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:no_uses) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create no_use" do + assert_difference('NoUse.count') do + post :create, no_use: { } + end + + assert_redirected_to no_use_path(assigns(:no_use)) + end + + test "should show no_use" do + get :show, id: @no_use + assert_response :success + end + + test "should get edit" do + get :edit, id: @no_use + assert_response :success + end + + test "should update no_use" do + put :update, id: @no_use, no_use: { } + assert_redirected_to no_use_path(assigns(:no_use)) + end + + test "should destroy no_use" do + assert_difference('NoUse.count', -1) do + delete :destroy, id: @no_use + end + + assert_redirected_to no_uses_path + end +end diff --git a/test/functional/notificationcomments_controller_test.rb b/test/functional/notificationcomments_controller_test.rb index 21496467e..2e4ed3350 100644 --- a/test/functional/notificationcomments_controller_test.rb +++ b/test/functional/notificationcomments_controller_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class NotificationcommentsControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class NotificationcommentsControllerTest < ActionController::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/functional/open_source_projects_controller_test.rb b/test/functional/open_source_projects_controller_test.rb index 9b33a8b1f..ea6fe181a 100644 --- a/test/functional/open_source_projects_controller_test.rb +++ b/test/functional/open_source_projects_controller_test.rb @@ -1,49 +1,49 @@ -require 'test_helper' - -class OpenSourceProjectsControllerTest < ActionController::TestCase - setup do - @open_source_project = open_source_projects(:one) - end - - test "should get index" do - get :index - assert_response :success - assert_not_nil assigns(:open_source_projects) - end - - test "should get new" do - get :new - assert_response :success - end - - test "should create open_source_project" do - assert_difference('OpenSourceProject.count') do - post :create, open_source_project: { String: @open_source_project.String } - end - - assert_redirected_to open_source_project_path(assigns(:open_source_project)) - end - - test "should show open_source_project" do - get :show, id: @open_source_project - assert_response :success - end - - test "should get edit" do - get :edit, id: @open_source_project - assert_response :success - end - - test "should update open_source_project" do - put :update, id: @open_source_project, open_source_project: { String: @open_source_project.String } - assert_redirected_to open_source_project_path(assigns(:open_source_project)) - end - - test "should destroy open_source_project" do - assert_difference('OpenSourceProject.count', -1) do - delete :destroy, id: @open_source_project - end - - assert_redirected_to open_source_projects_path - end -end +require 'test_helper' + +class OpenSourceProjectsControllerTest < ActionController::TestCase + setup do + @open_source_project = open_source_projects(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:open_source_projects) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create open_source_project" do + assert_difference('OpenSourceProject.count') do + post :create, open_source_project: { String: @open_source_project.String } + end + + assert_redirected_to open_source_project_path(assigns(:open_source_project)) + end + + test "should show open_source_project" do + get :show, id: @open_source_project + assert_response :success + end + + test "should get edit" do + get :edit, id: @open_source_project + assert_response :success + end + + test "should update open_source_project" do + put :update, id: @open_source_project, open_source_project: { String: @open_source_project.String } + assert_redirected_to open_source_project_path(assigns(:open_source_project)) + end + + test "should destroy open_source_project" do + assert_difference('OpenSourceProject.count', -1) do + delete :destroy, id: @open_source_project + end + + assert_redirected_to open_source_projects_path + end +end diff --git a/test/functional/school_controller_test.rb b/test/functional/school_controller_test.rb index 43e69fe92..8fa69767b 100644 --- a/test/functional/school_controller_test.rb +++ b/test/functional/school_controller_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class SchoolControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class SchoolControllerTest < ActionController::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/functional/softapplications_controller_test.rb b/test/functional/softapplications_controller_test.rb index 8c5611cb9..b3f7a76ed 100644 --- a/test/functional/softapplications_controller_test.rb +++ b/test/functional/softapplications_controller_test.rb @@ -1,49 +1,49 @@ -require 'test_helper' - -class SoftapplicationsControllerTest < ActionController::TestCase - setup do - @softapplication = softapplications(:one) - end - - test "should get index" do - get :index - assert_response :success - assert_not_nil assigns(:softapplications) - end - - test "should get new" do - get :new - assert_response :success - end - - test "should create softapplication" do - assert_difference('Softapplication.count') do - post :create, softapplication: { android_min_version_available: @softapplication.android_min_version_available, app_type_id: @softapplication.app_type_id, app_type_name: @softapplication.app_type_name, description: @softapplication.description, name: @softapplication.name, user_id: @softapplication.user_id } - end - - assert_redirected_to softapplication_path(assigns(:softapplication)) - end - - test "should show softapplication" do - get :show, id: @softapplication - assert_response :success - end - - test "should get edit" do - get :edit, id: @softapplication - assert_response :success - end - - test "should update softapplication" do - put :update, id: @softapplication, softapplication: { android_min_version_available: @softapplication.android_min_version_available, app_type_id: @softapplication.app_type_id, app_type_name: @softapplication.app_type_name, description: @softapplication.description, name: @softapplication.name, user_id: @softapplication.user_id } - assert_redirected_to softapplication_path(assigns(:softapplication)) - end - - test "should destroy softapplication" do - assert_difference('Softapplication.count', -1) do - delete :destroy, id: @softapplication - end - - assert_redirected_to softapplications_path - end -end +require 'test_helper' + +class SoftapplicationsControllerTest < ActionController::TestCase + setup do + @softapplication = softapplications(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:softapplications) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create softapplication" do + assert_difference('Softapplication.count') do + post :create, softapplication: { android_min_version_available: @softapplication.android_min_version_available, app_type_id: @softapplication.app_type_id, app_type_name: @softapplication.app_type_name, description: @softapplication.description, name: @softapplication.name, user_id: @softapplication.user_id } + end + + assert_redirected_to softapplication_path(assigns(:softapplication)) + end + + test "should show softapplication" do + get :show, id: @softapplication + assert_response :success + end + + test "should get edit" do + get :edit, id: @softapplication + assert_response :success + end + + test "should update softapplication" do + put :update, id: @softapplication, softapplication: { android_min_version_available: @softapplication.android_min_version_available, app_type_id: @softapplication.app_type_id, app_type_name: @softapplication.app_type_name, description: @softapplication.description, name: @softapplication.name, user_id: @softapplication.user_id } + assert_redirected_to softapplication_path(assigns(:softapplication)) + end + + test "should destroy softapplication" do + assert_difference('Softapplication.count', -1) do + delete :destroy, id: @softapplication + end + + assert_redirected_to softapplications_path + end +end diff --git a/test/functional/test_controller_test.rb b/test/functional/test_controller_test.rb index c262ffe53..b701604eb 100644 --- a/test/functional/test_controller_test.rb +++ b/test/functional/test_controller_test.rb @@ -1,13 +1,13 @@ -require 'test_helper' - -class TestControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end - test "get test index error" do - @request.env["REQUEST_URI"] = "" - get :index - assert_template :index - # assert_template layout: "layouts/base", partial: ["layouts/base_header","_base_header", 'layouts/base_footer', "_base_footer",] - end -end +require 'test_helper' + +class TestControllerTest < ActionController::TestCase + # test "the truth" do + # assert true + # end + test "get test index error" do + @request.env["REQUEST_URI"] = "" + get :index + assert_template :index + # assert_template layout: "layouts/base", partial: ["layouts/base_header","_base_header", 'layouts/base_footer', "_base_footer",] + end +end diff --git a/test/functional/user_score_controller_test.rb b/test/functional/user_score_controller_test.rb index bf56a2076..12e288a07 100644 --- a/test/functional/user_score_controller_test.rb +++ b/test/functional/user_score_controller_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class UserScoreControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class UserScoreControllerTest < ActionController::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/functional/zipdown_controller_test.rb b/test/functional/zipdown_controller_test.rb index f74dcc1c0..0d21770f3 100644 --- a/test/functional/zipdown_controller_test.rb +++ b/test/functional/zipdown_controller_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class ZipdownControllerTest < ActionController::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class ZipdownControllerTest < ActionController::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/performance/browsing_test.rb b/test/performance/browsing_test.rb index 3fea27b91..d93cdda03 100644 --- a/test/performance/browsing_test.rb +++ b/test/performance/browsing_test.rb @@ -1,12 +1,12 @@ -require 'test_helper' -require 'rails/performance_test_help' - -class BrowsingTest < ActionDispatch::PerformanceTest - # Refer to the documentation for all available options - # self.profile_options = { :runs => 5, :metrics => [:wall_time, :memory] - # :output => 'tmp/performance', :formats => [:flat] } - - def test_homepage - get '/' - end -end +require 'test_helper' +require 'rails/performance_test_help' + +class BrowsingTest < ActionDispatch::PerformanceTest + # Refer to the documentation for all available options + # self.profile_options = { :runs => 5, :metrics => [:wall_time, :memory] + # :output => 'tmp/performance', :formats => [:flat] } + + def test_homepage + get '/' + end +end diff --git a/test/unit/applied_project_test.rb b/test/unit/applied_project_test.rb index 708605d17..c03331c04 100644 --- a/test/unit/applied_project_test.rb +++ b/test/unit/applied_project_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class AppliedProjectTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class AppliedProjectTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/apply_project_master_test.rb b/test/unit/apply_project_master_test.rb index 62309b315..1814af84b 100644 --- a/test/unit/apply_project_master_test.rb +++ b/test/unit/apply_project_master_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class ApplyProjectMasterTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class ApplyProjectMasterTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/attachmentstype_test.rb b/test/unit/attachmentstype_test.rb index 0dcee4479..3c97e99d0 100644 --- a/test/unit/attachmentstype_test.rb +++ b/test/unit/attachmentstype_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class AttachmentstypeTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class AttachmentstypeTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/bug_to_osp_test.rb b/test/unit/bug_to_osp_test.rb index 5e466f081..397e4b75f 100644 --- a/test/unit/bug_to_osp_test.rb +++ b/test/unit/bug_to_osp_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class BugToOspTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class BugToOspTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/contesting_softapplication_test.rb b/test/unit/contesting_softapplication_test.rb index 0c1364caa..a805392f0 100644 --- a/test/unit/contesting_softapplication_test.rb +++ b/test/unit/contesting_softapplication_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class ContestingSoftapplicationTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class ContestingSoftapplicationTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/contestnotification_test.rb b/test/unit/contestnotification_test.rb index 22b8113c7..efff724e9 100644 --- a/test/unit/contestnotification_test.rb +++ b/test/unit/contestnotification_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class ContestnotificationTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class ContestnotificationTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/course_infos_test.rb b/test/unit/course_infos_test.rb index f20a519db..9e91da1ae 100644 --- a/test/unit/course_infos_test.rb +++ b/test/unit/course_infos_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class CourseInfosTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class CourseInfosTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/course_status_test.rb b/test/unit/course_status_test.rb index 6c8fc11be..6ef9d4591 100644 --- a/test/unit/course_status_test.rb +++ b/test/unit/course_status_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class CourseStatusTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class CourseStatusTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/forum_test.rb b/test/unit/forum_test.rb index a6f90e493..a1891bcd2 100644 --- a/test/unit/forum_test.rb +++ b/test/unit/forum_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class ForumTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class ForumTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/helpers/applied_project_helper_test.rb b/test/unit/helpers/applied_project_helper_test.rb index 6ed46c9d2..836e5366d 100644 --- a/test/unit/helpers/applied_project_helper_test.rb +++ b/test/unit/helpers/applied_project_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class AppliedProjectHelperTest < ActionView::TestCase -end +require 'test_helper' + +class AppliedProjectHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/apply_project_masters_helper_test.rb b/test/unit/helpers/apply_project_masters_helper_test.rb index f1fbe853b..8af91755e 100644 --- a/test/unit/helpers/apply_project_masters_helper_test.rb +++ b/test/unit/helpers/apply_project_masters_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class ApplyProjectMastersHelperTest < ActionView::TestCase -end +require 'test_helper' + +class ApplyProjectMastersHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/attachment_type_edit_helper_test.rb b/test/unit/helpers/attachment_type_edit_helper_test.rb index d54aa165a..ae3015a6e 100644 --- a/test/unit/helpers/attachment_type_edit_helper_test.rb +++ b/test/unit/helpers/attachment_type_edit_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class AttachmentTypeEditHelperTest < ActionView::TestCase -end +require 'test_helper' + +class AttachmentTypeEditHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/contestnotifications_helper_test.rb b/test/unit/helpers/contestnotifications_helper_test.rb index d79755d82..e4dc64783 100644 --- a/test/unit/helpers/contestnotifications_helper_test.rb +++ b/test/unit/helpers/contestnotifications_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class ContestnotificationsHelperTest < ActionView::TestCase -end +require 'test_helper' + +class ContestnotificationsHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/courses_helper_test.rb b/test/unit/helpers/courses_helper_test.rb index 829ae701e..4c1e60785 100644 --- a/test/unit/helpers/courses_helper_test.rb +++ b/test/unit/helpers/courses_helper_test.rb @@ -1,12 +1,12 @@ -require File.expand_path('../../../test_helper', __FILE__) - -class CoursesHelperTest < ActionView::TestCase - include CoursesHelper - # test "test truth" do - # @project = Project.find_by_id 6834 - # teacherNum = teacherCount @project - # studentNum = studentCount @project - # assert_equal 1, teacherNum - # assert_equal 5, studentNum - # end -end +require File.expand_path('../../../test_helper', __FILE__) + +class CoursesHelperTest < ActionView::TestCase + include CoursesHelper + # test "test truth" do + # @project = Project.find_by_id 6834 + # teacherNum = teacherCount @project + # studentNum = studentCount @project + # assert_equal 1, teacherNum + # assert_equal 5, studentNum + # end +end diff --git a/test/unit/helpers/forums_helper_test.rb b/test/unit/helpers/forums_helper_test.rb index deebfb03b..36fdf1b4f 100644 --- a/test/unit/helpers/forums_helper_test.rb +++ b/test/unit/helpers/forums_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class ForumsHelperTest < ActionView::TestCase -end +require 'test_helper' + +class ForumsHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/memos_helper_test.rb b/test/unit/helpers/memos_helper_test.rb index 44a7038ef..35f934f37 100644 --- a/test/unit/helpers/memos_helper_test.rb +++ b/test/unit/helpers/memos_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class MemosHelperTest < ActionView::TestCase -end +require 'test_helper' + +class MemosHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/no_uses_helper_test.rb b/test/unit/helpers/no_uses_helper_test.rb index 405921005..e2c3bfe8e 100644 --- a/test/unit/helpers/no_uses_helper_test.rb +++ b/test/unit/helpers/no_uses_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class NoUsesHelperTest < ActionView::TestCase -end +require 'test_helper' + +class NoUsesHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/notificationcomments_helper_test.rb b/test/unit/helpers/notificationcomments_helper_test.rb index ecec0cbde..6caa00ba6 100644 --- a/test/unit/helpers/notificationcomments_helper_test.rb +++ b/test/unit/helpers/notificationcomments_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class NotificationcommentsHelperTest < ActionView::TestCase -end +require 'test_helper' + +class NotificationcommentsHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/open_source_projects_helper_test.rb b/test/unit/helpers/open_source_projects_helper_test.rb index 8ecd58615..2cf724164 100644 --- a/test/unit/helpers/open_source_projects_helper_test.rb +++ b/test/unit/helpers/open_source_projects_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class OpenSourceProjectsHelperTest < ActionView::TestCase -end +require 'test_helper' + +class OpenSourceProjectsHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/school_helper_test.rb b/test/unit/helpers/school_helper_test.rb index d571ccae9..92c7717c1 100644 --- a/test/unit/helpers/school_helper_test.rb +++ b/test/unit/helpers/school_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class SchoolHelperTest < ActionView::TestCase -end +require 'test_helper' + +class SchoolHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/softapplications_helper_test.rb b/test/unit/helpers/softapplications_helper_test.rb index ad8173602..b1bdc5d35 100644 --- a/test/unit/helpers/softapplications_helper_test.rb +++ b/test/unit/helpers/softapplications_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class SoftapplicationsHelperTest < ActionView::TestCase -end +require 'test_helper' + +class SoftapplicationsHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/stores_helper_test.rb b/test/unit/helpers/stores_helper_test.rb index 01b1643a7..e4e4978d4 100644 --- a/test/unit/helpers/stores_helper_test.rb +++ b/test/unit/helpers/stores_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class StoresHelperTest < ActionView::TestCase -end +require 'test_helper' + +class StoresHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/test_helper_test.rb b/test/unit/helpers/test_helper_test.rb index 158276d03..d52b57cb2 100644 --- a/test/unit/helpers/test_helper_test.rb +++ b/test/unit/helpers/test_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class TestHelperTest < ActionView::TestCase -end +require 'test_helper' + +class TestHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/zipdown_helper_test.rb b/test/unit/helpers/zipdown_helper_test.rb index ca30cb362..ea7e54cfb 100644 --- a/test/unit/helpers/zipdown_helper_test.rb +++ b/test/unit/helpers/zipdown_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' - -class ZipdownHelperTest < ActionView::TestCase -end +require 'test_helper' + +class ZipdownHelperTest < ActionView::TestCase +end diff --git a/test/unit/join_in_contest_test.rb b/test/unit/join_in_contest_test.rb index 3d27c1a90..9d0d6b6f0 100644 --- a/test/unit/join_in_contest_test.rb +++ b/test/unit/join_in_contest_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class JoinInContestTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class JoinInContestTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/journal_reply_test.rb b/test/unit/journal_reply_test.rb index 500f11a6f..5e696a520 100644 --- a/test/unit/journal_reply_test.rb +++ b/test/unit/journal_reply_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class JournalReplyTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class JournalReplyTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/memo_test.rb b/test/unit/memo_test.rb index 659a1585b..2eb11fab2 100644 --- a/test/unit/memo_test.rb +++ b/test/unit/memo_test.rb @@ -1,17 +1,17 @@ -# encoding: utf-8 -require 'test_helper' - -class MemoTest < ActiveSupport::TestCase - test "the truth" do - assert true - end - - def test_the_truth - assert true - end - - test "should not save memo without content" do - memo = Memo.new - assert !memo.save, "assert, save memo without content." - end -end +# encoding: utf-8 +require 'test_helper' + +class MemoTest < ActiveSupport::TestCase + test "the truth" do + assert true + end + + def test_the_truth + assert true + end + + test "should not save memo without content" do + memo = Memo.new + assert !memo.save, "assert, save memo without content." + end +end diff --git a/test/unit/no_use_test.rb b/test/unit/no_use_test.rb index 4e4e903de..bcb664109 100644 --- a/test/unit/no_use_test.rb +++ b/test/unit/no_use_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class NoUseTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class NoUseTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/notificationcomments_test.rb b/test/unit/notificationcomments_test.rb index 798084efb..1a3dc1c4f 100644 --- a/test/unit/notificationcomments_test.rb +++ b/test/unit/notificationcomments_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class NotificationcommentsTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class NotificationcommentsTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/open_source_project_test.rb b/test/unit/open_source_project_test.rb index db44aad6e..cfb15f13d 100644 --- a/test/unit/open_source_project_test.rb +++ b/test/unit/open_source_project_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class OpenSourceProjectTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class OpenSourceProjectTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/relative_memo_test.rb b/test/unit/relative_memo_test.rb index 5f835a2a8..ffcfd75fc 100644 --- a/test/unit/relative_memo_test.rb +++ b/test/unit/relative_memo_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class RelativeMemoTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class RelativeMemoTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/relative_memo_to_open_source_project_test.rb b/test/unit/relative_memo_to_open_source_project_test.rb index f3ba567b0..5f8d21ecc 100644 --- a/test/unit/relative_memo_to_open_source_project_test.rb +++ b/test/unit/relative_memo_to_open_source_project_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class RelativeMemoToOpenSourceProjectTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class RelativeMemoToOpenSourceProjectTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/school_test.rb b/test/unit/school_test.rb index e86105ea2..b727f63fb 100644 --- a/test/unit/school_test.rb +++ b/test/unit/school_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class SchoolTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class SchoolTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/softapplication_test.rb b/test/unit/softapplication_test.rb index b3872eec5..7aba49a42 100644 --- a/test/unit/softapplication_test.rb +++ b/test/unit/softapplication_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class SoftapplicationTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class SoftapplicationTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/user_score_details_test.rb b/test/unit/user_score_details_test.rb index 657a9c2f7..1791c56b7 100644 --- a/test/unit/user_score_details_test.rb +++ b/test/unit/user_score_details_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' - -class UserScoreDetailsTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end +require 'test_helper' + +class UserScoreDetailsTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/tmp/plugins/README b/tmp/plugins/README index edef25679..51e6629f2 100644 --- a/tmp/plugins/README +++ b/tmp/plugins/README @@ -1 +1 @@ -Put your Redmine plugins here. +Put your Redmine plugins here. From 221e70d6489aac73666fbf2955aeedc60736436f Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Sat, 21 Mar 2015 09:28:43 +0800 Subject: [PATCH 002/320] =?UTF-8?q?gemfile=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Gemfile b/Gemfile index 634af9683..91cc6b77d 100644 --- a/Gemfile +++ b/Gemfile @@ -26,7 +26,6 @@ group :development do end group :test do - # shoulda的版本做了改动 #gem "shoulda", "~> 3.3.2" gem "shoulda", "> 3.3.2" gem "mocha", "~> 0.13.3" From a51ba0c10466052fa8e5c2d017600ed7a5863aab Mon Sep 17 00:00:00 2001 From: alanlong9278 <547533434@qq.com> Date: Wed, 15 Apr 2015 12:30:37 +0800 Subject: [PATCH 003/320] Signed-off-by: alanlong9278 <547533434@qq.com> --- .gitignore | 50 +- Gemfile | 282 +-- app/controllers/discuss_demos_controller.rb | 84 +- app/models/user.rb | 2058 ++++++++--------- app/models/user_extensions.rb | 172 +- app/views/attachments/destroy.js.erb | 14 +- app/views/bids/_bid_homework_show.html.erb | 400 ++-- app/views/issues/index.html.erb | 278 +-- app/views/layouts/_base_feedback.html.erb | 394 ++-- app/views/poll/publish_poll.js.erb | 18 +- app/views/poll/republish_poll.js.erb | 18 +- app/views/repositories/newrepo.html.erb | 14 +- app/views/tags/_tag_name.html.erb | 218 +- app/views/watchers/_set_watcher.js.erb | 22 +- app/views/welcome/_hot_projects_list.html.erb | 48 +- lib/git_refresh_changes.py | 60 +- plugins/redmine_ckeditor/Gemfile | 12 +- public/javascripts/application.js | 1734 +++++++------- 18 files changed, 2938 insertions(+), 2938 deletions(-) diff --git a/.gitignore b/.gitignore index bc936c34c..2b9fa95fe 100644 --- a/.gitignore +++ b/.gitignore @@ -1,25 +1,25 @@ -*.swp -/.project -/.idea -/.bundle -*.swp -/config/database.yml -/config/configuration.yml -/files/* -/log/* -/public/tmp/* -/tmp/* -/public/cache/* -.gitignore -/config/newrelic.yml -/public/images/avatars/* -/Gemfile -/Gemfile.lock -/db/schema.rb -/Gemfile.lock -/lib/plugins/acts_as_versioned/test/debug.log -.rbenv-gemsets -.DS_Store -public/api_doc/ -/.metadata -vendor/cache +*.swp +/.project +/.idea +/.bundle +*.swp +/config/database.yml +/config/configuration.yml +/files/* +/log/* +/public/tmp/* +/tmp/* +/public/cache/* +.gitignore +/config/newrelic.yml +/public/images/avatars/* +/Gemfile +/Gemfile.lock +/db/schema.rb +/Gemfile.lock +/lib/plugins/acts_as_versioned/test/debug.log +.rbenv-gemsets +.DS_Store +public/api_doc/ +/.metadata +vendor/cache diff --git a/Gemfile b/Gemfile index 29b2716a9..48c5adc0e 100644 --- a/Gemfile +++ b/Gemfile @@ -1,141 +1,141 @@ -source 'http://ruby.taobao.org' -#source 'http://ruby.sdutlinux.org/' - -unless RUBY_PLATFORM =~ /w32/ - # unix-like only - gem 'iconv' - gem 'rubyzip' - gem 'zip-zip' -end - -gem 'grape', '~> 0.9.0' -gem 'grape-entity' -gem 'seems_rateable', '~> 1.0.13' -gem "rails", "3.2.13" -gem "jquery-rails", "~> 2.0.2" -gem "i18n", "~> 0.6.0" -gem 'coderay', '~> 1.1.0' -gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby] -gem "builder", "3.0.0" -gem 'acts-as-taggable-on', '2.4.1' -gem 'spreadsheet' -gem 'ruby-ole' -#gem 'email_verifier', path: 'lib/email_verifier' -gem 'rufus-scheduler' -#gem 'dalli', path: 'lib/dalli-2.7.2' -gem 'rails_kindeditor' -group :development do - gem 'grape-swagger' - #gem 'grape-swagger-ui', git: 'https://github.com/guange2015/grape-swagger-ui.git' - gem 'puma' if RbConfig::CONFIG['host_os'] =~ /linux/ - gem 'pry-rails' - if RUBY_VERSION >= '2.0.0' - gem 'pry-byebug' - else - gem 'pry-debugger' - end - gem 'pry-stack_explorer' - gem 'better_errors', '~> 1.1.0' - gem 'rack-mini-profiler', '~> 0.9.3' -end - -group :test do - gem "shoulda", "~> 3.5.0" - gem "mocha", "~> 1.1.0" - gem 'capybara', '~> 2.4.1' - gem 'nokogiri', '~> 1.6.3' - gem 'factory_girl', '~> 4.4.0' - gem 'selenium-webdriver', '~> 2.42.0' - - gem "faker" - # platforms :mri, :mingw do - # group :rmagick do - # # RMagick 2 supports ruby 1.9 - # # RMagick 1 would be fine for ruby 1.8 but Bundler does not support - # # different requirements for the same gem on different platforms - # gem "rmagick", ">= 2.0.0" - # end - #end -end - - # gem 'rspec-rails' , '2.13.1' - # gem 'guard-rspec','2.5.0' -# Gems used only for assets and not required -# in production environments by default. -group :assets do - gem 'sass-rails', '~> 3.2.3' - gem 'coffee-rails', '~> 3.2.1' - - # See https://github.com/sstephenson/execjs#readme for more supported runtimes - gem 'therubyracer', :platforms => :ruby - - gem 'uglifier', '>= 1.0.3' -end - -# Optional gem for LDAP authentication -group :ldap do - gem "net-ldap", "~> 0.3.1" -end - - -# Optional gem for OpenID authentication -group :openid do - gem "ruby-openid", "~> 2.1.4", :require => "openid" - gem "rack-openid" -end - -# Optional gem for exporting the gantt to a PNG file, not supported with jruby -platforms :jruby do - # jruby-openssl is bundled with JRuby 1.7.0 - gem "jruby-openssl" if Object.const_defined?(:JRUBY_VERSION) && JRUBY_VERSION < '1.7.0' - gem "activerecord-jdbc-adapter", "1.2.5" -end - -# Include database gems for the adapters found in the database -# configuration file -require 'erb' -require 'yaml' -database_file = File.join(File.dirname(__FILE__), "config/database.yml") -if File.exist?(database_file) - database_config = YAML::load(ERB.new(IO.read(database_file)).result) - adapters = database_config.values.map {|c| c['adapter']}.compact.uniq - if adapters.any? - adapters.each do |adapter| - case adapter - when 'mysql2' - gem "mysql2", "= 0.3.18", :platforms => [:mri, :mingw] - gem "activerecord-jdbcmysql-adapter", :platforms => :jruby - when 'mysql' - gem "mysql", "~> 2.8.1", :platforms => [:mri, :mingw] - gem "activerecord-jdbcmysql-adapter", :platforms => :jruby - when /postgresql/ - gem "pg", ">= 0.11.0", :platforms => [:mri, :mingw] - gem "activerecord-jdbcpostgresql-adapter", :platforms => :jruby - when /sqlite3/ - gem "sqlite3", :platforms => [:mri, :mingw] - gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby - when /sqlserver/ - gem "tiny_tds", "~> 0.5.1", :platforms => [:mri, :mingw] - gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw] - else - warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems") - end - end - else - warn("No adapter found in config/database.yml, please configure it first") - end -else - warn("Please configure your config/database.yml first") -end - -local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local") -if File.exists?(local_gemfile) - puts "Loading Gemfile.local ..." if $DEBUG # `ruby -d` or `bundle -v` - instance_eval File.read(local_gemfile) -end - -# Load plugins' Gemfiles -Dir.glob File.expand_path("../plugins/*/Gemfile", __FILE__) do |file| - puts "Loading #{file} ..." if $DEBUG # `ruby -d` or `bundle -v` - instance_eval File.read(file) -end +source 'http://ruby.taobao.org' +#source 'http://ruby.sdutlinux.org/' + +unless RUBY_PLATFORM =~ /w32/ + # unix-like only + gem 'iconv' + gem 'rubyzip' + gem 'zip-zip' +end + +gem 'grape', '~> 0.9.0' +gem 'grape-entity' +gem 'seems_rateable', '~> 1.0.13' +gem "rails", "3.2.13" +gem "jquery-rails", "~> 2.0.2" +gem "i18n", "~> 0.6.0" +gem 'coderay', '~> 1.1.0' +gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby] +gem "builder", "3.0.0" +gem 'acts-as-taggable-on', '2.4.1' +gem 'spreadsheet' +gem 'ruby-ole' +#gem 'email_verifier', path: 'lib/email_verifier' +gem 'rufus-scheduler' +#gem 'dalli', path: 'lib/dalli-2.7.2' +gem 'rails_kindeditor' +group :development do + gem 'grape-swagger' + #gem 'grape-swagger-ui', git: 'https://github.com/guange2015/grape-swagger-ui.git' + gem 'puma' if RbConfig::CONFIG['host_os'] =~ /linux/ + gem 'pry-rails' + if RUBY_VERSION >= '2.0.0' + gem 'pry-byebug' + else + gem 'pry-debugger' + end + gem 'pry-stack_explorer' + gem 'better_errors', '~> 1.1.0' + gem 'rack-mini-profiler', '~> 0.9.3' +end + +group :test do + gem "shoulda", "~> 3.5.0" + gem "mocha", "~> 1.1.0" + gem 'capybara', '~> 2.4.1' + gem 'nokogiri', '~> 1.6.3' + gem 'factory_girl', '~> 4.4.0' + gem 'selenium-webdriver', '~> 2.42.0' + + gem "faker" + # platforms :mri, :mingw do + # group :rmagick do + # # RMagick 2 supports ruby 1.9 + # # RMagick 1 would be fine for ruby 1.8 but Bundler does not support + # # different requirements for the same gem on different platforms + # gem "rmagick", ">= 2.0.0" + # end + #end +end + + # gem 'rspec-rails' , '2.13.1' + # gem 'guard-rspec','2.5.0' +# Gems used only for assets and not required +# in production environments by default. +group :assets do + gem 'sass-rails', '~> 3.2.3' + gem 'coffee-rails', '~> 3.2.1' + + # See https://github.com/sstephenson/execjs#readme for more supported runtimes + gem 'therubyracer', :platforms => :ruby + + gem 'uglifier', '>= 1.0.3' +end + +# Optional gem for LDAP authentication +group :ldap do + gem "net-ldap", "~> 0.3.1" +end + + +# Optional gem for OpenID authentication +group :openid do + gem "ruby-openid", "~> 2.1.4", :require => "openid" + gem "rack-openid" +end + +# Optional gem for exporting the gantt to a PNG file, not supported with jruby +platforms :jruby do + # jruby-openssl is bundled with JRuby 1.7.0 + gem "jruby-openssl" if Object.const_defined?(:JRUBY_VERSION) && JRUBY_VERSION < '1.7.0' + gem "activerecord-jdbc-adapter", "1.2.5" +end + +# Include database gems for the adapters found in the database +# configuration file +require 'erb' +require 'yaml' +database_file = File.join(File.dirname(__FILE__), "config/database.yml") +if File.exist?(database_file) + database_config = YAML::load(ERB.new(IO.read(database_file)).result) + adapters = database_config.values.map {|c| c['adapter']}.compact.uniq + if adapters.any? + adapters.each do |adapter| + case adapter + when 'mysql2' + gem "mysql2", "= 0.3.18", :platforms => [:mri, :mingw] + gem "activerecord-jdbcmysql-adapter", :platforms => :jruby + when 'mysql' + gem "mysql", "~> 2.8.1", :platforms => [:mri, :mingw] + gem "activerecord-jdbcmysql-adapter", :platforms => :jruby + when /postgresql/ + gem "pg", ">= 0.11.0", :platforms => [:mri, :mingw] + gem "activerecord-jdbcpostgresql-adapter", :platforms => :jruby + when /sqlite3/ + gem "sqlite3", :platforms => [:mri, :mingw] + gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby + when /sqlserver/ + gem "tiny_tds", "~> 0.5.1", :platforms => [:mri, :mingw] + gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw] + else + warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems") + end + end + else + warn("No adapter found in config/database.yml, please configure it first") + end +else + warn("Please configure your config/database.yml first") +end + +local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local") +if File.exists?(local_gemfile) + puts "Loading Gemfile.local ..." if $DEBUG # `ruby -d` or `bundle -v` + instance_eval File.read(local_gemfile) +end + +# Load plugins' Gemfiles +Dir.glob File.expand_path("../plugins/*/Gemfile", __FILE__) do |file| + puts "Loading #{file} ..." if $DEBUG # `ruby -d` or `bundle -v` + instance_eval File.read(file) +end diff --git a/app/controllers/discuss_demos_controller.rb b/app/controllers/discuss_demos_controller.rb index b0c9791cb..9a03f3b86 100644 --- a/app/controllers/discuss_demos_controller.rb +++ b/app/controllers/discuss_demos_controller.rb @@ -1,42 +1,42 @@ -class DiscussDemosController < ApplicationController - def index - - @discuss_demo_list = DiscussDemo.where("body is not null").order("created_at desc").page(params[:page] || 1).per(10) - end - - def new - @discuss_demo = DiscussDemo.create - @discuss_demo.save! - @discuss_demo - end - - def create - - end - - def update - @discuss_demo = DiscussDemo.find(params[:id]) - @discuss_demo.update_attributes(:title => params[:discuss_demo][:title],:body => params[:discuss_demo][:body]) - redirect_to :controller=> 'discuss_demos',:action => 'show',:id => params[:id] - end - - def delete - - end - - def destroy - asset = Kindeditor::Asset.find_by_owner_id(params[:id]) - if !asset.nil? - filepath = File.join(Rails.root,"public","files","uploads", - asset[:created_at].to_s.gsub("+0800","").to_datetime.strftime("%Y%m").to_s, - asset[:asset].to_s) - File.delete(filepath) if File.exist?filepath - end - DiscussDemo.destroy(params[:id]) - redirect_to :controller=> 'discuss_demos',:action => 'index' - end - - def show - @discuss_demo = DiscussDemo.find(params[:id]) - end -end +class DiscussDemosController < ApplicationController + def index + + @discuss_demo_list = DiscussDemo.where("body is not null").order("created_at desc").page(params[:page] || 1).per(10) + end + + def new + @discuss_demo = DiscussDemo.create + @discuss_demo.save! + @discuss_demo + end + + def create + + end + + def update + @discuss_demo = DiscussDemo.find(params[:id]) + @discuss_demo.update_attributes(:title => params[:discuss_demo][:title],:body => params[:discuss_demo][:body]) + redirect_to :controller=> 'discuss_demos',:action => 'show',:id => params[:id] + end + + def delete + + end + + def destroy + asset = Kindeditor::Asset.find_by_owner_id(params[:id]) + if !asset.nil? + filepath = File.join(Rails.root,"public","files","uploads", + asset[:created_at].to_s.gsub("+0800","").to_datetime.strftime("%Y%m").to_s, + asset[:asset].to_s) + File.delete(filepath) if File.exist?filepath + end + DiscussDemo.destroy(params[:id]) + redirect_to :controller=> 'discuss_demos',:action => 'index' + end + + def show + @discuss_demo = DiscussDemo.find(params[:id]) + end +end diff --git a/app/models/user.rb b/app/models/user.rb index 9abe80779..87dc88976 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,1029 +1,1029 @@ -# Redmine - project management software -# Copyright (C) 2006-2013 Jean-Philippe Lang -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -require "digest/sha1" - -class User < Principal - TEACHER = 0 - STUDENT = 1 - ENTERPRISE = 2 - DEVELOPER = 3 - - include Redmine::SafeAttributes - seems_rateable_rater - # Different ways of displaying/sorting users - USER_FORMATS = { - :firstname_lastname => { - :string => '#{firstname} #{lastname}', - :order => %w(firstname lastname id), - :setting_order => 1 - }, - :firstname_lastinitial => { - :string => '#{firstname} #{lastname.to_s.chars.first}.', - :order => %w(firstname lastname id), - :setting_order => 2 - }, - :firstname => { - :string => '#{firstname}', - :order => %w(firstname id), - :setting_order => 3 - }, - :lastname_firstname => { - :string => '#{lastname} #{firstname}', - :order => %w(lastname firstname id), - :setting_order => 4 - }, - :lastname_coma_firstname => { - :string => '#{lastname}, #{firstname}', - :order => %w(lastname firstname id), - :setting_order => 5 - }, - :lastname => { - :string => '#{lastname}', - :order => %w(lastname id), - :setting_order => 6 - }, - :username => { - :string => '#{login}', - :order => %w(login id), - :setting_order => 7 - }, - } - - MAIL_NOTIFICATION_OPTIONS = [ - ['all', :label_user_mail_option_all], - ['week', :label_user_mail_option_week], - ['day', :label_user_mail_option_day], - ['none', :label_user_mail_option_none] - ] - - has_many :homework_users - has_many :homework_attaches, :through => :homework_users - has_many :homework_evaluations - - #问卷相关关关系 - has_many :poll_users, :dependent => :destroy - has_many :poll_votes, :dependent => :destroy - has_many :poll, :dependent => :destroy #用户创建的问卷 - has_many :answers, :source => :poll, :through => :poll_users, :dependent => :destroy #用户已经完成问答的问卷 - # end - - has_and_belongs_to_many :groups, :after_add => Proc.new {|user, group| group.user_added(user)}, - :after_remove => Proc.new {|user, group| group.user_removed(user)} - has_many :changesets, :dependent => :nullify - has_one :preference, :dependent => :destroy, :class_name => 'UserPreference' - has_one :rss_token, :class_name => 'Token', :conditions => "action='feeds'" - has_one :api_token, :class_name => 'Token', :conditions => "action='api'" - belongs_to :auth_source - belongs_to :ucourse, :class_name => 'Course', :foreign_key => :id #huang -## added by xianbo for delete - has_many :biding_projects, :dependent => :destroy - has_many :contesting_projects, :dependent => :destroy - belongs_to :softapplication, :foreign_key => 'id', :dependent => :destroy -##ended by xianbo - -#####fq - has_many :jours, :class_name => 'JournalsForMessage', :dependent => :destroy - has_many :journals_messages, :class_name => 'JournalsForMessage', :foreign_key => "user_id", :dependent => :destroy - has_many :bids, :foreign_key => 'author_id', :dependent => :destroy - has_many :contests, :foreign_key => 'author_id', :dependent => :destroy - has_many :softapplications, :foreign_key => 'user_id', :dependent => :destroy - has_many :journals_for_messages, :as => :jour, :dependent => :destroy - has_many :new_jours, :as => :jour, :class_name => 'JournalsForMessage', :conditions => "status=1" - has_many :journal_replies, :dependent => :destroy - has_many :activities, :dependent => :destroy - has_many :students_for_courses - #has_many :courses, :through => :students_for_courses, :source => :project - has_many :acts, :class_name => 'Activity', :as => :act, :dependent => :destroy - has_many :file_commit, :class_name => 'Attachment', :foreign_key => 'author_id', :conditions => "container_type = 'Project' or container_type = 'Version'" -#### -# added by bai - has_many :join_in_contests, :dependent => :destroy - has_many :news, :foreign_key => 'author_id' - has_many :contestnotification, :foreign_key => 'author_id' - has_many :comments, :foreign_key => 'author_id' - has_many :notificationcomments, :foreign_key => 'author_id' - has_many :wiki_contents, :foreign_key => 'author_id' - has_many :journals - has_many :messages, :foreign_key => 'author_id' - has_one :user_score, :dependent => :destroy - has_many :documents # 项目中关联的文档再次与人关联 -# end - -######added by nie - has_many :project_infos, :dependent => :destroy - has_one :user_status, :dependent => :destroy - ##### - has_many :shares ,:dependent => :destroy - - # add by zjc - has_one :level, :class_name => 'UserLevels', :dependent => :destroy - has_many :memos , :foreign_key => 'author_id' - ##### - scope :logged, lambda { where("#{User.table_name}.status <> #{STATUS_ANONYMOUS}") } - scope :status, lambda {|arg| where(arg.blank? ? nil : {:status => arg.to_i}) } - scope :visible, lambda {|*args| - nil - } - - - acts_as_customizable - ############################added by william - acts_as_taggable - scope :by_join_date, order("created_on DESC") - ############################# added by liuping 关注 - acts_as_watchable - - has_one :user_extensions,:dependent => :destroy - ## end - - # default_scope -> { includes(:user_extensions, :user_score) } - scope :teacher, -> { - joins(:user_extensions).where('user_extensions.identity = ?', UserExtensions::TEACHER) - } - scope :student, -> { - joins(:user_extensions).where('user_extensions.identity = ?', UserExtensions::STUDENT) - } - scope :developer, -> { - joins(:user_extensions).where('user_extensions.identity = ?', UserExtensions::DEVELOPER) - } - scope :enterprise, -> { - joins(:user_extensions).where('user_extensions.identity = ?', UserExtensions::ENTERPRISE) - } - - attr_accessor :password, :password_confirmation - attr_accessor :last_before_login_on - # Prevents unauthorized assignments - attr_protected :login, :admin, :password, :password_confirmation, :hashed_password - - LOGIN_LENGTH_LIMIT = 25 - MAIL_LENGTH_LIMIT = 60 - - validates_presence_of :login, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) } - validates_uniqueness_of :login, :if => Proc.new { |user| user.login_changed? && user.login.present? }, :case_sensitive => false - validates_uniqueness_of :mail, :if => Proc.new { |user| user.mail_changed? && user.mail.present? }, :case_sensitive => false - # Login must contain letters, numbers, underscores only - validates_format_of :login, :with => /\A[a-z0-9_\-@\.]*\z/i - validates_length_of :login, :maximum => LOGIN_LENGTH_LIMIT - validates_length_of :firstname, :maximum => 30 - validates_length_of :lastname, :maximum => 30 - validates_format_of :mail, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i, :allow_blank => true - validates_length_of :mail, :maximum => MAIL_LENGTH_LIMIT, :allow_nil => true - validates_confirmation_of :password, :allow_nil => true - validates_inclusion_of :mail_notification, :in => MAIL_NOTIFICATION_OPTIONS.collect(&:first), :allow_blank => true - validate :validate_password_length - # validates_email_realness_of :mail - before_create :set_mail_notification - before_save :update_hashed_password - before_destroy :remove_references_before_destroy - # added by fq - after_create :act_as_activity - # end - - scope :in_group, lambda {|group| - group_id = group.is_a?(Group) ? group.id : group.to_i - where("#{User.table_name}.id IN (SELECT gu.user_id FROM #{table_name_prefix}groups_users#{table_name_suffix} gu WHERE gu.group_id = ?)", group_id) - } - scope :not_in_group, lambda {|group| - group_id = group.is_a?(Group) ? group.id : group.to_i - where("#{User.table_name}.id NOT IN (SELECT gu.user_id FROM #{table_name_prefix}groups_users#{table_name_suffix} gu WHERE gu.group_id = ?)", group_id) - } - scope :sorted, lambda { order(*User.fields_for_order_statement)} - - scope :like, lambda {|arg, type| - if arg.blank? - where(nil) - else - pattern = "%#{arg.to_s.strip.downcase}%" - #where(" LOWER(concat(lastname, firstname)) LIKE :p ", :p => pattern) - if type == "0" - where(" LOWER(login) LIKE '#{pattern}' ") - elsif type == "1" - where(" LOWER(concat(lastname, firstname)) LIKE '#{pattern}' ") - elsif type == "3" - where(" LOWER(concat(lastname, firstname,login)) LIKE '#{pattern}' ") - else - where(" LOWER(mail) LIKE '#{pattern}' ") - end - end - } - - - # ====================================================================== - - def extensions - self.user_extensions ||= UserExtensions.new - end - - def user_score_attr - self.user_score ||= UserScore.new - end - - # ====================================================================== - - #选择项目成员时显示的用户信息文字 - def userInfo - if self.realname.gsub(' ','') == "" || self.realname.nil? - info = self.nickname; - else - info=self.nickname + ' (' + self.realname + ')'; - end - info - end - - ###添加留言 fq - def add_jour(user, notes, reference_user_id = 0, options = {}) - if options.count == 0 - self.journals_for_messages << JournalsForMessage.new(:user_id => user.id, :notes => notes, :reply_id => reference_user_id, :status => true) - else - jfm = self.journals_for_messages.build(options) - jfm.save - jfm - end - end - - # 判断用户是否加入了竞赛中 fq - def join_in_contest?(bid) - joined = JoinInContest.where('user_id = ? and bid_id =?', self.id, bid.id) - if joined.size > 0 - true - else - false - end - end - - ### fq - def join_in?(course) - joined = StudentsForCourse.where('student_id = ? and course_id = ?', self.id, course.id) - if joined.size > 0 - true - else - false - end - end - - def show_name - unless self.user_extensions.nil? - if self.user_extensions.identity == 2 - firstname - else - lastname+firstname - end - else - lastname+firstname - end - end - ## end - - def count_new_jour - count = self.new_jours.count - end - - #added by nie - def count_new_journal_reply - count = self.journal_reply.count - end - - def set_mail_notification - ##add byxianbo - thread=Thread.new do - self.mail_notification = Setting.default_notification_option if self.mail_notification.blank? - true - end - end - - def update_hashed_password - # update hashed_password if password was set - if self.password && self.auth_source_id.blank? - salt_password(password) - end - end - - alias :base_reload :reload - def reload(*args) - @name = nil - @projects_by_role = nil - @courses_by_role = nil - @membership_by_project_id = nil - base_reload(*args) - end - - def mail=(arg) - write_attribute(:mail, arg.to_s.strip) - end - - def identity_url=(url) - if url.blank? - write_attribute(:identity_url, '') - else - begin - write_attribute(:identity_url, OpenIdAuthentication.normalize_identifier(url)) - rescue OpenIdAuthentication::InvalidOpenId - # Invalid url, don't save - end - end - self.read_attribute(:identity_url) - end - - VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/i - # VALID_EMAIL_REGEX = /^[0-9a-zA-Z_-]+@[0-9a-zA-Z_-]+(\.[0-9a-zA-Z_-]+)+$/ - # Returns the user that matches provided login and password, or nil - #登录,返回用户名与密码匹配的用户 - def self.try_to_login(login, password) - login = login.to_s.lstrip.rstrip - password = password.to_s - - # Make sure no one can sign in with an empty login or password - return nil if login.empty? || password.empty? - if (login =~ VALID_EMAIL_REGEX) - user = find_by_mail(login) - else - user = find_by_login(login) - end - if user - # user is already in local database - #return nil unless user.active? - return nil unless user.check_password?(password) - else - # user is not yet registered, try to authenticate with available sources - attrs = AuthSource.authenticate(login, password) - if attrs - user = new(attrs) - user.login = login - user.language = Setting.default_language - if user.save - user.reload - logger.info("User '#{user.login}' created from external auth source: #{user.auth_source.type} - #{user.auth_source.name}") if logger && user.auth_source - end - end - end - if user && !user.new_record? - last_login_on = user.last_login_on.nil? ? '' : user.last_login_on.to_s - user.update_column(:last_login_on, Time.now) - end - [user, last_login_on] - rescue => text - raise text - end - - - def self.try_to_autologin(key) - user = Token.find_active_user('autologin', key, Setting.autologin.to_i) - if user - user.update_column(:last_login_on, Time.now) - user - end - end - - def self.name_formatter(formatter = nil) - USER_FORMATS[formatter || Setting.user_format] || USER_FORMATS[:firstname_lastname] - end - - # Returns an array of fields names than can be used to make an order statement for users - # according to how user names are displayed - # Examples: - # - # User.fields_for_order_statement => ['users.login', 'users.id'] - # User.fields_for_order_statement('authors') => ['authors.login', 'authors.id'] - def self.fields_for_order_statement(table=nil) - table ||= table_name - name_formatter[:order].map {|field| "#{table}.#{field}"} - end - - # Return user's full name for display - def realname(formatter = nil) - f = self.class.name_formatter(formatter) - if formatter - eval('"' + f[:string] + '"') - else - @name ||= eval('"' + f[:string] + '"') - end - end - - def nickname(formatter = nil) - login - end - - def name(formatter = nil) - login - end - - def active? - self.status == STATUS_ACTIVE - end - - def registered? - self.status == STATUS_REGISTERED - end - - def locked? - self.status == STATUS_LOCKED - end - - def activate - self.status = STATUS_ACTIVE - end - - def register - self.status = STATUS_REGISTERED - end - - def lock - self.status = STATUS_LOCKED - end - - def activate! - update_attribute(:status, STATUS_ACTIVE) - end - - def register! - update_attribute(:status, STATUS_REGISTERED) - end - - def lock! - update_attribute(:status, STATUS_LOCKED) - end - - # Returns true if +clear_password+ is the correct user's password, otherwise false - def check_password?(clear_password) - if auth_source_id.present? - auth_source.authenticate(self.login, clear_password) - else - User.hash_password("#{salt}#{User.hash_password clear_password}") == hashed_password - end - end - def check_password1?(clear_password) - - clear_password == hashed_password - - end - # Generates a random salt and computes hashed_password for +clear_password+ - # The hashed password is stored in the following form: SHA1(salt + SHA1(password)) - def salt_password(clear_password) - self.salt = User.generate_salt - self.hashed_password = User.hash_password("#{salt}#{User.hash_password clear_password}") - end - - # Does the backend storage allow this user to change their password? - def change_password_allowed? - return true if auth_source.nil? - return auth_source.allow_password_changes? - end - - # Generate and set a random password. Useful for automated user creation - # Based on Token#generate_token_value - # - def random_password - chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a - password = '' - 40.times { |i| password << chars[rand(chars.size-1)] } - self.password = password - self.password_confirmation = password - self - end - - def pref - self.preference ||= UserPreference.new(:user => self) - end - - def time_zone - @time_zone ||= (self.pref.time_zone.blank? ? nil : ActiveSupport::TimeZone[self.pref.time_zone]) - end - - def wants_comments_in_reverse_order? - self.pref[:comments_sorting] == 'desc' - end - - def wants_notificationcomments_in_reverse_order? - self.pref[:notificationcomments_sorting] == 'desc' - end - # Return user's RSS key (a 40 chars long string), used to access feeds - def rss_key - if rss_token.nil? - create_rss_token(:action => 'feeds') - end - rss_token.value - end - - # Return user's API key (a 40 chars long string), used to access the API - def api_key - if api_token.nil? - create_api_token(:action => 'api') - end - api_token.value - end - - # Return an array of project ids for which the user has explicitly turned mail notifications on - def notified_projects_ids - @notified_projects_ids ||= memberships.select {|m| m.mail_notification?}.collect(&:project_id) - end - - def notified_project_ids=(ids) - Member.update_all("mail_notification = #{connection.quoted_false}", ['user_id = ?', id]) - Member.update_all("mail_notification = #{connection.quoted_true}", ['user_id = ? AND project_id IN (?)', id, ids]) if ids && !ids.empty? - @notified_projects_ids = nil - notified_projects_ids - end - - def valid_notification_options - self.class.valid_notification_options(self) - end - - # Only users that belong to more than 1 project can select projects for which they are notified - def self.valid_notification_options(user=nil) - # Note that @user.membership.size would fail since AR ignores - # :include association option when doing a count - if user.nil? || user.memberships.length < 1 - MAIL_NOTIFICATION_OPTIONS.reject {|option| option.first == 'selected'} - else - MAIL_NOTIFICATION_OPTIONS - end - end - - # Find a user account by matching the exact login and then a case-insensitive - # version. Exact matches will be given priority. - #通过用户名查找相应的用户,若没有匹配到,则不区分大小写进行查询 - #修改:不再匹配不区分大小写情况 -zjc - def self.find_by_login(login) - if login.present? - login = login.to_s - # First look for an exact match - user = where(:login => login).all.detect {|u| u.login == login} - #unless user - # # Fail over to case-insensitive if none was found - # user = where("LOWER(login) = ?", login.downcase).first - #end - user - end - end - - def self.find_by_rss_key(key) - Token.find_active_user('feeds', key) - end - - def self.find_by_api_key(key) - Token.find_active_user('api', key) - end - - # Makes find_by_mail case-insensitive - def self.find_by_mail(mail) - where("LOWER(mail) = ?", mail.to_s.downcase).first - end - - # Returns true if the default admin account can no longer be used - def self.default_admin_account_changed? - !User.active.find_by_login("admin").try(:check_password?, "admin") - end - - def to_s - name - end - - CSS_CLASS_BY_STATUS = { - STATUS_ANONYMOUS => 'anon', - STATUS_ACTIVE => 'active', - STATUS_REGISTERED => 'registered', - STATUS_LOCKED => 'locked' - } - - def css_classes - "user #{CSS_CLASS_BY_STATUS[status]}" - end - - # Returns the current day according to user's time zone - def today - if time_zone.nil? - Date.today - else - Time.now.in_time_zone(time_zone).to_date - end - end - - # Returns the day of +time+ according to user's time zone - def time_to_date(time) - if time_zone.nil? - time.to_date - else - time.in_time_zone(time_zone).to_date - end - end - - def logged? - true - end - - def anonymous? - !logged? - end - - # Returns user's membership for the given project - # or nil if the user is not a member of project - def membership(project) - project_id = project.is_a?(Project) ? project.id : project - - @membership_by_project_id ||= Hash.new {|h, project_id| - h[project_id] = memberships.where(:project_id => project_id).first - } - @membership_by_project_id[project_id] - end - - def coursemembership(course) - course_id = course.is_a?(Course) ? course.id : course - - @membership_by_course_id ||= Hash.new {|h, course_id| - h[course_id] = coursememberships.where(:course_id => course_id).first - } - @membership_by_course_id[course_id] - end - - # Return user's roles for project - def roles_for_project(project) - roles = [] - # No role on archived projects - return roles if project.nil? || project.archived? - if logged? - # Find project membership - membership = membership(project) - if membership - roles = membership.roles - else - @role_non_member ||= Role.non_member - roles << @role_non_member - end - else - @role_anonymous ||= Role.anonymous - roles << @role_anonymous - end - roles - end - - # 用户课程权限判断 - def roles_for_course(course) - roles = [] - # No role on archived courses - return roles if course.nil? || course.archived? - if logged? - # Find course membership - membership = coursemembership(course) - if membership - roles = membership.roles - else - @role_non_member ||= Role.non_member - roles << @role_non_member - end - else - @role_anonymous ||= Role.anonymous - roles << @role_anonymous - end - roles - end - - # Return true if the user is a member of project - def member_of?(project) - projects.to_a.include?(project) - end - - def member_of_course?(course) - courses.to_a.include?(course) - end - - def member_of_course_group?(course_group) - course_groups.to_a.include?(course_group) - end - # Returns a hash of user's projects grouped by roles - def projects_by_role - return @projects_by_role if @projects_by_role - - @projects_by_role = Hash.new([]) - memberships.each do |membership| - if membership.project - membership.roles.each do |role| - @projects_by_role[role] = [] unless @projects_by_role.key?(role) - @projects_by_role[role] << membership.project - end - end - end - @projects_by_role.each do |role, projects| - projects.uniq! - end - - @projects_by_role - end - - # 课程的角色权限 - def courses_by_role - return @courses_by_role if @courses_by_role - - @courses_by_role = Hash.new([]) - coursememberships.each do |membership| - if membership.course - membership.roles.each do |role| - @courses_by_role[role] = [] unless @courses_by_role.key?(role) - @courses_by_role[role] << membership.course - end - end - end - @courses_by_role.each do |role, courses| - courses.uniq! - end - - @courses_by_role - end - # Returns true if user is arg or belongs to arg - def is_or_belongs_to?(arg) - if arg.is_a?(User) - self == arg - elsif arg.is_a?(Group) - arg.users.include?(self) - else - false - end - end - - - # Return true if the user is allowed to do the specified action on a specific context - # Action can be: - # * a parameter-like Hash (eg. :controller => 'projects', :action => 'edit') - # * a permission Symbol (eg. :edit_project) - # Context can be: - # * a project : returns true if user is allowed to do the specified action on this project - # * an array of projects : returns true if user is allowed on every project - # * nil with options[:global] set : check if user has at least one role allowed for this action, - # or falls back to Non Member / Anonymous permissions depending if the user is logged - def allowed_to?(action, context, options={}, &block) - if context && context.is_a?(Project) - return false unless context.allows_to?(action) - # Admin users are authorized for anything else - return true if admin? - - roles = roles_for_project(context) - return false unless roles - roles.any? {|role| - (context.is_public? || role.member?) && - role.allowed_to?(action) && - (block_given? ? yield(role, self) : true) - } - #添加课程相关的权限判断 - elsif context && context.is_a?(Course) - return false unless context.allows_to?(action) - # Admin users are authorized for anything else - return true if admin? - - roles = roles_for_course(context) - return false unless roles - roles.any? {|role| - (context.is_public? || role.member?) && - role.allowed_to?(action) && - (block_given? ? yield(role, self) : true) - } - elsif context && context.is_a?(Array) - if context.empty? - false - else - # Authorize if user is authorized on every element of the array - context.map {|project| allowed_to?(action, project, options, &block)}.reduce(:&) - end - elsif options[:global] - # Admin users are always authorized - return true if admin? - - # authorize if user has at least one role that has this permission - roles = memberships.collect {|m| m.roles}.flatten.uniq - if roles.count == 0 - roles = coursememberships.collect {|m| m.roles}.flatten.uniq - end - roles << (self.logged? ? Role.non_member : Role.anonymous) - roles.any? {|role| - role.allowed_to?(action) && - (block_given? ? yield(role, self) : true) - } - else - if admin? - return true - end - #无项目时 查看Non member(id为1)角色是否有权限执行action - Role.find('1').allowed_to?(action) - # false - end - end - - # Is the user allowed to do the specified action on any project? - # See allowed_to? for the actions and valid options. - def allowed_to_globally?(action, options, &block) - allowed_to?(action, nil, options.reverse_merge(:global => true), &block) - end - - # Returns true if the user is allowed to delete his own account - def own_account_deletable? - Setting.unsubscribe? && - (!admin? || User.active.where("admin = ? AND id <> ?", true, id).exists?) - end - - safe_attributes 'login', - 'firstname', - 'lastname', - 'mail', - 'mail_notification', - 'language', - 'custom_field_values', - 'custom_fields', - 'identity_url' - - safe_attributes 'status', - 'auth_source_id', - :if => lambda {|user, current_user| current_user.admin?} - - safe_attributes 'group_ids', - :if => lambda {|user, current_user| current_user.admin? && !user.new_record?} - - # Utility method to help check if a user should be notified about an - # event. - # - # TODO: only supports Issue events currently - def notify_about?(object) - if mail_notification == 'all' - true - elsif mail_notification.blank? || mail_notification == 'none' - false - else - case object - when Issue - case mail_notification - when 'selected', 'only_my_events' - # user receives notifications for created/assigned issues on unselected projects - object.author == self || is_or_belongs_to?(object.assigned_to) || is_or_belongs_to?(object.assigned_to_was) - when 'only_assigned' - is_or_belongs_to?(object.assigned_to) || is_or_belongs_to?(object.assigned_to_was) - when 'only_owner' - object.author == self - end - when News - # always send to project members except when mail_notification is set to 'none' - true - #判定用户是否接受留言提醒邮件 - when JournalsForMessage - ##如果是直接留言并且留言对象是Project并且Project类型是课程(课程留言) - if !object.at_user && object.jour.class.to_s.to_sym == :Project && object.jour.project_type == 1 - #根据用户设置邮件接收模式判定当前用户是否接受邮件提醒 - is_notified_project object.jour - end - - end - end - end - - #用户是否接收project的消息提醒 - def is_notified_project arg - if arg.is_a?(Project) - case mail_notification - when 'selected' - notified_projects_ids.include?(arg.id) - when 'only_my_events' - projects.include?(arg) - when 'only_assigned' - false - when 'only_owner' - course = Course.find_by_extra(arg.identifier) - course.teacher == self - end - #勾选的项目或用户的项目 TODO:需改 - #notified_projects_ids.include?(arg) || projects.include?(arg) - else - false - end - end - - def self.current=(user) - Thread.current[:current_user] = user - end - - def self.current - Thread.current[:current_user] ||= User.anonymous - end - - # Returns the anonymous user. If the anonymous user does not exist, it is created. There can be only - # one anonymous user per database. - def self.anonymous - anonymous_user = AnonymousUser.first - if anonymous_user.nil? - anonymous_user = AnonymousUser.create(:lastname => 'Anonymous', :firstname => '', :mail => '', :login => '', :status => 0) - raise 'Unable to create the anonymous user.' if anonymous_user.new_record? - end - anonymous_user - end - - # Salts all existing unsalted passwords - # It changes password storage scheme from SHA1(password) to SHA1(salt + SHA1(password)) - # This method is used in the SaltPasswords migration and is to be kept as is - def self.salt_unsalted_passwords! - transaction do - User.where("salt IS NULL OR salt = ''").find_each do |user| - next if user.hashed_password.blank? - salt = User.generate_salt - hashed_password = User.hash_password("#{salt}#{user.hashed_password}") - User.where(:id => user.id).update_all(:salt => salt, :hashed_password => hashed_password) - end - end - end - - protected - - def validate_password_length - # Password length validation based on setting - if !password.nil? && password.size < Setting.password_min_length.to_i - errors.add(:password, :too_short, :count => Setting.password_min_length.to_i) - end - end - private - - def act_as_activity - self.acts << Activity.new(:user_id => self.id) - end - - # Removes references that are not handled by associations - # Things that are not deleted are reassociated with the anonymous user - def remove_references_before_destroy - return if self.id.nil? - - substitute = User.anonymous - Attachment.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] - Comment.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] - Notificationcomment.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] - Issue.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] - Issue.update_all 'assigned_to_id = NULL', ['assigned_to_id = ?', id] - Journal.update_all ['user_id = ?', substitute.id], ['user_id = ?', id] - JournalDetail.update_all ['old_value = ?', substitute.id.to_s], ["property = 'attr' AND prop_key = 'assigned_to_id' AND old_value = ?", id.to_s] - JournalDetail.update_all ['value = ?', substitute.id.to_s], ["property = 'attr' AND prop_key = 'assigned_to_id' AND value = ?", id.to_s] - Message.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] - News.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] - # Remove private queries and keep public ones - ::Query.delete_all ['user_id = ? AND is_public = ?', id, false] - ::Query.update_all ['user_id = ?', substitute.id], ['user_id = ?', id] - TimeEntry.update_all ['user_id = ?', substitute.id], ['user_id = ?', id] - Token.delete_all ['user_id = ?', id] - Watcher.delete_all ['user_id = ?', id] - WikiContent.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] - WikiContent::Version.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] - end - - # Return password digest - def self.hash_password(clear_password) - Digest::SHA1.hexdigest(clear_password || "") - end - - # Returns a 128bits random salt as a hex string (32 chars long) - def self.generate_salt - Redmine::Utils.random_hex(16) - end - - - -end - -class AnonymousUser < User - validate :validate_anonymous_uniqueness, :on => :create - - def validate_anonymous_uniqueness - # There should be only one AnonymousUser in the database - errors.add :base, 'An anonymous user already exists.' if AnonymousUser.exists? - end - - def available_custom_fields - [] - end - - # Overrides a few properties - def logged?; false end - def admin; false end - def name(*args); I18n.t(:label_user_anonymous) end - def mail; nil end - def time_zone; nil end - def rss_key; nil end - - def pref - UserPreference.new(:user => self) - end - - # def member_of?(project) - # false - # end - - # Anonymous user can not be destroyed - def destroy - false - end -end +# Redmine - project management software +# Copyright (C) 2006-2013 Jean-Philippe Lang +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +require "digest/sha1" + +class User < Principal + TEACHER = 0 + STUDENT = 1 + ENTERPRISE = 2 + DEVELOPER = 3 + + include Redmine::SafeAttributes + seems_rateable_rater + # Different ways of displaying/sorting users + USER_FORMATS = { + :firstname_lastname => { + :string => '#{firstname} #{lastname}', + :order => %w(firstname lastname id), + :setting_order => 1 + }, + :firstname_lastinitial => { + :string => '#{firstname} #{lastname.to_s.chars.first}.', + :order => %w(firstname lastname id), + :setting_order => 2 + }, + :firstname => { + :string => '#{firstname}', + :order => %w(firstname id), + :setting_order => 3 + }, + :lastname_firstname => { + :string => '#{lastname} #{firstname}', + :order => %w(lastname firstname id), + :setting_order => 4 + }, + :lastname_coma_firstname => { + :string => '#{lastname}, #{firstname}', + :order => %w(lastname firstname id), + :setting_order => 5 + }, + :lastname => { + :string => '#{lastname}', + :order => %w(lastname id), + :setting_order => 6 + }, + :username => { + :string => '#{login}', + :order => %w(login id), + :setting_order => 7 + }, + } + + MAIL_NOTIFICATION_OPTIONS = [ + ['all', :label_user_mail_option_all], + ['week', :label_user_mail_option_week], + ['day', :label_user_mail_option_day], + ['none', :label_user_mail_option_none] + ] + + has_many :homework_users + has_many :homework_attaches, :through => :homework_users + has_many :homework_evaluations + + #问卷相关关关系 + has_many :poll_users, :dependent => :destroy + has_many :poll_votes, :dependent => :destroy + has_many :poll, :dependent => :destroy #用户创建的问卷 + has_many :answers, :source => :poll, :through => :poll_users, :dependent => :destroy #用户已经完成问答的问卷 + # end + + has_and_belongs_to_many :groups, :after_add => Proc.new {|user, group| group.user_added(user)}, + :after_remove => Proc.new {|user, group| group.user_removed(user)} + has_many :changesets, :dependent => :nullify + has_one :preference, :dependent => :destroy, :class_name => 'UserPreference' + has_one :rss_token, :class_name => 'Token', :conditions => "action='feeds'" + has_one :api_token, :class_name => 'Token', :conditions => "action='api'" + belongs_to :auth_source + belongs_to :ucourse, :class_name => 'Course', :foreign_key => :id #huang +## added by xianbo for delete + has_many :biding_projects, :dependent => :destroy + has_many :contesting_projects, :dependent => :destroy + belongs_to :softapplication, :foreign_key => 'id', :dependent => :destroy +##ended by xianbo + +#####fq + has_many :jours, :class_name => 'JournalsForMessage', :dependent => :destroy + has_many :journals_messages, :class_name => 'JournalsForMessage', :foreign_key => "user_id", :dependent => :destroy + has_many :bids, :foreign_key => 'author_id', :dependent => :destroy + has_many :contests, :foreign_key => 'author_id', :dependent => :destroy + has_many :softapplications, :foreign_key => 'user_id', :dependent => :destroy + has_many :journals_for_messages, :as => :jour, :dependent => :destroy + has_many :new_jours, :as => :jour, :class_name => 'JournalsForMessage', :conditions => "status=1" + has_many :journal_replies, :dependent => :destroy + has_many :activities, :dependent => :destroy + has_many :students_for_courses + #has_many :courses, :through => :students_for_courses, :source => :project + has_many :acts, :class_name => 'Activity', :as => :act, :dependent => :destroy + has_many :file_commit, :class_name => 'Attachment', :foreign_key => 'author_id', :conditions => "container_type = 'Project' or container_type = 'Version'" +#### +# added by bai + has_many :join_in_contests, :dependent => :destroy + has_many :news, :foreign_key => 'author_id' + has_many :contestnotification, :foreign_key => 'author_id' + has_many :comments, :foreign_key => 'author_id' + has_many :notificationcomments, :foreign_key => 'author_id' + has_many :wiki_contents, :foreign_key => 'author_id' + has_many :journals + has_many :messages, :foreign_key => 'author_id' + has_one :user_score, :dependent => :destroy + has_many :documents # 项目中关联的文档再次与人关联 +# end + +######added by nie + has_many :project_infos, :dependent => :destroy + has_one :user_status, :dependent => :destroy + ##### + has_many :shares ,:dependent => :destroy + + # add by zjc + has_one :level, :class_name => 'UserLevels', :dependent => :destroy + has_many :memos , :foreign_key => 'author_id' + ##### + scope :logged, lambda { where("#{User.table_name}.status <> #{STATUS_ANONYMOUS}") } + scope :status, lambda {|arg| where(arg.blank? ? nil : {:status => arg.to_i}) } + scope :visible, lambda {|*args| + nil + } + + + acts_as_customizable + ############################added by william + acts_as_taggable + scope :by_join_date, order("created_on DESC") + ############################# added by liuping 关注 + acts_as_watchable + + has_one :user_extensions,:dependent => :destroy + ## end + + # default_scope -> { includes(:user_extensions, :user_score) } + scope :teacher, -> { + joins(:user_extensions).where('user_extensions.identity = ?', UserExtensions::TEACHER) + } + scope :student, -> { + joins(:user_extensions).where('user_extensions.identity = ?', UserExtensions::STUDENT) + } + scope :developer, -> { + joins(:user_extensions).where('user_extensions.identity = ?', UserExtensions::DEVELOPER) + } + scope :enterprise, -> { + joins(:user_extensions).where('user_extensions.identity = ?', UserExtensions::ENTERPRISE) + } + + attr_accessor :password, :password_confirmation + attr_accessor :last_before_login_on + # Prevents unauthorized assignments + attr_protected :login, :admin, :password, :password_confirmation, :hashed_password + + LOGIN_LENGTH_LIMIT = 25 + MAIL_LENGTH_LIMIT = 60 + + validates_presence_of :login, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) } + validates_uniqueness_of :login, :if => Proc.new { |user| user.login_changed? && user.login.present? }, :case_sensitive => false + validates_uniqueness_of :mail, :if => Proc.new { |user| user.mail_changed? && user.mail.present? }, :case_sensitive => false + # Login must contain letters, numbers, underscores only + validates_format_of :login, :with => /\A[a-z0-9_\-@\.]*\z/i + validates_length_of :login, :maximum => LOGIN_LENGTH_LIMIT + validates_length_of :firstname, :maximum => 30 + validates_length_of :lastname, :maximum => 30 + validates_format_of :mail, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i, :allow_blank => true + validates_length_of :mail, :maximum => MAIL_LENGTH_LIMIT, :allow_nil => true + validates_confirmation_of :password, :allow_nil => true + validates_inclusion_of :mail_notification, :in => MAIL_NOTIFICATION_OPTIONS.collect(&:first), :allow_blank => true + validate :validate_password_length + # validates_email_realness_of :mail + before_create :set_mail_notification + before_save :update_hashed_password + before_destroy :remove_references_before_destroy + # added by fq + after_create :act_as_activity + # end + + scope :in_group, lambda {|group| + group_id = group.is_a?(Group) ? group.id : group.to_i + where("#{User.table_name}.id IN (SELECT gu.user_id FROM #{table_name_prefix}groups_users#{table_name_suffix} gu WHERE gu.group_id = ?)", group_id) + } + scope :not_in_group, lambda {|group| + group_id = group.is_a?(Group) ? group.id : group.to_i + where("#{User.table_name}.id NOT IN (SELECT gu.user_id FROM #{table_name_prefix}groups_users#{table_name_suffix} gu WHERE gu.group_id = ?)", group_id) + } + scope :sorted, lambda { order(*User.fields_for_order_statement)} + + scope :like, lambda {|arg, type| + if arg.blank? + where(nil) + else + pattern = "%#{arg.to_s.strip.downcase}%" + #where(" LOWER(concat(lastname, firstname)) LIKE :p ", :p => pattern) + if type == "0" + where(" LOWER(login) LIKE '#{pattern}' ") + elsif type == "1" + where(" LOWER(concat(lastname, firstname)) LIKE '#{pattern}' ") + elsif type == "3" + where(" LOWER(concat(lastname, firstname,login)) LIKE '#{pattern}' ") + else + where(" LOWER(mail) LIKE '#{pattern}' ") + end + end + } + + + # ====================================================================== + + def extensions + self.user_extensions ||= UserExtensions.new + end + + def user_score_attr + self.user_score ||= UserScore.new + end + + # ====================================================================== + + #选择项目成员时显示的用户信息文字 + def userInfo + if self.realname.gsub(' ','') == "" || self.realname.nil? + info = self.nickname; + else + info=self.nickname + ' (' + self.realname + ')'; + end + info + end + + ###添加留言 fq + def add_jour(user, notes, reference_user_id = 0, options = {}) + if options.count == 0 + self.journals_for_messages << JournalsForMessage.new(:user_id => user.id, :notes => notes, :reply_id => reference_user_id, :status => true) + else + jfm = self.journals_for_messages.build(options) + jfm.save + jfm + end + end + + # 判断用户是否加入了竞赛中 fq + def join_in_contest?(bid) + joined = JoinInContest.where('user_id = ? and bid_id =?', self.id, bid.id) + if joined.size > 0 + true + else + false + end + end + + ### fq + def join_in?(course) + joined = StudentsForCourse.where('student_id = ? and course_id = ?', self.id, course.id) + if joined.size > 0 + true + else + false + end + end + + def show_name + unless self.user_extensions.nil? + if self.user_extensions.identity == 2 + firstname + else + lastname+firstname + end + else + lastname+firstname + end + end + ## end + + def count_new_jour + count = self.new_jours.count + end + + #added by nie + def count_new_journal_reply + count = self.journal_reply.count + end + + def set_mail_notification + ##add byxianbo + thread=Thread.new do + self.mail_notification = Setting.default_notification_option if self.mail_notification.blank? + true + end + end + + def update_hashed_password + # update hashed_password if password was set + if self.password && self.auth_source_id.blank? + salt_password(password) + end + end + + alias :base_reload :reload + def reload(*args) + @name = nil + @projects_by_role = nil + @courses_by_role = nil + @membership_by_project_id = nil + base_reload(*args) + end + + def mail=(arg) + write_attribute(:mail, arg.to_s.strip) + end + + def identity_url=(url) + if url.blank? + write_attribute(:identity_url, '') + else + begin + write_attribute(:identity_url, OpenIdAuthentication.normalize_identifier(url)) + rescue OpenIdAuthentication::InvalidOpenId + # Invalid url, don't save + end + end + self.read_attribute(:identity_url) + end + + VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/i + # VALID_EMAIL_REGEX = /^[0-9a-zA-Z_-]+@[0-9a-zA-Z_-]+(\.[0-9a-zA-Z_-]+)+$/ + # Returns the user that matches provided login and password, or nil + #登录,返回用户名与密码匹配的用户 + def self.try_to_login(login, password) + login = login.to_s.lstrip.rstrip + password = password.to_s + + # Make sure no one can sign in with an empty login or password + return nil if login.empty? || password.empty? + if (login =~ VALID_EMAIL_REGEX) + user = find_by_mail(login) + else + user = find_by_login(login) + end + if user + # user is already in local database + #return nil unless user.active? + return nil unless user.check_password?(password) + else + # user is not yet registered, try to authenticate with available sources + attrs = AuthSource.authenticate(login, password) + if attrs + user = new(attrs) + user.login = login + user.language = Setting.default_language + if user.save + user.reload + logger.info("User '#{user.login}' created from external auth source: #{user.auth_source.type} - #{user.auth_source.name}") if logger && user.auth_source + end + end + end + if user && !user.new_record? + last_login_on = user.last_login_on.nil? ? '' : user.last_login_on.to_s + user.update_column(:last_login_on, Time.now) + end + [user, last_login_on] + rescue => text + raise text + end + + + def self.try_to_autologin(key) + user = Token.find_active_user('autologin', key, Setting.autologin.to_i) + if user + user.update_column(:last_login_on, Time.now) + user + end + end + + def self.name_formatter(formatter = nil) + USER_FORMATS[formatter || Setting.user_format] || USER_FORMATS[:firstname_lastname] + end + + # Returns an array of fields names than can be used to make an order statement for users + # according to how user names are displayed + # Examples: + # + # User.fields_for_order_statement => ['users.login', 'users.id'] + # User.fields_for_order_statement('authors') => ['authors.login', 'authors.id'] + def self.fields_for_order_statement(table=nil) + table ||= table_name + name_formatter[:order].map {|field| "#{table}.#{field}"} + end + + # Return user's full name for display + def realname(formatter = nil) + f = self.class.name_formatter(formatter) + if formatter + eval('"' + f[:string] + '"') + else + @name ||= eval('"' + f[:string] + '"') + end + end + + def nickname(formatter = nil) + login + end + + def name(formatter = nil) + login + end + + def active? + self.status == STATUS_ACTIVE + end + + def registered? + self.status == STATUS_REGISTERED + end + + def locked? + self.status == STATUS_LOCKED + end + + def activate + self.status = STATUS_ACTIVE + end + + def register + self.status = STATUS_REGISTERED + end + + def lock + self.status = STATUS_LOCKED + end + + def activate! + update_attribute(:status, STATUS_ACTIVE) + end + + def register! + update_attribute(:status, STATUS_REGISTERED) + end + + def lock! + update_attribute(:status, STATUS_LOCKED) + end + + # Returns true if +clear_password+ is the correct user's password, otherwise false + def check_password?(clear_password) + if auth_source_id.present? + auth_source.authenticate(self.login, clear_password) + else + User.hash_password("#{salt}#{User.hash_password clear_password}") == hashed_password + end + end + def check_password1?(clear_password) + + clear_password == hashed_password + + end + # Generates a random salt and computes hashed_password for +clear_password+ + # The hashed password is stored in the following form: SHA1(salt + SHA1(password)) + def salt_password(clear_password) + self.salt = User.generate_salt + self.hashed_password = User.hash_password("#{salt}#{User.hash_password clear_password}") + end + + # Does the backend storage allow this user to change their password? + def change_password_allowed? + return true if auth_source.nil? + return auth_source.allow_password_changes? + end + + # Generate and set a random password. Useful for automated user creation + # Based on Token#generate_token_value + # + def random_password + chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a + password = '' + 40.times { |i| password << chars[rand(chars.size-1)] } + self.password = password + self.password_confirmation = password + self + end + + def pref + self.preference ||= UserPreference.new(:user => self) + end + + def time_zone + @time_zone ||= (self.pref.time_zone.blank? ? nil : ActiveSupport::TimeZone[self.pref.time_zone]) + end + + def wants_comments_in_reverse_order? + self.pref[:comments_sorting] == 'desc' + end + + def wants_notificationcomments_in_reverse_order? + self.pref[:notificationcomments_sorting] == 'desc' + end + # Return user's RSS key (a 40 chars long string), used to access feeds + def rss_key + if rss_token.nil? + create_rss_token(:action => 'feeds') + end + rss_token.value + end + + # Return user's API key (a 40 chars long string), used to access the API + def api_key + if api_token.nil? + create_api_token(:action => 'api') + end + api_token.value + end + + # Return an array of project ids for which the user has explicitly turned mail notifications on + def notified_projects_ids + @notified_projects_ids ||= memberships.select {|m| m.mail_notification?}.collect(&:project_id) + end + + def notified_project_ids=(ids) + Member.update_all("mail_notification = #{connection.quoted_false}", ['user_id = ?', id]) + Member.update_all("mail_notification = #{connection.quoted_true}", ['user_id = ? AND project_id IN (?)', id, ids]) if ids && !ids.empty? + @notified_projects_ids = nil + notified_projects_ids + end + + def valid_notification_options + self.class.valid_notification_options(self) + end + + # Only users that belong to more than 1 project can select projects for which they are notified + def self.valid_notification_options(user=nil) + # Note that @user.membership.size would fail since AR ignores + # :include association option when doing a count + if user.nil? || user.memberships.length < 1 + MAIL_NOTIFICATION_OPTIONS.reject {|option| option.first == 'selected'} + else + MAIL_NOTIFICATION_OPTIONS + end + end + + # Find a user account by matching the exact login and then a case-insensitive + # version. Exact matches will be given priority. + #通过用户名查找相应的用户,若没有匹配到,则不区分大小写进行查询 + #修改:不再匹配不区分大小写情况 -zjc + def self.find_by_login(login) + if login.present? + login = login.to_s + # First look for an exact match + user = where(:login => login).all.detect {|u| u.login == login} + #unless user + # # Fail over to case-insensitive if none was found + # user = where("LOWER(login) = ?", login.downcase).first + #end + user + end + end + + def self.find_by_rss_key(key) + Token.find_active_user('feeds', key) + end + + def self.find_by_api_key(key) + Token.find_active_user('api', key) + end + + # Makes find_by_mail case-insensitive + def self.find_by_mail(mail) + where("LOWER(mail) = ?", mail.to_s.downcase).first + end + + # Returns true if the default admin account can no longer be used + def self.default_admin_account_changed? + !User.active.find_by_login("admin").try(:check_password?, "admin") + end + + def to_s + name + end + + CSS_CLASS_BY_STATUS = { + STATUS_ANONYMOUS => 'anon', + STATUS_ACTIVE => 'active', + STATUS_REGISTERED => 'registered', + STATUS_LOCKED => 'locked' + } + + def css_classes + "user #{CSS_CLASS_BY_STATUS[status]}" + end + + # Returns the current day according to user's time zone + def today + if time_zone.nil? + Date.today + else + Time.now.in_time_zone(time_zone).to_date + end + end + + # Returns the day of +time+ according to user's time zone + def time_to_date(time) + if time_zone.nil? + time.to_date + else + time.in_time_zone(time_zone).to_date + end + end + + def logged? + true + end + + def anonymous? + !logged? + end + + # Returns user's membership for the given project + # or nil if the user is not a member of project + def membership(project) + project_id = project.is_a?(Project) ? project.id : project + + @membership_by_project_id ||= Hash.new {|h, project_id| + h[project_id] = memberships.where(:project_id => project_id).first + } + @membership_by_project_id[project_id] + end + + def coursemembership(course) + course_id = course.is_a?(Course) ? course.id : course + + @membership_by_course_id ||= Hash.new {|h, course_id| + h[course_id] = coursememberships.where(:course_id => course_id).first + } + @membership_by_course_id[course_id] + end + + # Return user's roles for project + def roles_for_project(project) + roles = [] + # No role on archived projects + return roles if project.nil? || project.archived? + if logged? + # Find project membership + membership = membership(project) + if membership + roles = membership.roles + else + @role_non_member ||= Role.non_member + roles << @role_non_member + end + else + @role_anonymous ||= Role.anonymous + roles << @role_anonymous + end + roles + end + + # 用户课程权限判断 + def roles_for_course(course) + roles = [] + # No role on archived courses + return roles if course.nil? || course.archived? + if logged? + # Find course membership + membership = coursemembership(course) + if membership + roles = membership.roles + else + @role_non_member ||= Role.non_member + roles << @role_non_member + end + else + @role_anonymous ||= Role.anonymous + roles << @role_anonymous + end + roles + end + + # Return true if the user is a member of project + def member_of?(project) + projects.to_a.include?(project) + end + + def member_of_course?(course) + courses.to_a.include?(course) + end + + def member_of_course_group?(course_group) + course_groups.to_a.include?(course_group) + end + # Returns a hash of user's projects grouped by roles + def projects_by_role + return @projects_by_role if @projects_by_role + + @projects_by_role = Hash.new([]) + memberships.each do |membership| + if membership.project + membership.roles.each do |role| + @projects_by_role[role] = [] unless @projects_by_role.key?(role) + @projects_by_role[role] << membership.project + end + end + end + @projects_by_role.each do |role, projects| + projects.uniq! + end + + @projects_by_role + end + + # 课程的角色权限 + def courses_by_role + return @courses_by_role if @courses_by_role + + @courses_by_role = Hash.new([]) + coursememberships.each do |membership| + if membership.course + membership.roles.each do |role| + @courses_by_role[role] = [] unless @courses_by_role.key?(role) + @courses_by_role[role] << membership.course + end + end + end + @courses_by_role.each do |role, courses| + courses.uniq! + end + + @courses_by_role + end + # Returns true if user is arg or belongs to arg + def is_or_belongs_to?(arg) + if arg.is_a?(User) + self == arg + elsif arg.is_a?(Group) + arg.users.include?(self) + else + false + end + end + + + # Return true if the user is allowed to do the specified action on a specific context + # Action can be: + # * a parameter-like Hash (eg. :controller => 'projects', :action => 'edit') + # * a permission Symbol (eg. :edit_project) + # Context can be: + # * a project : returns true if user is allowed to do the specified action on this project + # * an array of projects : returns true if user is allowed on every project + # * nil with options[:global] set : check if user has at least one role allowed for this action, + # or falls back to Non Member / Anonymous permissions depending if the user is logged + def allowed_to?(action, context, options={}, &block) + if context && context.is_a?(Project) + return false unless context.allows_to?(action) + # Admin users are authorized for anything else + return true if admin? + + roles = roles_for_project(context) + return false unless roles + roles.any? {|role| + (context.is_public? || role.member?) && + role.allowed_to?(action) && + (block_given? ? yield(role, self) : true) + } + #添加课程相关的权限判断 + elsif context && context.is_a?(Course) + return false unless context.allows_to?(action) + # Admin users are authorized for anything else + return true if admin? + + roles = roles_for_course(context) + return false unless roles + roles.any? {|role| + (context.is_public? || role.member?) && + role.allowed_to?(action) && + (block_given? ? yield(role, self) : true) + } + elsif context && context.is_a?(Array) + if context.empty? + false + else + # Authorize if user is authorized on every element of the array + context.map {|project| allowed_to?(action, project, options, &block)}.reduce(:&) + end + elsif options[:global] + # Admin users are always authorized + return true if admin? + + # authorize if user has at least one role that has this permission + roles = memberships.collect {|m| m.roles}.flatten.uniq + if roles.count == 0 + roles = coursememberships.collect {|m| m.roles}.flatten.uniq + end + roles << (self.logged? ? Role.non_member : Role.anonymous) + roles.any? {|role| + role.allowed_to?(action) && + (block_given? ? yield(role, self) : true) + } + else + if admin? + return true + end + #无项目时 查看Non member(id为1)角色是否有权限执行action + Role.find('1').allowed_to?(action) + # false + end + end + + # Is the user allowed to do the specified action on any project? + # See allowed_to? for the actions and valid options. + def allowed_to_globally?(action, options, &block) + allowed_to?(action, nil, options.reverse_merge(:global => true), &block) + end + + # Returns true if the user is allowed to delete his own account + def own_account_deletable? + Setting.unsubscribe? && + (!admin? || User.active.where("admin = ? AND id <> ?", true, id).exists?) + end + + safe_attributes 'login', + 'firstname', + 'lastname', + 'mail', + 'mail_notification', + 'language', + 'custom_field_values', + 'custom_fields', + 'identity_url' + + safe_attributes 'status', + 'auth_source_id', + :if => lambda {|user, current_user| current_user.admin?} + + safe_attributes 'group_ids', + :if => lambda {|user, current_user| current_user.admin? && !user.new_record?} + + # Utility method to help check if a user should be notified about an + # event. + # + # TODO: only supports Issue events currently + def notify_about?(object) + if mail_notification == 'all' + true + elsif mail_notification.blank? || mail_notification == 'none' + false + else + case object + when Issue + case mail_notification + when 'selected', 'only_my_events' + # user receives notifications for created/assigned issues on unselected projects + object.author == self || is_or_belongs_to?(object.assigned_to) || is_or_belongs_to?(object.assigned_to_was) + when 'only_assigned' + is_or_belongs_to?(object.assigned_to) || is_or_belongs_to?(object.assigned_to_was) + when 'only_owner' + object.author == self + end + when News + # always send to project members except when mail_notification is set to 'none' + true + #判定用户是否接受留言提醒邮件 + when JournalsForMessage + ##如果是直接留言并且留言对象是Project并且Project类型是课程(课程留言) + if !object.at_user && object.jour.class.to_s.to_sym == :Project && object.jour.project_type == 1 + #根据用户设置邮件接收模式判定当前用户是否接受邮件提醒 + is_notified_project object.jour + end + + end + end + end + + #用户是否接收project的消息提醒 + def is_notified_project arg + if arg.is_a?(Project) + case mail_notification + when 'selected' + notified_projects_ids.include?(arg.id) + when 'only_my_events' + projects.include?(arg) + when 'only_assigned' + false + when 'only_owner' + course = Course.find_by_extra(arg.identifier) + course.teacher == self + end + #勾选的项目或用户的项目 TODO:需改 + #notified_projects_ids.include?(arg) || projects.include?(arg) + else + false + end + end + + def self.current=(user) + Thread.current[:current_user] = user + end + + def self.current + Thread.current[:current_user] ||= User.anonymous + end + + # Returns the anonymous user. If the anonymous user does not exist, it is created. There can be only + # one anonymous user per database. + def self.anonymous + anonymous_user = AnonymousUser.first + if anonymous_user.nil? + anonymous_user = AnonymousUser.create(:lastname => 'Anonymous', :firstname => '', :mail => '', :login => '', :status => 0) + raise 'Unable to create the anonymous user.' if anonymous_user.new_record? + end + anonymous_user + end + + # Salts all existing unsalted passwords + # It changes password storage scheme from SHA1(password) to SHA1(salt + SHA1(password)) + # This method is used in the SaltPasswords migration and is to be kept as is + def self.salt_unsalted_passwords! + transaction do + User.where("salt IS NULL OR salt = ''").find_each do |user| + next if user.hashed_password.blank? + salt = User.generate_salt + hashed_password = User.hash_password("#{salt}#{user.hashed_password}") + User.where(:id => user.id).update_all(:salt => salt, :hashed_password => hashed_password) + end + end + end + + protected + + def validate_password_length + # Password length validation based on setting + if !password.nil? && password.size < Setting.password_min_length.to_i + errors.add(:password, :too_short, :count => Setting.password_min_length.to_i) + end + end + private + + def act_as_activity + self.acts << Activity.new(:user_id => self.id) + end + + # Removes references that are not handled by associations + # Things that are not deleted are reassociated with the anonymous user + def remove_references_before_destroy + return if self.id.nil? + + substitute = User.anonymous + Attachment.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] + Comment.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] + Notificationcomment.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] + Issue.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] + Issue.update_all 'assigned_to_id = NULL', ['assigned_to_id = ?', id] + Journal.update_all ['user_id = ?', substitute.id], ['user_id = ?', id] + JournalDetail.update_all ['old_value = ?', substitute.id.to_s], ["property = 'attr' AND prop_key = 'assigned_to_id' AND old_value = ?", id.to_s] + JournalDetail.update_all ['value = ?', substitute.id.to_s], ["property = 'attr' AND prop_key = 'assigned_to_id' AND value = ?", id.to_s] + Message.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] + News.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] + # Remove private queries and keep public ones + ::Query.delete_all ['user_id = ? AND is_public = ?', id, false] + ::Query.update_all ['user_id = ?', substitute.id], ['user_id = ?', id] + TimeEntry.update_all ['user_id = ?', substitute.id], ['user_id = ?', id] + Token.delete_all ['user_id = ?', id] + Watcher.delete_all ['user_id = ?', id] + WikiContent.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] + WikiContent::Version.update_all ['author_id = ?', substitute.id], ['author_id = ?', id] + end + + # Return password digest + def self.hash_password(clear_password) + Digest::SHA1.hexdigest(clear_password || "") + end + + # Returns a 128bits random salt as a hex string (32 chars long) + def self.generate_salt + Redmine::Utils.random_hex(16) + end + + + +end + +class AnonymousUser < User + validate :validate_anonymous_uniqueness, :on => :create + + def validate_anonymous_uniqueness + # There should be only one AnonymousUser in the database + errors.add :base, 'An anonymous user already exists.' if AnonymousUser.exists? + end + + def available_custom_fields + [] + end + + # Overrides a few properties + def logged?; false end + def admin; false end + def name(*args); I18n.t(:label_user_anonymous) end + def mail; nil end + def time_zone; nil end + def rss_key; nil end + + def pref + UserPreference.new(:user => self) + end + + # def member_of?(project) + # false + # end + + # Anonymous user can not be destroyed + def destroy + false + end +end diff --git a/app/models/user_extensions.rb b/app/models/user_extensions.rb index 09c88e6df..d9a0f520a 100644 --- a/app/models/user_extensions.rb +++ b/app/models/user_extensions.rb @@ -1,86 +1,86 @@ -# encoding: utf-8 -=begin - identity字段含义 - 0 教师教授 - 1 学生 - 2 企业 - 3 开发者 -=end -class UserExtensions < ActiveRecord::Base - validate :school, presence: true - - belongs_to :user - belongs_to :school, :class_name => 'School', :foreign_key => :school_id - attr_accessible :user_id,:birthday,:brief_introduction,:gender,:location,:occupation,:work_experience,:zip_code,:identity, :technical_title,:student_id - TEACHER = 0 - STUDENT = 1 - ENTERPRISE = 2 - DEVELOPER = 3 - #this method was used to update the table user_extensions - def update_user_extensions(birthday=nil,brief_introduction=nil, - gender=nil,location=nil,occupation=nil,work_experience=nil,zip_code=nil) - self.birthday = birthday - self.brief_introduction = brief_introduction - self.gender = gender - self.location = location - self.occupation = occupation - self.work_experience = work_experience - self.zip_code = zip_code - self.save - end - - def get_brief_introduction - return self.brief_introduction - end - - -# added by meng - def show_identity - if User.current.language == 'zh'||User.current.language == '' - case self.identity - when 0 - user_identity = l(:label_account_identity_teacher) - when 1 - user_identity = l(:label_account_identity_student) - when 2 - user_identity = l(:label_account_identity_enterprise) - when 3 - user_identity = l(:label_account_identity_developer) - else - user_identity = '' - end - else - case self.identity - when 0 - user_identity = l(:label_account_identity_teacher) - when 1 - user_identity = l(:label_account_identity_student) - when 2 - user_identity = l(:label_account_identity_enterprise) - when 3 - user_identity = l(:label_account_identity_developer) - else - user_identity = '' - end - end - return user_identity - end -# end - - - def self.introduction(user, message) - unless user.user_extensions.nil? - info = user.user_extensions - info.brief_introduction = message - info.save - else - info = UserExtensions.new - info.user_id = user.id - info.brief_introduction = message - info.save - end - end - - - -end +# encoding: utf-8 +=begin + identity字段含义 + 0 教师教授 + 1 学生 + 2 企业 + 3 开发者 +=end +class UserExtensions < ActiveRecord::Base + validate :school, presence: true + + belongs_to :user + belongs_to :school, :class_name => 'School', :foreign_key => :school_id + attr_accessible :user_id,:birthday,:brief_introduction,:gender,:location,:occupation,:work_experience,:zip_code,:identity, :technical_title,:student_id + TEACHER = 0 + STUDENT = 1 + ENTERPRISE = 2 + DEVELOPER = 3 + #this method was used to update the table user_extensions + def update_user_extensions(birthday=nil,brief_introduction=nil, + gender=nil,location=nil,occupation=nil,work_experience=nil,zip_code=nil) + self.birthday = birthday + self.brief_introduction = brief_introduction + self.gender = gender + self.location = location + self.occupation = occupation + self.work_experience = work_experience + self.zip_code = zip_code + self.save + end + + def get_brief_introduction + return self.brief_introduction + end + + +# added by meng + def show_identity + if User.current.language == 'zh'||User.current.language == '' + case self.identity + when 0 + user_identity = l(:label_account_identity_teacher) + when 1 + user_identity = l(:label_account_identity_student) + when 2 + user_identity = l(:label_account_identity_enterprise) + when 3 + user_identity = l(:label_account_identity_developer) + else + user_identity = '' + end + else + case self.identity + when 0 + user_identity = l(:label_account_identity_teacher) + when 1 + user_identity = l(:label_account_identity_student) + when 2 + user_identity = l(:label_account_identity_enterprise) + when 3 + user_identity = l(:label_account_identity_developer) + else + user_identity = '' + end + end + return user_identity + end +# end + + + def self.introduction(user, message) + unless user.user_extensions.nil? + info = user.user_extensions + info.brief_introduction = message + info.save + else + info = UserExtensions.new + info.user_id = user.id + info.brief_introduction = message + info.save + end + end + + + +end diff --git a/app/views/attachments/destroy.js.erb b/app/views/attachments/destroy.js.erb index 4893d22fe..d2a3a11a1 100644 --- a/app/views/attachments/destroy.js.erb +++ b/app/views/attachments/destroy.js.erb @@ -1,8 +1,8 @@ -$('#attachments_<%= j params[:attachment_id] %>').remove(); -var count=$('#attachments_fields>span').length; -if(count<=0){ - $("#upload_file_count").text(<%= l(:label_no_file_uploaded)%>); - $(".remove_all").remove(); -}else{ - $("#upload_file_count").html("已上传"+""+count+""+"个文件"); +$('#attachments_<%= j params[:attachment_id] %>').remove(); +var count=$('#attachments_fields>span').length; +if(count<=0){ + $("#upload_file_count").text(<%= l(:label_no_file_uploaded)%>); + $(".remove_all").remove(); +}else{ + $("#upload_file_count").html("已上传"+""+count+""+"个文件"); } \ No newline at end of file diff --git a/app/views/bids/_bid_homework_show.html.erb b/app/views/bids/_bid_homework_show.html.erb index 9e086ef1b..3e79c3f1b 100644 --- a/app/views/bids/_bid_homework_show.html.erb +++ b/app/views/bids/_bid_homework_show.html.erb @@ -1,201 +1,201 @@ - - - - -<% if bids.blank? %> -<%#= l(:label_uncommit_homework) %> -暂无作业! -<% else %> -<% bids.each do |bid|%> - - - - - -
- <%= link_to(image_tag(url_to_avatar(bid.author), :class => 'avatar'), user_path(bid.author), :class => "avatar") %> - - - - - - - - - - - - - - - - - - -
- - <%= link_to(bid.author.lastname+bid.author.firstname, user_path(bid.author)) %> - - - <%= l(:label_user_create_project_homework) %> - - - <%= link_to(bid.name, course_for_bid_path(bid), :class => 'bid_path') %> - - - - <% if User.current.logged? && is_cur_course_student(@course) %> - <% cur_user_homework = cur_user_homework_for_bid(bid) %> - - <% if bid.open_anonymous_evaluation == 1 %> - <% case bid.comment_status %> - <% when 0 %> - 未开启匿评 - <% when 1 %> -   匿评中..   - <% when 2 %> -   匿评结束   - <% end %> - <% end%> - - <% if cur_user_homework && cur_user_homework.empty? %> - - <%= link_to l(:label_commit_homework),new_exercise_book_path(bid) %> - - <% else %> - - 已 提 交 - - <% end %> - <% end %> - <% if (User.current.admin?||User.current.allowed_to?(:as_teacher,@course)) %> - <% if bid.open_anonymous_evaluation == 1 && bid.homeworks.count >= 2%> - - <% case bid.comment_status %> - <% when 0 %> - <%= link_to '启动匿评', alert_anonymous_comment_bid_path(bid), id: "#{bid.id}_start_anonymous_comment", remote: true, disable_with: '加载中...' %> - <% when 1 %> - <%= link_to '关闭匿评', alert_anonymous_comment_bid_path(bid), id: "#{bid.id}_stop_anonymous_comment", remote: true %> - <% when 2 %> - 匿评结束 - <% end %> - - <%end%> - - <%= link_to( - l(:button_edit), - {:action => 'edit', :controller=>'bids', :course_id =>@course.id, :bid_id => bid.id} - ) %> - - <%#= link_to( - l(:button_delete), - {:action => 'homework_destroy', :controller=>'bids', :course_id => bid.id}, - :method => :post, - :data => {:confirm => l(:text_are_you_sure)}, - :class => 'icon icon-del' - ) %> - <% end %> - -
- - <% bidding_project = bid.biding_projects.all - temp = [] - bidding_project.each do |pro| - if pro.project && pro.project.project_status - temp << pro - end - temp - end - %> - <% if bid.homework_type == 1%> - <%= l(:label_x_homework_project, :count => bid.homeworks.count) %> - ( - - <%= link_to bid.homeworks.count, course_for_bid_path(bid.id) %> - ) - <% else %> - <%= l(:label_x_homework_project, :count => temp.count) %> - ( - - <%= link_to temp.count, course_for_bid_path(bid.id) %> - ) - <% end %> - -
- <% if bid.reward_type.nil? or bid.reward_type == 1 %> - - <%= l(:label_bids_reward_method) %> - - <%= l(:label_call_bonus) %> -   - <%= l(:label_RMB_sign) %> - <%= bid.budget%> - - - <% elsif bid.reward_type == 2 %> - - <%= l(:label_bids_reward_method) %> - - <%= bid.budget%> - - - <% end %> -
- - <%=h sanitize(bid.description.html_safe) %> - -
- - <%= l(:label_end_time) %> - :  - <%= bid.deadline %> - - - <% if betweentime(bid.deadline) < 0 %> - - <%= l(:label_commit_limit)%> - - <% else %> - - - - <% end %> - -
-<% end %> -<% end %> - + <% end %> + + +<% else %> +
+

<%=l(:label_current_attendingcontest_work)%>

+
+ <% if Softapplication.count > 0%> +
+ <% find_all_hot_softapplication.map do |softapplication| break if(softapplication == find_all_hot_softapplication[5]) %> + +
  • +
    + <%= image_tag('/images/app1.png')%> +
    +
    + <%= link_to(softapplication.name, softapplication_path(softapplication.id), :class => "d-g-blue d-p-project-name", :title => "#{softapplication.name}", :target => "_blank") %> +
    + +
    + > + <%=softapplication.description.to_s.truncate(50, omission: '...')%> + +

    -
    -

    - <%=l(:label_issue_feedback_activities)%> - <%= link_to l(:label_my_question), newbie_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%> - <%= link_to l(:label_my_feedback), suggestion_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%> -

    - <%= link_to l(:label_more_information), forums_path %> -
    -
      - <% find_new_forum_topics(9 - @contest_notifications.count).each do |topic|%> -
    • -
      +
      + + <%=l(:label_release_time)%>:  + <%=format_time softapplication.created_at %> + +
      + +
    • + <% end; reset_cycle %> + +
    + <% else %> +

    + <%= l(:label_no_ftapplication) %> +

    + <% end %> +
    +
  • + + + +
    +

    + <%=l(:label_issue_feedback_activities)%> + <%= link_to l(:label_my_question), newbie_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%> + <%= link_to l(:label_my_feedback), suggestion_send_path, {:class => 'orangeButton idea_btn', :style => "color: #EEEEEE" }%> +

    + <%= link_to l(:label_more_information), forums_path %> +
    +
      + <% find_new_forum_topics(9 - @contest_notifications.count).each do |topic|%> +
    • +
            <%= link_to '['+topic.forum.name + ']',forum_path(topic.forum),:class => 'memo_Bar_title' %> <%= link_to topic.subject.truncate(30, omission: '...'), topic.event_url, :class => "gray" , :style => "font-size: 10pt !important;" %> @@ -333,11 +416,15 @@
    - - <% end %> - -
    -
    + + <% end %> + +
    + +<% end%> + + +
    diff --git a/app/views/welcome/course.html.erb b/app/views/welcome/course.html.erb index 5c57a5ba1..cbceec2c7 100644 --- a/app/views/welcome/course.html.erb +++ b/app/views/welcome/course.html.erb @@ -57,7 +57,6 @@
    From 7e833a472785d0a4ace534af211f541c3fa3b7a7 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Fri, 24 Apr 2015 17:41:18 +0800 Subject: [PATCH 058/320] =?UTF-8?q?=E7=BC=BA=E9=99=B7=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/application_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index fed074bdb..3feb49547 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -329,7 +329,7 @@ module ApplicationHelper imagesize = attachment.thumbnail(:size => "50*50") imagepath = named_attachment_path(attachment, attachment.filename) if imagesize - link_to image_tag(thumbnail_path(attachment,"50")), + link_to image_tag(thumbnail_path(attachment), height: '73', width: '100'), imagepath, :title => attachment.filename else From db8b79f3b4d2141129cf2c92d2af7955d6013935 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 27 Apr 2015 11:42:01 +0800 Subject: [PATCH 059/320] =?UTF-8?q?=E9=80=80=E5=87=BA=E9=A1=B9=E7=9B=AE/?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=B8=89=E7=A7=8D=E6=A8=A1=E5=BC=8F=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=9D=83=E9=99=90=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/_join_exit_project.html.erb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/views/layouts/_join_exit_project.html.erb b/app/views/layouts/_join_exit_project.html.erb index 67744e4b8..1d302babf 100644 --- a/app/views/layouts/_join_exit_project.html.erb +++ b/app/views/layouts/_join_exit_project.html.erb @@ -10,6 +10,10 @@ <% if User.current.admin? || User.current.allowed_to?({:controller => 'projects', :action => 'settings'}, @project) %> <%= link_to "#{l(:button_configure)}".html_safe, settings_project_path(@project), :class => "pr_join_a" %> + <% end %> + <% if Member.where(:user_id => User.current.id, :project_id=>@project.id).first.roles.first.to_s.include?("Manager") || User.current.admin? %> <%= link_to "#{text}".html_safe,"javascript:void(0)" ,:onClick => "show_window();", :class => "pr_join_a",:id => "setting_project_type"%> + <% else %> + <%= exit_project_link(@project) %> <% end %> From 3baba9c95e1d75a1064207af1dfdc9ac71db10e4 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Mon, 27 Apr 2015 11:56:10 +0800 Subject: [PATCH 060/320] =?UTF-8?q?=E6=B8=85=E7=90=86gemfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + Gemfile | 47 +------------------------------------------- lib/tasks/ctags.rake | 4 ++++ 3 files changed, 6 insertions(+), 46 deletions(-) create mode 100644 lib/tasks/ctags.rake diff --git a/.gitignore b/.gitignore index 96788ad9a..5e8a94339 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ vendor/cache /files /public/images/avatars /public/files +/tags diff --git a/Gemfile b/Gemfile index d5fe6c581..0103a18b5 100644 --- a/Gemfile +++ b/Gemfile @@ -6,6 +6,7 @@ unless RUBY_PLATFORM =~ /w32/ gem 'iconv' end +gem "mysql2", "= 0.3.18" gem 'redis-rails' gem 'rubyzip' gem 'delayed_job_active_record'#, :group => :production @@ -22,9 +23,6 @@ gem "builder", "3.0.0" gem 'acts-as-taggable-on', '2.4.1' gem 'spreadsheet' gem 'ruby-ole' -#gem 'email_verifier', path: 'lib/email_verifier' -gem 'rufus-scheduler' -#gem 'dalli', path: 'lib/dalli-2.7.2' gem 'rails_kindeditor',path:'lib/rails_kindeditor' group :development do gem 'grape-swagger' @@ -84,56 +82,13 @@ group :openid do gem "rack-openid" end -# Optional gem for exporting the gantt to a PNG file, not supported with jruby -platforms :jruby do - # jruby-openssl is bundled with JRuby 1.7.0 - gem "jruby-openssl" if Object.const_defined?(:JRUBY_VERSION) && JRUBY_VERSION < '1.7.0' - gem "activerecord-jdbc-adapter", "1.2.5" -end -# Include database gems for the adapters found in the database -# configuration file -require 'erb' -require 'yaml' database_file = File.join(File.dirname(__FILE__), "config/database.yml") if File.exist?(database_file) - database_config = YAML::load(ERB.new(IO.read(database_file)).result) - adapters = database_config.values.map {|c| c['adapter']}.compact.uniq - if adapters.any? - adapters.each do |adapter| - case adapter - when 'mysql2' - gem "mysql2", "= 0.3.18", :platforms => [:mri, :mingw] - gem "activerecord-jdbcmysql-adapter", :platforms => :jruby - when 'mysql' - gem "mysql", "~> 2.8.1", :platforms => [:mri, :mingw] - gem "activerecord-jdbcmysql-adapter", :platforms => :jruby - when /postgresql/ - gem "pg", ">= 0.11.0", :platforms => [:mri, :mingw] - gem "activerecord-jdbcpostgresql-adapter", :platforms => :jruby - when /sqlite3/ - gem "sqlite3", :platforms => [:mri, :mingw] - gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby - when /sqlserver/ - gem "tiny_tds", "~> 0.5.1", :platforms => [:mri, :mingw] - gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw] - else - warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems") - end - end - else - warn("No adapter found in config/database.yml, please configure it first") - end else warn("Please configure your config/database.yml first") end -local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local") -if File.exists?(local_gemfile) - puts "Loading Gemfile.local ..." if $DEBUG # `ruby -d` or `bundle -v` - instance_eval File.read(local_gemfile) -end - # Load plugins' Gemfiles Dir.glob File.expand_path("../plugins/*/Gemfile", __FILE__) do |file| puts "Loading #{file} ..." if $DEBUG # `ruby -d` or `bundle -v` diff --git a/lib/tasks/ctags.rake b/lib/tasks/ctags.rake new file mode 100644 index 000000000..c62d634dc --- /dev/null +++ b/lib/tasks/ctags.rake @@ -0,0 +1,4 @@ +desc "rerun ctags on current project" +task :ctags do + %x{ ctags --exclude=.git --exclude='*.log' -R * `bundle show --paths` } +end From 24ce5191c324e021f5913b7d9efa5933fbbb0db0 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Mon, 27 Apr 2015 12:04:08 +0800 Subject: [PATCH 061/320] =?UTF-8?q?zip=E6=89=93=E5=8C=85=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E6=9C=89=E4=B9=B1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/zipdown_controller.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/zipdown_controller.rb b/app/controllers/zipdown_controller.rb index df354f107..1d03ef629 100644 --- a/app/controllers/zipdown_controller.rb +++ b/app/controllers/zipdown_controller.rb @@ -180,6 +180,7 @@ class ZipdownController < ApplicationController def zipping(zip_name_refer, files_paths, output_path, is_attachment=false, not_exist_file=[]) + ic = Iconv.new('GBK//IGNORE', 'UTF-8//IGNORE') rename_zipfile = zip_name_refer ||= "#{Time.now.to_i.to_s}.zip" zipfile_name = "#{output_path}/#{rename_zipfile}" @@ -189,7 +190,7 @@ class ZipdownController < ApplicationController rename_file = File.basename(filename) rename_file = filename_to_real( File.basename(filename)) if is_attachment begin - zipfile.add(rename_file, filename) + zipfile.add(ic.iconv(rename_file), filename) rescue Exception => e zipfile.get_output_stream('FILE_NOTICE.txt'){|os| os.write l(:label_file_exist)} next @@ -238,4 +239,4 @@ class ZipdownController < ApplicationController attach = Attachment.find_by_disk_filename(name) attach.filename end -end \ No newline at end of file +end From 020e544b38a0fb9bb48e97bb1682c1793c1593e8 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 27 Apr 2015 14:34:37 +0800 Subject: [PATCH 062/320] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE--?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=8F=8D=E9=A6=88--=E4=B8=A4=E5=B1=82?= =?UTF-8?q?=E5=9B=9E=E5=A4=8D=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/words/_new_respond.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/words/_new_respond.html.erb b/app/views/words/_new_respond.html.erb index 34e7c1ccf..243f8b2c4 100644 --- a/app/views/words/_new_respond.html.erb +++ b/app/views/words/_new_respond.html.erb @@ -1,5 +1,5 @@ <%= form_tag(words_create_reply_path, :remote => true) do %> - <%= text_area_tag 'user_notes', "", :class => 'noline', + <%= text_area_tag 'user_notes', "", :class => 'w520 h50 mb5', :style => "resize: none;", :rows => 4, :placeholder => l(:label_feedback_respond_content), :maxlength => 250 %> @@ -9,7 +9,7 @@ <%= hidden_field_tag 'reference_message_id', params[:reference_message_id], :value => m_reply_id.id %> <%= hidden_field_tag 'show_name',params[:show_name],:value => show_name.nil? ? true : show_name %> <%= submit_tag l(:button_feedback_respond), :name => nil , - :class => "enterprise", + :class => "reply_btn", :style => "float: right; margin-top: 1px; margin-right: 4px;"%> <% end %> \ No newline at end of file From 56f6fa0d8622857f1cf97b6bf7f0002d11a90d84 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Mon, 27 Apr 2015 14:36:11 +0800 Subject: [PATCH 063/320] =?UTF-8?q?=E8=AE=BE=E7=BD=AEzip=E6=94=AF=E6=8C=81?= =?UTF-8?q?unicode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/zipdown_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/zipdown_controller.rb b/app/controllers/zipdown_controller.rb index 1d03ef629..c1695e384 100644 --- a/app/controllers/zipdown_controller.rb +++ b/app/controllers/zipdown_controller.rb @@ -180,9 +180,9 @@ class ZipdownController < ApplicationController def zipping(zip_name_refer, files_paths, output_path, is_attachment=false, not_exist_file=[]) - ic = Iconv.new('GBK//IGNORE', 'UTF-8//IGNORE') rename_zipfile = zip_name_refer ||= "#{Time.now.to_i.to_s}.zip" zipfile_name = "#{output_path}/#{rename_zipfile}" + Zip.unicode_names = true Dir.mkdir(File.dirname(zipfile_name)) unless File.exist?(File.dirname(zipfile_name)) Zip::File.open(zipfile_name, Zip::File::CREATE) do |zipfile| @@ -190,7 +190,7 @@ class ZipdownController < ApplicationController rename_file = File.basename(filename) rename_file = filename_to_real( File.basename(filename)) if is_attachment begin - zipfile.add(ic.iconv(rename_file), filename) + zipfile.add(rename_file, filename) rescue Exception => e zipfile.get_output_stream('FILE_NOTICE.txt'){|os| os.write l(:label_file_exist)} next From eba638b42e32b5bb0ecf294cf46b08ad77cf7d9b Mon Sep 17 00:00:00 2001 From: whimlex Date: Mon, 27 Apr 2015 14:41:27 +0800 Subject: [PATCH 064/320] =?UTF-8?q?=E9=97=AE=E9=A2=98=E8=B7=9F=E8=B8=AA?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E3=80=81=E6=9B=B4=E6=96=B0=E7=9A=84=E6=9D=83?= =?UTF-8?q?=E9=99=90=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/issues/_action_menu.html.erb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/app/views/issues/_action_menu.html.erb b/app/views/issues/_action_menu.html.erb index 49ea0d57e..94f1c6556 100644 --- a/app/views/issues/_action_menu.html.erb +++ b/app/views/issues/_action_menu.html.erb @@ -3,8 +3,6 @@ <%#= link_to l(:button_copy), project_copy_issue_path(@project, @issue), :class => 'icon icon-copy' if User.current.allowed_to?(:add_issues, @project) %> <%= link_to l(:button_delete), issue_path(@issue.id), :data => {:confirm => issues_destroy_confirmation_message(@issue)}, :method => :delete, :class => 'talk_edit fr' if User.current.allowed_to?(:delete_issues, @project) %> -<% if (@issue.author == User.current) || (User.current.admin?) %> - <%= link_to l(:button_edit), edit_issue_path(@issue), :onclick => 'showAndScrollTo("all_attributes", "issue_notes"); return false;', :class => 'talk_edit fr', :accesskey => accesskey(:edit) if @issue.editable? %> -<% else %> - <%= link_to l(:label_user_newfeedback), edit_issue_path(@issue), :onclick => 'showAndScrollTo("update", "issue_notes"); return false;', :class => 'talk_edit fr', :accesskey => accesskey(:edit) if @issue.editable? %> -<% end %> \ No newline at end of file + + <%= link_to l(:button_edit), edit_issue_path(@issue), :onclick => 'showAndScrollTo("all_attributes", "issue_notes"); return false;', :class => 'talk_edit fr', :accesskey => accesskey(:edit) if @issue.editable? && User.current.allowed_to?(:edit_issues, @project) %> + <%= link_to l(:label_user_newfeedback), edit_issue_path(@issue), :onclick => 'showAndScrollTo("update", "issue_notes"); return false;', :class => 'talk_edit fr', :accesskey => accesskey(:edit) if @issue.editable? && User.current.allowed_to?(:add_issue_notes, @project) %> From f9aaaf38f9c795e3992a0471c6c1822f3ed83394 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Mon, 27 Apr 2015 14:54:01 +0800 Subject: [PATCH 065/320] =?UTF-8?q?=E6=89=93=E7=88=86=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AD=97=E7=AC=A6=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/zipdown_controller.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/controllers/zipdown_controller.rb b/app/controllers/zipdown_controller.rb index df354f107..0b7357ff2 100644 --- a/app/controllers/zipdown_controller.rb +++ b/app/controllers/zipdown_controller.rb @@ -180,14 +180,17 @@ class ZipdownController < ApplicationController def zipping(zip_name_refer, files_paths, output_path, is_attachment=false, not_exist_file=[]) + ic = Iconv.new('GBK//IGNORE', 'UTF-8//IGNORE') + rename_zipfile = zip_name_refer ||= "#{Time.now.to_i.to_s}.zip" zipfile_name = "#{output_path}/#{rename_zipfile}" Dir.mkdir(File.dirname(zipfile_name)) unless File.exist?(File.dirname(zipfile_name)) Zip::File.open(zipfile_name, Zip::File::CREATE) do |zipfile| files_paths.each do |filename| - rename_file = File.basename(filename) - rename_file = filename_to_real( File.basename(filename)) if is_attachment + rename_file = ic.iconv( (File.basename(filename)) ).to_s + rename_file = ic.iconv( filename_to_real( File.basename(filename))).to_s if is_attachment + begin zipfile.add(rename_file, filename) rescue Exception => e From a23231ea7b55286619e725bc626b29af820f92a4 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Mon, 27 Apr 2015 15:29:09 +0800 Subject: [PATCH 066/320] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E4=BD=9C=E5=93=81=E6=97=B6=E7=9A=84=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/homework_attach/new.html.erb | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/app/views/homework_attach/new.html.erb b/app/views/homework_attach/new.html.erb index 8697ff7ab..cf182716e 100644 --- a/app/views/homework_attach/new.html.erb +++ b/app/views/homework_attach/new.html.erb @@ -72,7 +72,7 @@ <%= f.text_field "name", :required => true, :size => 60, :class => "w430 bo", :maxlength => 254, :placeholder => "作品名称", :onkeyup => "regexName();" %>

    -

    +

    <%= f.text_area "description", :class => "w620", :maxlength => 3000, :style => "width:430px", :placeholder => "最多3000个汉字", :onkeyup => "regexDescription();"%> -
    - +

    -

    - -

    - <%= render :partial => 'attachments/form' %> -

    +
    +

    +    添加附件    :

    +
    + <%= render :partial => 'attachments/form' %> +
    +

    - <% if ( !(User.current.member_of? @project) && User.current.login?) %> + <% if ( !(User.current.member_of? @project) && User.current.login?) && !User.current.admin %> <%= watcher_link_for_project(@project, User.current) %> <% end %> - <% if ( !(User.current.member_of? @project) && User.current.login?) %> + <% if ( !(User.current.member_of? @project) && User.current.login?) && !User.current.admin %> <%= join_in_project_link(@project, User.current) %> <% end %> - + <% if User.current.admin? || User.current.allowed_to?({:controller => 'projects', :action => 'settings'}, @project) %> <%= link_to "#{l(:button_configure)}".html_safe, settings_project_path(@project), :class => "pr_join_a" %> <% end %> - <% if Member.where(:user_id => User.current.id, :project_id=>@project.id).first.roles.first.to_s.include?("Manager") || User.current.admin? %> + + <% if Member.where(:project_id => @project.id).first.roles.first.to_s.include?("Manager") || User.current.admin? %> <%= link_to "#{text}".html_safe,"javascript:void(0)" ,:onClick => "show_window();", :class => "pr_join_a",:id => "setting_project_type"%> - <% else %> + <% end %> + + <% if (User.current.member_of? @project) && User.current.login? && + Member.where(:user_id => User.current.id, :project_id=>@project.id).first.roles.first.to_s != "Manager" %> <%= exit_project_link(@project) %> <% end %>
    From 03044d0190008c1914ff3d2e3d0e379e192080d7 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Mon, 27 Apr 2015 15:59:22 +0800 Subject: [PATCH 068/320] =?UTF-8?q?=E8=AF=BE=E7=A8=8B--=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E5=BA=93=EF=BC=9A=E5=8A=A0=E7=B2=97=E4=B8=8A=E4=BC=A0=E8=AF=BE?= =?UTF-8?q?=E4=BB=B6=E5=88=86=E7=B1=BB=E5=AD=97=E6=A0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/files/_course_file.html.erb | 10 +++++----- public/stylesheets/public.css | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/views/files/_course_file.html.erb b/app/views/files/_course_file.html.erb index 7b2acd875..1769b1a45 100644 --- a/app/views/files/_course_file.html.erb +++ b/app/views/files/_course_file.html.erb @@ -62,11 +62,11 @@

    上传: - 课件 |  - 软件 |  - 媒体 |  - 代码 |  - 其他 + 课件 |  + 软件 |  + 媒体 |  + 代码 |  + 其他

    <% end %> diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css index e07efadd5..4f65a17c1 100644 --- a/public/stylesheets/public.css +++ b/public/stylesheets/public.css @@ -296,6 +296,7 @@ a:hover.close_btn {background-position:-66px 0;} .hiddent{ overflow:hidden; white-space: nowrap; text-overflow:ellipsis;} .break_word_firefox{white-space: pre-wrap;word-break: break-all;} +.font_bold{font-weight: bold;} /***** Ajax indicator ******/ From 86347cab8924b8538fe276964f414baff34c83c8 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Mon, 27 Apr 2015 16:44:53 +0800 Subject: [PATCH 069/320] =?UTF-8?q?=E7=8E=B0=E5=9C=A8=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=80=9A=E8=BF=87rake=20redmine:email:test[guange]=20=E5=8F=91?= =?UTF-8?q?=E9=80=81=E6=B5=8B=E8=AF=95=E9=82=AE=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/mailer.rb | 2 +- config/configuration.yml | 17 +++++++++-------- lib/tasks/email.rake | 6 +++--- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/app/models/mailer.rb b/app/models/mailer.rb index eacead013..a930b5467 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -817,12 +817,12 @@ class Mailer < ActionMailer::Base headers[:references] = @references_objects.collect {|o| "<#{self.class.message_id_for(o)}>"}.join(' ') end + set_language_if_valid @initial_language super headers do |format| format.text format.html unless Setting.plain_text_mail? end - set_language_if_valid @initial_language end def initialize(*args) diff --git a/config/configuration.yml b/config/configuration.yml index 5eba1c71d..87a54a976 100644 --- a/config/configuration.yml +++ b/config/configuration.yml @@ -215,11 +215,12 @@ production: # specific configuration options for development environment # that overrides the default ones development: - delivery_method: :smtp - smtp_settings: - address: mail.trustie.net - port: 25 - domain: mail.trustie.net - authentication: :login - user_name: "mail@trustie.net" - password: "loong2010" + email_delivery: + delivery_method: :smtp + smtp_settings: + address: mail.trustie.net + port: 25 + domain: mail.trustie.net + authentication: :login + user_name: "mail@trustie.net" + password: "loong2010" diff --git a/lib/tasks/email.rake b/lib/tasks/email.rake index 5f9bf7769..5126d7a69 100644 --- a/lib/tasks/email.rake +++ b/lib/tasks/email.rake @@ -186,9 +186,9 @@ END_DESC ActionMailer::Base.raise_delivery_errors = true begin - Mailer.with_synched_deliveries do - Mailer.test_email(user).deliver - end + # Mailer.with_synched_deliveries do + Mailer.test_email(user).deliver! + # end puts l(:notice_email_sent, user.mail) rescue Exception => e abort l(:notice_email_error, e.message) From e7d85aad2717849125f9140c31ac6a277534762d Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 27 Apr 2015 16:54:46 +0800 Subject: [PATCH 070/320] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E3=80=81=E5=85=B3=E6=B3=A8=E3=80=81=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E3=80=81=E7=B1=BB=E5=9E=8B=E7=AD=89=E4=B8=8D=E5=90=8C?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/_join_exit_project.html.erb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/views/layouts/_join_exit_project.html.erb b/app/views/layouts/_join_exit_project.html.erb index 50c319328..9cd376c60 100644 --- a/app/views/layouts/_join_exit_project.html.erb +++ b/app/views/layouts/_join_exit_project.html.erb @@ -1,10 +1,10 @@
    - - <% if ( !(User.current.member_of? @project) && User.current.login?) && !User.current.admin %> + + <% if !User.current.member_of?(@project) && User.current.login? && !User.current.admin %> <%= watcher_link_for_project(@project, User.current) %> <% end %> - <% if ( !(User.current.member_of? @project) && User.current.login?) && !User.current.admin %> + <% if !User.current.member_of?(@project) && User.current.login? && !User.current.admin %> <%= join_in_project_link(@project, User.current) %> <% end %> @@ -12,12 +12,13 @@ <%= link_to "#{l(:button_configure)}".html_safe, settings_project_path(@project), :class => "pr_join_a" %> <% end %> - <% if Member.where(:project_id => @project.id).first.roles.first.to_s.include?("Manager") || User.current.admin? %> + <% if (User.current.login? && User.current.member_of?(@project) && Member.where(:user_id => User.current.id, :project_id => @project.id).first.roles.first.to_s.include?("Manager")) || User.current.admin? %> <%= link_to "#{text}".html_safe,"javascript:void(0)" ,:onClick => "show_window();", :class => "pr_join_a",:id => "setting_project_type"%> <% end %> <% if (User.current.member_of? @project) && User.current.login? && - Member.where(:user_id => User.current.id, :project_id=>@project.id).first.roles.first.to_s != "Manager" %> + Member.where(:user_id => User.current.id, :project_id => @project.id).first.roles.first.to_s != "Manager" %> <%= exit_project_link(@project) %> <% end %> +
    From 40fdda0ee2a9133179df41dfb0458bb1f132117e Mon Sep 17 00:00:00 2001 From: whimlex Date: Mon, 27 Apr 2015 16:58:16 +0800 Subject: [PATCH 071/320] =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=BA=93git=E5=B8=AE?= =?UTF-8?q?=E5=8A=A9=E6=96=87=E6=A1=A3=E7=9A=84=E6=98=BE=E7=A4=BA=E4=B8=8E?= =?UTF-8?q?=E9=9A=90=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/issues/_action_menu.html.erb | 2 +- app/views/repositories/show.html.erb | 231 ++++++++++++++----------- public/javascripts/project.js | 52 ++++-- public/stylesheets/project.css | 2 +- 4 files changed, 166 insertions(+), 121 deletions(-) diff --git a/app/views/issues/_action_menu.html.erb b/app/views/issues/_action_menu.html.erb index 94f1c6556..ff498f100 100644 --- a/app/views/issues/_action_menu.html.erb +++ b/app/views/issues/_action_menu.html.erb @@ -4,5 +4,5 @@ <%= link_to l(:button_delete), issue_path(@issue.id), :data => {:confirm => issues_destroy_confirmation_message(@issue)}, :method => :delete, :class => 'talk_edit fr' if User.current.allowed_to?(:delete_issues, @project) %> - <%= link_to l(:button_edit), edit_issue_path(@issue), :onclick => 'showAndScrollTo("all_attributes", "issue_notes"); return false;', :class => 'talk_edit fr', :accesskey => accesskey(:edit) if @issue.editable? && User.current.allowed_to?(:edit_issues, @project) %> + <%= link_to l(:button_edit), edit_issue_path(@issue), :onclick => 'showAndScrollTo("all_attributes"); return false;', :class => 'talk_edit fr', :accesskey => accesskey(:edit) if @issue.editable? && User.current.allowed_to?(:edit_issues, @project) %> <%= link_to l(:label_user_newfeedback), edit_issue_path(@issue), :onclick => 'showAndScrollTo("update", "issue_notes"); return false;', :class => 'talk_edit fr', :accesskey => accesskey(:edit) if @issue.editable? && User.current.allowed_to?(:add_issue_notes, @project) %> diff --git a/app/views/repositories/show.html.erb b/app/views/repositories/show.html.erb index 5ddea4e60..c3931cc9e 100644 --- a/app/views/repositories/show.html.erb +++ b/app/views/repositories/show.html.erb @@ -1,131 +1,162 @@ -<%= call_hook(:view_repositories_show_contextual, { :repository => @repository, :project => @project }) %> +<%= call_hook(:view_repositories_show_contextual, {:repository => @repository, :project => @project}) %>

    版本库

    -
    +
    <%= render :partial => 'breadcrumbs', - :locals => { :path => @path, :kind => 'dir', :revision => @rev } %> + :locals => {:path => @path, :kind => 'dir', :revision => @rev} %> <%= render :partial => 'navigation' %> -
    +
    +
    -

    <%if @repository.type.to_s=="Repository::Git"%> - <%= @repos_url%> - <%else %> - <%=h @repository.url %> +

    + <% if @repository.type.to_s=="Repository::Git" %> + <%= @repos_url %> + <% else %> + <%= h @repository.url %> <% end %>

    -

    - (<%= l(:label_all_revisions) %><%= @repositories.sort.collect {|repo| + +

    + (<%= l(:label_all_revisions) %><%= @repositories.sort.collect { |repo| link_to h(repo.name), {:controller => 'repositories', :action => 'show', :id => @project, :repository_id => repo.identifier_param, :rev => nil, :path => nil}, - :class => 'repository' + (repo == @repository ? ' selected' : '') , - :class => "mb10 word_break c_orange"}.join(' | ').html_safe %>) + :class => 'repository' + (repo == @repository ? ' selected' : ''), + :class => "mb10 break_word c_orange" }.join(' | ').html_safe %>)

    -

    项目代码请设置好正确的编码方式(utf-8),否则中文会出现乱码

    -

    建立版本库文件夹,打开命令行执行如下:

    -
    -
    -

    git init

    -

    git add *

    -

    git commit -m "first commit"

    -

    git remote add origin - http://xianbo_trustie2@repository.trustie.net/xianbo/trustie2.git -

    -

    git config http.postBuffer 524288000 #设置本地post缓存为500MB

    -

    git push -u origin master:master

    -
    -
    -

    已经有本地库,还没有配置远程地址,打开命令行执行如下:

    -
    -
    -

    git remote add origin http://xianbo_trustie2@repository.trustie.net/xianbo/trustie2.git

    -

    git add .

    -

    git commit -m "first commit"

    -

    git config http.postBuffer 524288000 #设置本地post缓存为500MB

    -

    git push -u origin master:master

    -
    -
    -

    已有远程地址,创建一个远程分支,并切换到该分支,打开命令行执行如下:

    -
    -
    -

    git clone http://xianbo_trustie2@repository.trustie.net/xianbo/trustie2.git

    -

    git push

    -

    git checkout -b branch_name

    -

    git push origin branch_name

    -
    -
    -

    从网上获取别人的开源版本库,转交到trustie网站上,打开命令行执行如下:

    -
    -
    -

    git remote add trustie - http://xianbo_trustie2@repository.trustie.net/xianbo/trustie2.git -

    -

    git add .

    -

    git commit -m "first commit"

    -

    git config http.postBuffer 524288000 #设置本地post缓存为500MB

    -

    git push -u trustie master:master

    -

    李海提供

    +
    + + + <% if !@entries.nil? && authorize_for('repositories', 'browse') %> + <%= render :partial => 'dir_list' %> <% end %> -

    - <% has_branches = (!@repository.branches.nil? && @repository.branches.length > 0) - sep = '' %> - <% if @repository.supports_all_revisions? && @path.blank? %> - <%= link_to l(:label_view_all_revisions), {:action => 'revisions', :id => @project, - :repository_id => @repository.identifier_param}, - :class => "orange_u_btn" %> - <% sep = '|' %> + + <%= render_properties(@properties) %> + <% if authorize_for('repositories', 'revisions') %> + <% if @changesets && !@changesets.empty? %> +

    + <%= l(:label_latest_revision_plural) %> +

    + <%= render :partial => 'revisions', + :locals => {:project => @project, :path => @path, + :revisions => @changesets, :entry => nil} %> <% end %> - <% if @repository.supports_directory_revisions? && ( has_branches || !@path.blank? || !@rev.blank? ) %> - <%= sep %> - <%= link_to l(:label_view_revisions), - {:action => 'changes', - :path => to_path_param(@path), - :id => @project, - :repository_id => @repository.identifier_param, - :rev => @rev}, - :class => "orange_u_btn" %> +

    + <% has_branches = (!@repository.branches.nil? && @repository.branches.length > 0) + sep = '' %> + <% if @repository.supports_all_revisions? && @path.blank? %> + <%= link_to l(:label_view_all_revisions), {:action => 'revisions', :id => @project, + :repository_id => @repository.identifier_param}, + :class => "orange_u_btn" %> + <% sep = '|' %> + <% end %> + <% if @repository.supports_directory_revisions? && (has_branches || !@path.blank? || !@rev.blank?) %> + <%= sep %> + <%= link_to l(:label_view_revisions), + {:action => 'changes', + :path => to_path_param(@path), + :id => @project, + :repository_id => @repository.identifier_param, + :rev => @rev}, + :class => "orange_u_btn" %> + <% end %> +

    + <% if @repository.supports_all_revisions? %> + <% content_for :header_tags do %> + <%= auto_discovery_link_tag( + :atom, params.merge( + {:format => 'atom', :action => 'revisions', + :id => @project, :page => nil, :key => User.current.rss_key})) %> + <% end %> <% end %> -

    - <% if @repository.supports_all_revisions? %> - <% content_for :header_tags do %> - <%= auto_discovery_link_tag( - :atom, params.merge( - {:format => 'atom', :action => 'revisions', - :id => @project, :page => nil, :key => User.current.rss_key})) %> - <% end %> <% end %> -<% end %> - -

    查看如何提交代码: - <%= link_to(l(:label_how_commit_code_chinese), ch_usage_path, :class => "c_blue") %> - <%= link_to('English', en_usage_path, :class => "c_blue") %> -

    + +

    查看如何提交代码: + <%= link_to(l(:label_how_commit_code_chinese), ch_usage_path, :class => "c_blue") %> + <%= link_to('English', en_usage_path, :class => "c_blue") %> + +

    <% content_for :header_tags do %> - <%= stylesheet_link_tag "scm" %> + <%= stylesheet_link_tag "scm" %> <% end %> <% html_title(l(:label_repository)) -%> diff --git a/public/javascripts/project.js b/public/javascripts/project.js index 0aef464f8..4d10df1c2 100644 --- a/public/javascripts/project.js +++ b/public/javascripts/project.js @@ -59,6 +59,27 @@ function show_more_msg() { } } +function showhelpAndScrollTo(id, focus) { + var information = $("#showgithelp"); + var val = information.attr("value"); + if (val == "show_help") { + $("#showgithelp").text("收起Git操作指南"); + information.attr("value", "hide_help"); + $('#' + id).show(); + if (focus !== null) { + $('#' + focus).focus(); + } + $('html, body').animate({scrollTop: $('#' + id).offset().top}, 400); + } + else { + $("#showgithelp").text("显示Git操作指南"); + information.attr("value", "show_help"); + $('#' + id).hide(); + } +} + + + /////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////项目讨论区 function regexSubject() { @@ -191,27 +212,22 @@ function project_setting(n) { } //配置-验证项目名称 -function regex_project_name() -{ +function regex_project_name() { var name = $.trim($("#project_name").val()); - if(name.length == 0) - { + if (name.length == 0) { $("#project_name_notice").show(); return false; } - else - { + else { $("#project_name_notice").hide(); return true; } } //配置-信息提交 -function submit_edit_project(id) -{ - if(regex_project_name()) - { - $("#edit_project_"+id).submit(); +function submit_edit_project(id) { + if (regex_project_name()) { + $("#edit_project_" + id).submit(); } } @@ -233,12 +249,13 @@ $(document).ready(function () { //issue_project_id }); -function showAndScrollTo(id, focus) { - $('#' + id).show(); - if (focus !== null) { + function showAndScrollTo(id, focus) { + $('#' + id).show(); + if (focus !== null) { $('#' + focus).focus(); + } + $('html, body').animate({scrollTop: $('#' + id).offset().top}, 400); } - $('html, body').animate({scrollTop: $('#' + id).offset().top}, 400); /*缺陷完成度决定缺陷状态*/ @@ -287,7 +304,4 @@ function showAndScrollTo(id, focus) { $("pre").addClass("break_word"); } - }); - - -} \ No newline at end of file + }); \ No newline at end of file diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css index 6894e3382..b1d2bb021 100644 --- a/public/stylesheets/project.css +++ b/public/stylesheets/project.css @@ -177,7 +177,7 @@ a:hover.upload_btn_grey{background:#8a8a8a;} a.link_file{ background:url(../images/pic_file.png) 0 2px no-repeat; padding-left:20px; color:#64bdd9; } a:hover.link_file{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;} .r_txt_tit{width:510px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#09658c; font-size:14px;} - +.repos_more{height:23px; width:100%; border:1px solid #CCC; background:#F6F6F6; text-align:center; font-size:12px; padding-top:2px;} /* 弹框 新样式还没设计出来,暂时用的课程那边的样式 */ .alert .close{width:26px;height:26px;overflow:hidden;position:absolute;top:-10px;right:-502px;background:url(images/close.png) no-repeat;cursor:pointer;} From 8b6369a84f8c12d70bb9948b359ddde576fb0bc4 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Mon, 27 Apr 2015 17:01:52 +0800 Subject: [PATCH 072/320] =?UTF-8?q?kindeditor=E5=A2=9E=E5=8A=A0=E6=9B=B4?= =?UTF-8?q?=E5=A4=9A=E5=8A=9F=E8=83=BD=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/kindeditor/kindeditor.js | 50 ++++++++++++++++--- public/assets/kindeditor/lang/zh_CN.js | 1 + public/assets/kindeditor/plugins/more/more.js | 15 ++++++ .../kindeditor/themes/default/default.css | 5 ++ 4 files changed, 64 insertions(+), 7 deletions(-) create mode 100644 public/assets/kindeditor/plugins/more/more.js diff --git a/public/assets/kindeditor/kindeditor.js b/public/assets/kindeditor/kindeditor.js index ea6a5b1c7..1abc92ead 100644 --- a/public/assets/kindeditor/kindeditor.js +++ b/public/assets/kindeditor/kindeditor.js @@ -260,7 +260,7 @@ K.options = { items : [ 'emoticons', 'source','plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist', '|', 'formatblock', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', - 'italic', 'underline', 'removeformat', '|','imagedirectupload','table', 'link' + 'italic', 'underline', 'removeformat', '|','imagedirectupload','table', 'link', 'fullscreen',"more" ], noDisableItems : ['source', 'fullscreen'], colorTable : [ @@ -3909,10 +3909,15 @@ _extend(KToolbar, KWidget, { }); }, get : function(name) { - if (this._itemMap[name]) { - return this._itemMap[name]; - } - return (this._itemMap[name] = K('span.ke-icon-' + name, this.div).parent()); +// if (this._itemMap[name]) { +// return this._itemMap[name]; +// } + if($("#define").css('display') == 'block'){ + pdiv = $("#define") + }else if($("#full").css('display') == 'block'){ + pdiv = $("#full") + } + return (this._itemMap[name] = K('span.ke-icon-' + name, pdiv).parent()); }, select : function(name) { _selectToolbar.call(this, name, function(knode) { @@ -4915,6 +4920,7 @@ KEditor.prototype = { self.srcElement.before(container); } var toolbarDiv = K('.toolbar', container), + toolBarDivFull = K('.toolbar', container), editDiv = K('.edit', container), statusbar = self.statusbar = K('.statusbar', container); container.removeClass('container') @@ -4959,9 +4965,36 @@ KEditor.prototype = { htmlList.push('
    '); } }); + htmlList.unshift('
    ') + htmlList.push('
    ') + var htmlListFull = []; + var fullItems = [ + 'emoticons', + 'source','plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist', '|', + 'formatblock', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', + 'italic', 'underline', 'removeformat', '|','imagedirectupload','table', 'link', 'fullscreen',"more", + '/', + 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'plainpaste', + 'justifyfull', 'insertunorderedlist', 'indent', 'outdent', 'subscript', + 'superscript', 'clearhtml', 'quickformat', 'selectall', 'fontname', + 'strikethrough', 'lineheight', '|', 'imagedirectupload', 'hr', 'pagebreak', + 'anchor', 'unlink' + ] + K.each(fullItems, function(i, name) { + if (name == '|') { + htmlListFull.push(''); + } else if (name == '/') { + htmlListFull.push('
    '); + } else { + htmlListFull.push(''); + htmlListFull.push(''); + } + }); + htmlListFull.unshift('') var toolbar = self.toolbar = _toolbar({ src : toolbarDiv, - html : htmlList.join(''), + html : htmlList.join('')+htmlListFull.join(''), noDisableItems : self.noDisableItems, click : function(e, name) { e.stop(); @@ -4975,6 +5008,7 @@ KEditor.prototype = { self.clickToolbar(name); } }); + var editHeight = _removeUnit(height) - toolbar.div.height(); var edit = self.edit = _edit({ height : editHeight > 0 && _removeUnit(height) > self.minHeight ? editHeight : self.minHeight, @@ -5306,8 +5340,9 @@ KEditor.prototype = { createMenu : function(options) { var self = this, name = options.name, - knode = self.toolbar.get(name), + knode = self.toolbar.get(name), pos = knode.pos(); + options.x = pos.x; options.y = pos.y + knode.height(); options.z = self.options.zIndex; @@ -5992,4 +6027,5 @@ _plugin('core', function(K) { }); }); }); + })(window); diff --git a/public/assets/kindeditor/lang/zh_CN.js b/public/assets/kindeditor/lang/zh_CN.js index f2b474351..a2e1010ea 100644 --- a/public/assets/kindeditor/lang/zh_CN.js +++ b/public/assets/kindeditor/lang/zh_CN.js @@ -9,6 +9,7 @@ KindEditor.lang({ imagedirectupload:'本地图片', + more: '更多功能', source : 'HTML代码', preview : '预览', undo : '后退(Ctrl+Z)', diff --git a/public/assets/kindeditor/plugins/more/more.js b/public/assets/kindeditor/plugins/more/more.js new file mode 100644 index 000000000..31eb8567f --- /dev/null +++ b/public/assets/kindeditor/plugins/more/more.js @@ -0,0 +1,15 @@ +KindEditor.plugin('more', function(K) { + var self = this, name = 'more'; + self.plugin.more = { + click : function(){ + if($("#define").css('display') == 'block'){ + $("#define").css('display','none') + $("#full").css('display','block') + }else if($("#full").css('display') == 'block'){ + $("#full").css('display','none') + $("#define").css('display','block') + } + } + } + self.clickToolbar(name,self.plugin.more.click) +}); \ No newline at end of file diff --git a/public/assets/kindeditor/themes/default/default.css b/public/assets/kindeditor/themes/default/default.css index fcadd4fa6..d8085582e 100644 --- a/public/assets/kindeditor/themes/default/default.css +++ b/public/assets/kindeditor/themes/default/default.css @@ -243,6 +243,11 @@ width: 16px; height: 16px; } +.ke-icon-more { + background-position: 0px -672px; + width: 16px; + height: 16px; +} .ke-icon-plainpaste { background-position: 0px -704px; width: 16px; From f3fb0115e417bcbec73b64208e9ed20c76d408a5 Mon Sep 17 00:00:00 2001 From: whimlex Date: Mon, 27 Apr 2015 17:15:21 +0800 Subject: [PATCH 073/320] =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=BA=93git=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=96=87=E6=A1=A3=E9=BB=98=E8=AE=A4=E5=B1=95=E5=BC=80?= =?UTF-8?q?=EF=BC=8C=E6=A0=B7=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/repositories/show.html.erb | 4 ++-- public/javascripts/project.js | 2 ++ public/stylesheets/project.css | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/views/repositories/show.html.erb b/app/views/repositories/show.html.erb index c3931cc9e..077bccdad 100644 --- a/app/views/repositories/show.html.erb +++ b/app/views/repositories/show.html.erb @@ -30,8 +30,8 @@

    - - - +

    diff --git a/public/javascripts/cookie.js b/public/javascripts/cookie.js new file mode 100644 index 000000000..9e14ed810 --- /dev/null +++ b/public/javascripts/cookie.js @@ -0,0 +1,39 @@ +//保存cookie +//n:cookie的名字 +//v:cookie的值 +//mins:时间(分钟) +//dn: +//path:保存路径 +function cookiesave(n, v, mins, dn, path) +{ + if(n) + { + + if(!mins) mins = 365 * 24 * 60; + if(!path) path = "/"; + var date = new Date(); + + date.setTime(date.getTime() + (mins * 60 * 1000)); + + var expires = "; expires=" + date.toGMTString(); + + if(dn) dn = "domain=" + dn + "; "; + document.cookie = n + "=" + v + expires + "; " + dn + "path=" + path; + + } +} + +//获取cookie +function cookieget(n) +{ + var name = n + "="; + var ca = document.cookie.split(';'); + for(var i=0;i Date: Tue, 5 May 2015 17:19:06 +0800 Subject: [PATCH 125/320] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E8=AF=BE=E4=BB=B6?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=20=E8=AF=BE=E7=A8=8B=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/courses_service.rb | 36 ++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 42bf8fe3f..94efb375a 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -433,18 +433,48 @@ class CoursesService result = [] @course = Course.find(params[:course_id]) @attachments = @course.attachments.order("created_on desc") - @attachments.each do |atta| - result << {:filename => atta.filename,:description => atta.description,:downloads => atta.downloads,:quotes => atta.quotes.nil? ? 0 :atta.quotes } + if !params[:name].nil? && params[:name] != "" + @attachments.each do |atta| + result << {:filename => atta.filename, + :description => atta.description, + :downloads => atta.downloads, + :quotes => atta.quotes.nil? ? 0 :atta.quotes } if atta.filename.include?(params[:name]) + + end + else + @attachments.each do |atta| + result << {:filename => atta.filename, + :description => atta.description, + :downloads => atta.downloads, + :quotes => atta.quotes.nil? ? 0 :atta.quotes } + + end end result end # 课程学生列表 def course_members params - @all_members = student_homework_score(0,params[:course_id], 10,"desc") + @all_members = searchmember_by_name(student_homework_score(0,params[:course_id], 10,"desc"),params[:name]) end private + def searchmember_by_name members, name + #searchPeopleByRoles(project, StudentRoles) + mems = [] + if name != "" + name = name.to_s.downcase + members.each do |m| + username = m.user[:lastname].to_s.downcase + m.user[:firstname].to_s.downcase + if(m.user[:login].to_s.downcase.include?(name) || m.user.user_extensions[:student_id].to_s.downcase.include?(name) || username.include?(name)) + mems << m + end + end + else + mems = members + end + mems + end def show_homework_info course,bid,current_user,is_course_teacher author_real_name = bid.author.lastname + bid.author.firstname many_times = course.homeworks.index(bid) + 1 From 3da5fdfa0fb45bebcd912e42774f64863dc32fae Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Tue, 5 May 2015 17:19:31 +0800 Subject: [PATCH 126/320] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E8=AF=BE=E4=BB=B6?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=20=E8=AF=BE=E7=A8=8B=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/courses.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/api/mobile/apis/courses.rb b/app/api/mobile/apis/courses.rb index f7b03947c..0d0c4651f 100644 --- a/app/api/mobile/apis/courses.rb +++ b/app/api/mobile/apis/courses.rb @@ -232,6 +232,7 @@ module Mobile params do requires :token, type: String requires :course_id,type: Integer,desc: '课程id' + optional :name,type:String,desc:'课件名称可能包含的字符' end get ":course_id/attachments" do cs = CoursesService.new @@ -244,6 +245,7 @@ module Mobile params do requires :token,type:String requires :course_id,type:Integer,desc: '课程id' + optional :name,type:String,desc:'学生的姓名或者昵称或者学号可能包含的字符' end get ":course_id/members" do cs = CoursesService.new From b39e00b5c7f16ff9bcc9c11d72fa67b19830acc3 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 6 May 2015 09:26:14 +0800 Subject: [PATCH 127/320] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=AE=A8=E8=AE=BA?= =?UTF-8?q?=E5=8C=BA--=E5=86=85=E5=AE=B9=E5=BF=85=E5=A1=AB=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/messages/_form_project.html.erb | 2 +- config/locales/projects/zh.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/messages/_form_project.html.erb b/app/views/messages/_form_project.html.erb index 5724acf47..8e72544b5 100644 --- a/app/views/messages/_form_project.html.erb +++ b/app/views/messages/_form_project.html.erb @@ -25,7 +25,7 @@
  • - + <%= text_area :quote,:quote,:style => 'display:none' %> <%= f.text_area :content, :class => 'talk_text fl', :id => 'message_content', :onkeyup => "regexContent();", :maxlength => 5000,:placeholder => "最多3000个汉字(或6000个英文字符)" %>
    diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml index d89fc33ee..c1850b7e4 100644 --- a/config/locales/projects/zh.yml +++ b/config/locales/projects/zh.yml @@ -415,4 +415,4 @@ zh: # field_sharing: 共享 label_title_code_review: 代码评审 - label_home_non_project: 您还没有创建项目,您可能对系统的其它项目感兴趣! \ No newline at end of file + label_home_non_project: 您还没有创建项目,您可以查看系统的其它项目! \ No newline at end of file From 05428213a269bce7932e8bf648bfc1044e8da249 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Wed, 6 May 2015 11:04:57 +0800 Subject: [PATCH 128/320] =?UTF-8?q?=E8=AE=A9session=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=EF=BC=8C=E9=98=B2=E6=AD=A2=E9=95=BF=E6=97=B6=E9=97=B4=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=97=B6session=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/account_controller.rb | 4 ++++ config/routes.rb | 2 ++ public/javascripts/application.js | 11 +++++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index 981e0cb3c..3089386bf 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -44,6 +44,10 @@ class AccountController < ApplicationController # display the logout form end + def heartbeat + render :json => session[:user_id] + end + # Lets user choose a new password def lost_password (redirect_to(home_url); return) unless Setting.lost_password? diff --git a/config/routes.rb b/config/routes.rb index d3b8a1b37..ae87c6a65 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -227,6 +227,8 @@ RedmineApp::Application.routes.draw do match '/projects/search', :via => [:get, :post] match '/users/search', :via => [:get, :post] #end + + match 'account/heartbeat', to: 'account#heartbeat', :via => :get match 'login', :to => 'account#login', :as => 'signin', :via => [:get, :post] match 'logout', :to => 'account#logout', :as => 'signout', :via => [:get, :post] match 'account/register', :via => [:get, :post], :as => 'register' diff --git a/public/javascripts/application.js b/public/javascripts/application.js index f61738935..b2bd70d8d 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -571,10 +571,16 @@ function warnLeavingUnsaved(message) { }; } -function setupAjaxIndicator() { +function setupHeartBeat(){ + var time = 60*1000*30; // 30 mins + setInterval(function(){$.getJSON('/account/heartbeat');},time); +} +function setupAjaxIndicator() { $('#ajax-indicator').bind('ajaxSend', function(event, xhr, settings) { - + if(settings && settings.url && settings.url.endsWith('account/heartbeat')){ + return; + } if ($('.ajax-loading').length === 0 && settings.contentType != 'application/octet-stream') { $('#ajax-indicator').show(); } @@ -622,6 +628,7 @@ function transpotUrl (scope) { } $(document).ready(setupAjaxIndicator); +$(document).ready(setupHeartBeat); $(document).ready(hideOnLoad); $(document).ready(addFormObserversForDoubleSubmit); From 297cb9182ee7c762aac8998f63a35a8111c78407 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Wed, 6 May 2015 11:08:33 +0800 Subject: [PATCH 129/320] =?UTF-8?q?=E5=BC=80=E5=8F=91=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E8=BF=98=E6=98=AF=E9=87=87=E7=94=A8filecache?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/environments/development.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/environments/development.rb b/config/environments/development.rb index 1b653d929..5c2427320 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -11,7 +11,7 @@ RedmineApp::Application.configure do # Show full error reports and disable caching config.consider_all_requests_local = true config.action_controller.perform_caching = false - # config.cache_store = :file_store, "#{Rails.root }/files/cache_store/" + config.cache_store = :file_store, "#{Rails.root }/files/cache_store/" # Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = true From c0b78198700562b0a442e51c0d839ea2c51fd3e9 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 6 May 2015 14:20:55 +0800 Subject: [PATCH 130/320] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B5=84=E6=96=99?= =?UTF-8?q?=E6=97=B6=E6=98=B5=E7=A7=B0=E6=8F=90=E7=A4=BA=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/my/account.html.erb | 2 +- config/locales/account/zh.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/my/account.html.erb b/app/views/my/account.html.erb index 785286eea..6c0c3a78a 100644 --- a/app/views/my/account.html.erb +++ b/app/views/my/account.html.erb @@ -117,7 +117,7 @@
    -

    +

    <%= f.text_field :login, :required => true, :size => 25, :name => "login", :style => 'border:1px solid #d3d3d3;'%> <%= l(:label_max_number) %>
    diff --git a/config/locales/account/zh.yml b/config/locales/account/zh.yml index 97e6ae444..69edc7aa3 100644 --- a/config/locales/account/zh.yml +++ b/config/locales/account/zh.yml @@ -11,7 +11,7 @@ zh: # # 公共变量 # - label_max_number: "登录名是在网站中显示的您的公开标识,只能为英文和数字。" + label_max_number: "登录名是在网站中显示的您的公开标识,只能为下划线、@、.以及英文和数字。" field_login: 登录名 field_password: 密码 From 6bbf8c8f45bbbfc10b9a7cf5696ca820605727cf Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 6 May 2015 14:53:25 +0800 Subject: [PATCH 131/320] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E3=80=81=E8=AF=BE=E7=A8=8B=E7=95=99=E8=A8=80=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E5=88=A0=E9=99=A4=E7=BC=96=E8=BE=91=E5=99=A8?= =?UTF-8?q?=E5=86=85=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/courses/_courses_jours.html.erb | 2 +- app/views/news/_course_show.html.erb | 8 +------- public/stylesheets/courses.css | 2 +- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/app/views/courses/_courses_jours.html.erb b/app/views/courses/_courses_jours.html.erb index 69e600b94..adbbf4780 100644 --- a/app/views/courses/_courses_jours.html.erb +++ b/app/views/courses/_courses_jours.html.erb @@ -15,7 +15,7 @@ <%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %> <%= f.kindeditor 'course_message',:height => '140px;',:editor_id => 'leave_message_editor',:input_html=>{:id => "leave_meassge",:style => "resize: none;", :placeholder => "#{l(:label_welcome_my_respond)}",:maxlength => 250}%> - 取  消 + 取  消 <%= l(:button_leave_meassge)%> diff --git a/app/views/news/_course_show.html.erb b/app/views/news/_course_show.html.erb index 1160f09e3..2ead9173a 100644 --- a/app/views/news/_course_show.html.erb +++ b/app/views/news/_course_show.html.erb @@ -1,9 +1,3 @@ - <%= javascript_include_tag "/assets/kindeditor/kindeditor" %>

    <%= l(:label_course_news) %>

    @@ -39,7 +33,7 @@ <%= kindeditor_tag :comment, '',:height=>'100',:editor_id =>'comment_editor', :placeholder=>"最多250个字"%>

    - + <%= l(:label_cancel_with_space) %> diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index d93bc8519..bb7294e2e 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -174,7 +174,7 @@ a:hover.work_edit{color: #fff; background: #64bdd9;} .wzan a{ display: block;} a.wzan_img{background:url(images/pic_zan.png) 0 -59px no-repeat; display:block; height:31px; width:30px; color:#fff;} a.wzan_visited{background:url(images/pic_zan.png) 0 0 no-repeat;} -.msg_box{ width:670px; height:205px; border-bottom:1px dashed #CCC; padding-top:10px;} +.msg_box{ width:670px; height:225px; border-bottom:1px dashed #CCC; padding-top:10px;} .msg_box h4{ } .msg_box textarea{width:658px;height:90px;padding:5px;overflow:hidden;background-color: #ffffff; border:1px solid #CCC; margin:5px 0px; color:#666; font-size:12px; } From 4c268b13dd86daf2fbf74ce27ab60d47e237c052 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 6 May 2015 14:55:48 +0800 Subject: [PATCH 132/320] =?UTF-8?q?#2460=E5=8C=BF=E8=AF=84=E5=88=86?= =?UTF-8?q?=E9=85=8D=E6=95=B0=E9=87=8F=E9=99=90=E5=88=B6=E9=95=BF=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/bids/_new_homework_form.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/bids/_new_homework_form.html.erb b/app/views/bids/_new_homework_form.html.erb index 16f78491b..7a5f628f9 100644 --- a/app/views/bids/_new_homework_form.html.erb +++ b/app/views/bids/_new_homework_form.html.erb @@ -35,7 +35,7 @@

  • - + <%= l(:label_evaluation_description)%>

  • From cba760b8b0815f704e4af79236f71758d3cec6c2 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Wed, 6 May 2015 15:01:26 +0800 Subject: [PATCH 133/320] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E3=80=81=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=90=9C=E7=B4=A2=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/courses/_course_members.html.erb | 2 +- app/views/projects/_project_members.html.erb | 2 +- app/views/projects/settings/_new_members.html.erb | 2 +- config/locales/projects/zh.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/views/courses/_course_members.html.erb b/app/views/courses/_course_members.html.erb index 88ac405dc..78dc6c319 100644 --- a/app/views/courses/_course_members.html.erb +++ b/app/views/courses/_course_members.html.erb @@ -21,7 +21,7 @@ <%= form_for(@member, {:as => :membership, :url => course_memberships_path(@course), :remote => true, :method => :post}) do |f| %>