From 5e5fa406565acaa8a03e68696ed996ffd207dbc9 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 30 Nov 2016 09:51:24 +0800 Subject: [PATCH 01/57] =?UTF-8?q?pull=20request=E6=8F=90=E9=86=92=E6=8A=9B?= =?UTF-8?q?=E5=87=BA=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/pull_requests_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index d3e60a9f7..eea3567e7 100644 --- a/app/controllers/pull_requests_controller.rb +++ b/app/controllers/pull_requests_controller.rb @@ -96,7 +96,7 @@ class PullRequestsController < ApplicationController if compare_pull_request(source_branch, target_project_id, target_branch) # 如果传送了目标项目ID即向fork源项目发送请求 # if params[:forked_project_id] && params[:source_project] == "forked_project_name" - if !params[:target_project_id].blank? + if !params[:target_project_id].blank? && params[:target_project_id].to_i != @project.id target_project_id = params[:forked_project_id].to_i request = @g.create_merge_request(@project.gpid, title, User.current.gid, :description => description, :source_branch => source_branch, :target_branch => target_branch, :target_project_id => target_project_id) @fork_project_name = Project.find(params[:target_project_id]).try(:name) From 35fdf9a8a7c8d66e435e7861c569931d566e8da4 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Tue, 6 Dec 2016 09:36:13 +0800 Subject: [PATCH 02/57] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E5=A4=B4=E9=83=A8=E5=8F=8A=E5=85=B6=E5=B7=A6=E4=BE=A7=E5=AF=BC?= =?UTF-8?q?=E8=88=AA(=E6=9C=AA=E5=AE=8C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile | 4 +- app/controllers/users_controller.rb | 12 +- app/helpers/users_helper.rb | 37 ++++ app/views/layouts/_logined_header.html.erb | 18 +- .../layouts/_user_brief_introduction.html.erb | 14 +- app/views/layouts/_user_watch_btn.html.erb | 4 +- app/views/layouts/new_base_user.html.erb | 178 +++++++++++++----- app/views/users/user_messages.html.erb | 2 +- public/images/user/female.jpg | Bin 3783 -> 14850 bytes public/images/user/home-user-mes.png | Bin 0 -> 107495 bytes public/images/user/male.jpg | Bin 4136 -> 2756 bytes public/images/user/nonews.png | Bin 0 -> 112502 bytes public/images/user/user_navmore_icons.png | Bin 1085 -> 19619 bytes public/stylesheets/css/common.css | 17 +- public/stylesheets/css/project.css | 18 +- public/stylesheets/css/user.css | 170 +++++++++++++++++ 16 files changed, 389 insertions(+), 85 deletions(-) create mode 100644 public/images/user/home-user-mes.png create mode 100644 public/images/user/nonews.png create mode 100644 public/stylesheets/css/user.css diff --git a/Gemfile b/Gemfile index 58ccbc011..b8b49cf95 100644 --- a/Gemfile +++ b/Gemfile @@ -50,10 +50,10 @@ gem 'elasticsearch-model' gem 'elasticsearch-rails' #rails 3.2.22.2 bug - gem "test-unit", "~>3.0" +# gem "test-unit", "~>3.0" ### profile - gem 'oneapm_rpm' +# gem 'oneapm_rpm' group :development do gem 'grape-swagger' diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index da7cfd849..1ffc4f0d7 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -433,7 +433,7 @@ class UsersController < ApplicationController render_404 return end - @message_alls = paginateHelper @message_alls,25 + @message_alls = paginateHelper @message_alls, 25 respond_to do |format| format.html{render :layout=>'new_base_user'} end @@ -1822,6 +1822,16 @@ class UsersController < ApplicationController principal_types = "JournalsForMessage" container_type = '' act_type = '' + + # 用户项目数 + @my_project_count = user_project_count + # 用户的课程数 + @my_course_count = user_course_count + # 用户发布的issue数 + @issues_author_is_self_count = issues_author_is_self_count + # 用户收到的issue数 + @issues_assigned_is_self_count = issues_assigned_is_self_count + if params[:type].present? case params[:type] when "course_homework" diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 98024954d..e5dcfc2df 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -53,6 +53,43 @@ module UsersHelper end + + # 用户项目总数 + def user_project_count + @my_projects = @user.projects.where("projects.user_id = #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC") + @my_projects_count = @my_projects.count + @my_joined_projects = @user.projects.where("projects.user_id != #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC") + @my_joined_projects_count = @my_joined_projects.count + + @my_project_total = @my_projects_count + @my_joined_projects_count + end + + # 用户的课程总数 + def user_course_count + @my_course_count = @user.syllabuses.count + + sy_courses = @user.courses.visible.not_deleted + syllabus_ids = sy_courses.empty? ? '(-1)' : "(" + sy_courses.map{|course| !course.syllabus_id.nil? && course.syllabus_id}.join(",") + ")" + syllabus_members = SyllabusMember.where("user_id = #{@user.id}") + syllabus_member_ids = syllabus_members.empty? ? "(-1)" : "(" + syllabus_members.map{|syl_mem| syl_mem.syllabus_id}.join(',') + ")" + @join_syllabuses = Syllabus.where("(id in #{syllabus_ids} or id in #{syllabus_member_ids}) and user_id != #{@user.id}") + @my_joined_course_count = @join_syllabuses.count + + @user_course_total = @my_joined_course_count + @my_course_count + end + + # 用户发布的issue数 + def issues_author_is_self_count + @issues = Issue.where( :author_id => @user.id ) + @issues_author_is_self_count = @issues.count + end + + # 用户收到的issue数 + def issues_assigned_is_self_count + @issues = Issue.where( :assigned_to_id => @user.id ) + @issues_assigned_is_self_count = @issues.count + end + def get_resource_type type case type when 'Course' diff --git a/app/views/layouts/_logined_header.html.erb b/app/views/layouts/_logined_header.html.erb index db1e4f1cc..971414835 100644 --- a/app/views/layouts/_logined_header.html.erb +++ b/app/views/layouts/_logined_header.html.erb @@ -7,13 +7,19 @@ + + <% if hidden_unproject_infos %> - + <% memo = Memo.where(:id => 1168).first %> <% unless memo.nil? %> <% end %>
  • - <%= link_to "我的组织", user_organizations_user_path(:id => User.current), :class => "menuGrey"%> + <%= link_to '我的项目', {:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list', :class => "menuGrey" %>
  • - <%= link_to "新建组织", new_organization_path, :class => "menuGrey"%> + <%= link_to "我的组织", user_organizations_user_path(:id => User.current), :class => "menuGrey"%>
  • diff --git a/app/views/layouts/_user_brief_introduction.html.erb b/app/views/layouts/_user_brief_introduction.html.erb index fac5177a3..233d6115b 100644 --- a/app/views/layouts/_user_brief_introduction.html.erb +++ b/app/views/layouts/_user_brief_introduction.html.erb @@ -1,10 +1,10 @@ - <% if user.user_extensions && user.user_extensions.brief_introduction && !user.user_extensions.brief_introduction.empty? %> - <%= user.user_extensions.brief_introduction %> - <% else%> - 这个小伙伴很懒,什么都没留下~ + -<% if User.current == user%> - <%= link_to image_tag("../images/signature_edit.png",width:"12px", height: "12px"), "javascript:void(0);", :onclick => "show_edit_user_introduction();"%> -<% end %> +<%# if User.current == user%> + <%#= link_to image_tag("../images/signature_edit.png",width:"12px", height: "12px"), "javascript:void(0);", :onclick => "show_edit_user_introduction();"%> +<%# end %> diff --git a/app/views/layouts/_user_watch_btn.html.erb b/app/views/layouts/_user_watch_btn.html.erb index 0e0ae1e1f..cf580f920 100644 --- a/app/views/layouts/_user_watch_btn.html.erb +++ b/app/views/layouts/_user_watch_btn.html.erb @@ -1,8 +1,8 @@ <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_applide_action.html.erb b/app/views/users/_user_message_applide_action.html.erb index a8b5598fa..425c3f74d 100644 --- a/app/views/users/_user_message_applide_action.html.erb +++ b/app/views/users/_user_message_applide_action.html.erb @@ -1,13 +1,15 @@ <% ma = ma.nil? ? @applied_message : ma %> <% if allow_to_show(ma) %> - <%= link_to "同意", allow_to_join_project_project_memberships_path(:project_id => ma.project_id, :applied_message_id => ma.id), :remote => true, :method => :post, :class => "link-blue"%> | - <%= link_to "拒绝", refused_allow_to_join_project_project_memberships_path(:project_id => ma.project_id, :applied_message_id => ma.id), :remote => true, :method => :get, :class => "link-blue" %> + <%= link_to "同意", allow_to_join_project_project_memberships_path(:project_id => ma.project_id, :applied_message_id => ma.id), + :remote => true, :method => :post, :class => "link-blue", :style => "font-size: 14px;" %> | + <%= link_to "拒绝", refused_allow_to_join_project_project_memberships_path(:project_id => ma.project_id, :applied_message_id => ma.id), + :remote => true, :method => :get, :class => "link-blue",:style => "font-size: 14px;" %> <% elsif ma.status == 4 %> - 被拒绝 + 被拒绝 <% elsif ma.status == 5 %> - 您已拒绝 + 您已拒绝 <% elsif ma.status == 6 %> - 已通过 + 已通过 <% elsif ma.status == 7 %> - 您已同意 + 您已同意 <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_applied.html.erb b/app/views/users/_user_message_applied.html.erb index 89084d30b..b79f77a2d 100644 --- a/app/views/users/_user_message_applied.html.erb +++ b/app/views/users/_user_message_applied.html.erb @@ -17,7 +17,7 @@
  • <%= render :partial => "users/user_message_applied_school_action", :locals =>{:ma => ma} %>
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • diff --git a/app/views/users/_user_message_applied_schools.html.erb b/app/views/users/_user_message_applied_schools.html.erb index 1e2ff86ba..9e66d1bfb 100644 --- a/app/views/users/_user_message_applied_schools.html.erb +++ b/app/views/users/_user_message_applied_schools.html.erb @@ -4,4 +4,4 @@ <% else %> <%=link_to User.where("id=?", ma.applied_user_id).first.show_name, user_path(ma.applied_user_id), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> <% end %> -"><%= applied_school_tip(ma) %> \ No newline at end of file +<%= applied_school_tip(ma) %> \ No newline at end of file diff --git a/app/views/users/_user_message_course.html.erb b/app/views/users/_user_message_course.html.erb index 87d448944..189389444 100644 --- a/app/views/users/_user_message_course.html.erb +++ b/app/views/users/_user_message_course.html.erb @@ -8,7 +8,7 @@
  • <%=link_to ma.course_message.author.try(:show_name), user_path(ma.course_message.author), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">发布了通知: + 发布了通知:
  • <%= link_to ma.course_message.title, {:controller => 'news', :action => 'show', :id => ma.course_message.id }, @@ -23,9 +23,10 @@
    <%= ma.course_message.description.html_safe %>
    <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> + <% if ma.course_message_type == "Comment" && ma.course_message %> <% end %> <% if ma.course_message_type == "HomeworkCommon" && ma.status.nil? && ma.course_message %> @@ -62,7 +63,7 @@
  • <%=link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">发布了班级作业: + 发布了班级作业:
  • <% if !User.current.allowed_to?(:as_teacher, ma.course_message.course) && cur_user_works_for_homework(ma.course_message).nil? %> @@ -114,7 +115,7 @@

    <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% if ma.course_message_type == "HomeworkCommon" && ma.status == 1 && ma.course_message %> @@ -122,7 +123,7 @@
  • <%=link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user), :target => '_blank' %>
  • <%=link_to ma.course_message.user.lastname + ma.course_message.user.firstname + '老师', user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :title => "#{ma.course_message.user.lastname + ma.course_message.user.firstname}老师", :target => '_blank' %> - ">发布的作业:
  • + 发布的作业:
  • <%= link_to "作业标题:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.id), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -148,7 +149,7 @@ <% end %>
  •    截止时间快到啦
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -160,7 +161,7 @@
  • <%= link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">启动了作业匿评: + 启动了作业匿评:
  • <%= link_to "作业标题:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.id), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", @@ -183,7 +184,7 @@

    例如,您缺评了两份作品,则您的最终成绩将被扣除 <%= ma.course_message.homework_detail_manual.absence_penalty %> * 2 = <%= ma.course_message.homework_detail_manual.absence_penalty * 2 %>分

    <% end%> -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -192,7 +193,8 @@
  • <%=link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user), :target => '_blank' %>
  • <%=link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", - user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %>">关闭了作业匿评:
  • + user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> + 关闭了作业匿评:
  • <%= link_to "作业标题:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.id), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -214,7 +216,7 @@

    祝您的教学活动高效、顺利、愉快!

    <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -226,7 +228,7 @@
  • <%= link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">启动作业匿评失败 + 启动作业匿评失败:
  • <%= link_to truncate(ma.course_message.name,:length=>25)+'(失败原因:提交作品的人数低于2人)', student_work_index_path(:homework => ma.course_message.id), :class => "#{ma.viewed == 0 ? "c_red" : "newsGrey "}", :target => '_blank' %> @@ -245,7 +247,7 @@
  • 提交截止:<%= ma.course_message.end_time%>  23:59
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% if ma.course_message_type == "HomeworkCommon" && ma.status == 5 %> @@ -293,7 +295,7 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% if ma.course_message_type == "Poll" && ma.course_message %> @@ -305,7 +307,7 @@
  • <%=link_to ma.course_message.user.try(:show_name), user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">发布了问卷: + 发布了问卷:
  • <%= link_to format_activity_title(" #{ma.course_message.polls_name.nil? ? "未命名问卷" : ma.course_message.polls_name}"), poll_path(ma.course_message.id), @@ -316,7 +318,7 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% if ma.course_message_type == "Message" && !ma.nil? && !ma.course_message.nil? %> @@ -328,7 +330,7 @@
  • <%=link_to ma.course_message.author.try(:show_name), user_path(ma.course_message.author), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - "> + <%= ma.course_message.parent_id.nil? ? "发布了班级帖子:" : "评论了班级帖子:" %>
  • <% if ma.course_message.parent_id.nil? %>
  • @@ -359,7 +361,7 @@ <% end %> <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -410,7 +412,7 @@

    <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% if ma.course_message_type == "JournalsForMessage" && ma.course_message %> @@ -424,7 +426,7 @@
  • <%= link_to ma.course_message.user.try(:show_name), user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">在班级中留言了: + 在班级中留言了:
  • <%= link_to message_content(ma.course_message.notes), course_feedback_path(:id => ma.course_id), @@ -436,7 +438,7 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% elsif ma.course_message.jour_type == 'HomeworkCommon' %> @@ -452,7 +454,7 @@ <% if ma.course_message.m_parent_id.nil? %> 回复了您的作业: <% else %> - 在作业中回复了您: + 在作业中回复了您: <% end %> @@ -466,7 +468,7 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% else %>
    -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% end %> @@ -547,7 +549,7 @@
  • <%= link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "同学", user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">重新提交了作品: + 重新提交了作品:
  • <%= link_to "作业标题:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.homework_common_id, :show_work_id => ma.course_message_id), @@ -556,7 +558,7 @@
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -568,7 +570,7 @@
  • <%= link_to ma.course_message.user.show_name+ "同学", user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">追加新附件了: + 追加新附件了:
  • <%= link_to "作业标题:" + ma.course_message.homework_common.name, student_work_index_path(:homework => ma.course_message.homework_common_id, :show_work_id => ma.course_message_id), @@ -576,7 +578,7 @@
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -587,7 +589,7 @@
  • 系统提示 - ">您成功创建了班级: + 您成功创建了班级:
  • <%= link_to "班级名称:" + ma.course_message.name, course_path(ma.course_message), @@ -612,7 +614,7 @@

    您的班级是私有的,非班级成员不能访问您的班级。如果想设置为公开,您可以在配置中设置。

    <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -650,7 +652,7 @@
    <%= Course.find(ma.course_id).description.nil? ? "" : Course.find(ma.course_id).description.html_safe %>

    申请职位:<%= ma.content == '9' ? "教师" : "教辅"%>

    -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -662,7 +664,7 @@
  • <%=link_to User.find(ma.course_message_id).show_name, user_path(User.find(ma.course_message_id)), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">将您加入了班级: + 将您加入了班级:
  • <%= link_to ma.course.name, course_member_path(ma.course), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -684,7 +686,7 @@

    <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -696,7 +698,7 @@
  • 系统提示 - ">您增加了新的班级成员: + 您增加了新的班级成员:
  • <%= link_to User.find(ma.course_message_id).login+"("+(User.find(ma.course_message_id).realname ? User.find(ma.course_message_id).realname : User.find(ma.course_message_id).login) +")", {:controller => 'courses', :action => 'settings', :id => ma.course_id, :tab=>'member'}, :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -718,7 +720,7 @@

    <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -730,7 +732,7 @@
  • <%=link_to User.find(ma.course_message_id).show_name, user_path(User.find(ma.course_message_id)), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">将您移出了班级: + 将您移出了班级:
  • <%= link_to ma.course.name, member_course_path(ma.course), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -753,7 +755,7 @@

    <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -763,7 +765,9 @@
  • <%=link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user), :target => '_blank' %>
  • <%=link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", - user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %>">发布了班级测验 :
  • + user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> + 发布了班级测验: +
  • <%= link_to "测验题目:" + ma.course_message.exercise_name, exercise_path(:id => ma.course_message.id), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -790,7 +794,7 @@ <% end %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -800,7 +804,8 @@
  • <%=link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user), :target => '_blank' %>
  • <%=link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", - user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %>">发布的测验:
  • + user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> + 发布的测验:
  • <%= link_to "测验题目:" + ma.course_message.exercise_name, exercise_path(:id => ma.course_message.id), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -823,7 +828,7 @@
  • 截止时间快到啦
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_forge.html.erb b/app/views/users/_user_message_forge.html.erb index 10a14ffa9..b3e058a82 100644 --- a/app/views/users/_user_message_forge.html.erb +++ b/app/views/users/_user_message_forge.html.erb @@ -3,11 +3,11 @@ <% if ma.forge_message_type == "AppliedProject" %> <% end %> @@ -27,7 +27,7 @@
  • <%=link_to User.find(ma.forge_message_id).show_name, user_path(User.find(ma.forge_message_id)), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">将您加入了项目: + 将您加入了项目:
  • <%= link_to ma.project, project_member_path(ma.project), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -35,7 +35,7 @@
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% end %> @@ -48,7 +48,7 @@
  • <%=link_to User.find(ma.forge_message_id).show_name, user_path(User.find(ma.forge_message_id)), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">将您移出了项目: + 将您移出了项目:
  • <%= link_to ma.project, member_project_path(ma.project), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -56,7 +56,7 @@
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% end %> @@ -123,7 +123,7 @@
  • <%=link_to User.find(ma.forge_message.author_id).show_name, user_path(ma.forge_message.author), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - "> + <%= ma.forge_message.tracker_id == 5 ? "发布了周报:":"指派了问题给你:"%>
  • @@ -133,7 +133,7 @@ -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% end %> @@ -146,8 +146,7 @@
  • <%= link_to User.find(ma.forge_message.user_id).show_name, user_path(ma.forge_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - "> - 更新了问题状态: + 更新了问题状态:
  • <%= link_to ma.forge_message.journalized.subject, @@ -156,21 +155,21 @@
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% if ma.forge_message_type == "Message" %> <% end %> <% if ma.forge_message_type == "Comment" %> @@ -183,7 +182,7 @@
  • <%=link_to ma.forge_message.author.try(:show_name), user_path(ma.forge_message.author), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">评论了新闻: + 评论了新闻:
  • <%= link_to "#{ma.forge_message.commented.title}", @@ -191,7 +190,7 @@
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> @@ -216,7 +215,7 @@ :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_org.html.erb b/app/views/users/_user_message_org.html.erb index 13c62318f..3d56f4b4a 100644 --- a/app/views/users/_user_message_org.html.erb +++ b/app/views/users/_user_message_org.html.erb @@ -6,21 +6,22 @@
  • <%=link_to ma.organization.name, organization_path(ma.organization_id), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - '>申请子域名: + 申请子域名:
  • <%= ma.content %>
  • -
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%=link_to (Secdomain.where("sub_type=2 and pid=?", ma.organization.id).count == 0 || (Secdomain.where("sub_type=2 and pid=?", ma.organization.id).count > 0 && Secdomain.where("sub_type=2 and pid=?", ma.organization.id).first.subname != ma.content)) ? "同意申请":"申请已批准", agree_apply_subdomain_organizations_path( :organization_id => ma.organization_id, :org_domain => ma.content, :user_id => ma.sender_id, :act_id => ma.id ), :id => "agree_apply_subdomain_#{ma.id}", :method => 'post', :remote => true, - :class => "green_btn_cir ml10", - :style => "color:#fff" %> + :class => 'link-blue fr' + %>
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • + <% end %> <% if ma.message_type == 'AgreeApplySubdomain'%> @@ -29,12 +30,12 @@
  • - '>管理员同意了您的子域名申请: + 管理员同意了您的子域名申请:
  • <%= ma.content %>
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_system.html.erb b/app/views/users/_user_message_system.html.erb index 6bc8f28f3..46e83a4e1 100644 --- a/app/views/users/_user_message_system.html.erb +++ b/app/views/users/_user_message_system.html.erb @@ -5,9 +5,9 @@
  • - Trustie平台发布新消息: + 系统消息: +
  • - 【系统消息】
  • <%= link_to ma.subject.blank? ? (ma.content.nil? ? ma.description.html_safe : ma.content.html_safe) : ma.subject, user_system_messages_path(User.current, :anchor => "position_#{ma.id}"), @@ -15,7 +15,7 @@
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • <%# end %> <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_userfeedaback.html.erb b/app/views/users/_user_message_userfeedaback.html.erb index 00fa78eeb..664058461 100644 --- a/app/views/users/_user_message_userfeedaback.html.erb +++ b/app/views/users/_user_message_userfeedaback.html.erb @@ -9,7 +9,7 @@
  • <%=link_to User.find(ma.journals_for_message.user_id).show_name, user_path(ma.journals_for_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - "> + <%= ma.journals_for_message.reply_id == 0 ? "给你留言了:" : "回复了你的留言:" %>
  • @@ -26,7 +26,7 @@
    <%= ma.journals_for_message.notes.html_safe %>
    <% end %> -
  • <%= time_tag(ma.journals_for_message.created_on).html_safe %>
  • +
  • <%= time_tag(ma.journals_for_message.created_on).html_safe %>
  • <% end %> <% end %> \ No newline at end of file diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb index 7f5798c8e..73f0dfc0e 100644 --- a/app/views/users/user_messages.html.erb +++ b/app/views/users/user_messages.html.erb @@ -14,32 +14,7 @@ <% unless @message_alls.nil? %> - <% @message_alls.each do |ma| %> - <%# 系统消息 %> - <%= render :partial => 'users/user_message_system', :locals => {:ma => ma} %> - - <%= render :partial => 'users/user_at_message', :locals => {:ma => ma} %> - - <%# 课程消息 %> - <%= render :partial => 'users/user_message_course', :locals => {:ma => ma} %> - - - <%= render :partial => 'users/user_message_forge', :locals => {:ma => ma} %> - - - <%= render :partial => 'users/user_message_forum', :locals => {:ma => ma} %> - - - <%= render :partial => 'users/user_message_userfeedaback', :locals => {:ma => ma} %> - - <%= render :partial => 'users/user_message_org', :locals => {:ma => ma} %> - - <%# 申请类消息 %> - <%= render :partial => 'users/user_message_applied', :locals => {:ma => ma} %> - <% end %> - + <%= render :partial => 'users/new_user_message', :locals => { :message_alls => @message_alls } %> <% end %> <% else %> diff --git a/public/images/user/home-user-left.png b/public/images/user/home-user-left.png new file mode 100644 index 0000000000000000000000000000000000000000..f4968c0d786a739af90435eae7d6464159afd8a1 GIT binary patch literal 111449 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 E00@K2XaE2J literal 0 HcmV?d00001 diff --git a/public/stylesheets/css/structure.css b/public/stylesheets/css/structure.css index b86068a33..7ab2bf3f3 100644 --- a/public/stylesheets/css/structure.css +++ b/public/stylesheets/css/structure.css @@ -97,13 +97,13 @@ div#menu ul ul ul li a{ width:185px; overflow:hidden; white-space: nowrap; text- .homepageNewsPublisher { max-width:100px; font-size:12px; color:#269ac9; display:block; padding-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; float:left; } .homepageNewsType {padding-left: 5px; font-size:12px; color:#888888; display:block;} .homepageNewsTypeHomework {width:160px; padding-left: 5px; font-size:12px; color:#888888; display:block; overflow:hidden; height:49px;word-break:break-all; word-wrap:break-word; text-overflow:ellipsis;} -.homepageNewsPubType {width:230px; font-size:12px; color:#888888; display: block;} +.homepageNewsPubType {auto-width:230px; font-size:12px; color:#888888; display: block;} .homepageNewsPubTypeHomework {width:270px; font-size:12px; color:#888888; display: block; white-space:nowrap;} -.homepageNewsContent {width:355px; max-width:365px; margin-right:10px; font-size:12px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } -.homepageSystenMessageContent {width:281px; max-width:291px; margin-right:10px; font-size:12px; color:#4b4b4b; display:block; overflow:hidden;text-overflow:ellipsis;max-height: 49px; } - -.homepageHomeworkContentWarn {width:110px; max-width:365px; margin-right:10px; font-size:12px; color:red; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } -.homepageHomeworkContent {width:235px; max-width:365px; margin-right:10px; font-size:12px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } +.homepageNewsContent {width:355px; max-width:365px; margin-right:10px; font-size:14px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } +.homepageSystenMessageContent {width:281px; max-width:291px; margin-right:10px; font-size:14px; color:#4b4b4b; display:block; overflow:hidden;text-overflow:ellipsis;max-height: 49px; } +.homepageSystenMessageContent a:link{color:#1b1818;} +.homepageHomeworkContentWarn {width:110px; max-width:365px; margin-right:10px; font-size:14px; color:red; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } +.homepageHomeworkContent {width:235px; max-width:365px; margin-right:10px; font-size:14px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } .homepageHomeworkContentWarn2 {width:60px; max-width:365px; margin-right:10px; font-size:12px; color:red; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } .homepageHomeworkContent2 {width:285px; max-width:365px; margin-right:10px; font-size:12px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } @@ -355,7 +355,7 @@ a.replyGrey1 {color:#888888;} a.replyGrey1:hover {color:#4b4b4b;} a.newsBlue {color:#269ac9;} a.newsBlue:hover {color:#297fb8;} -a.newsBlack {color:#4b4b4b; font-size:13px; font-weight:bold} +a.newsBlack {color:#4b4b4b; font-size:14px; font-weight:bold} a.menuGrey {color:#808080;} a.menuGrey:hover {color:#fe7d68;} .navSearchTypeBox {width:368px; height:35px; position:absolute; border:1px solid #e1e1e1; background-color:#ffffff; padding-left:10px; display:none; color:#3e3e3e; font-size:14px;} diff --git a/public/stylesheets/css/user.css b/public/stylesheets/css/user.css index a46b46517..e718c88a5 100644 --- a/public/stylesheets/css/user.css +++ b/public/stylesheets/css/user.css @@ -21,7 +21,7 @@ .home-user-leftnav{ background:#fff; width: 238px; border:1px solid #ddd; margin-bottom: 10px;} .home-user-leftnav h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } .h3-more{ font-size: 12px; color: #888;} -.home-user-leftnav-li{ height: 40px; line-height: 40px; padding-left: 25px; color: #666;background:url(/images/user/home-user-left.png) 5px 5px no-repeat; font-size: 14px; position: relative; } +.home-user-leftnav-li{ height: 45px; line-height: 40px; padding-left: 25px; color: #666;background:url(/images/user/home-user-left.png) 5px 5px no-repeat; font-size: 14px; position: relative; } .home-user-leftnav-li:hover{ background:#f4f4f4 url(/images/user/home-user-left.png) 5px -35px no-repeat;} .home-user-leftnav-li a:hover{color: #3b94d6;} .icons-class{background:url(/images/user/home-user-left.png) 5px 5px no-repeat; } From 69d922880842031eb210cd72276c68f10fd0367a Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 7 Dec 2016 15:13:51 +0800 Subject: [PATCH 04/57] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E4=B8=BB=E9=A1=B5?= =?UTF-8?q?=E7=9A=84=E6=B6=88=E6=81=AF=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 182 ++++++++++-------- app/helpers/users_helper.rb | 4 + app/views/layouts/_user_watch_btn.html.erb | 14 +- app/views/layouts/new_base_user.html.erb | 96 +++++---- .../_join_course_course_message.html.erb | 6 +- app/views/users/_new_user_message.html.erb | 4 +- app/views/users/_no_data.html.erb | 4 + app/views/users/show.html.erb | 111 ++++++----- public/stylesheets/css/structure.css | 4 +- 9 files changed, 245 insertions(+), 180 deletions(-) create mode 100644 app/views/users/_no_data.html.erb diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 1da7355f4..39097c07d 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1807,96 +1807,110 @@ class UsersController < ApplicationController end def show - #更新用户申请成为课程老师或教辅消息的状态 - if params[:course_id] != nil - join_course_messages = CourseMessage.where("course_id =? and course_message_type =? and user_id =? and course_message_id =? and viewed =?", - params[:course_id], 'JoinCourseRequest', User.current.id, @user.id, false) - join_course_messages.update_all(:viewed => true) - end - shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Project'").map(&:shield_id) - shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Course'").map(&:shield_id) - @page = params[:page] ? params[:page].to_i + 1 : 0 - user_project_ids = (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")" - user_course_ids = (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).join(",") + ")" - course_types = "('Message','News','HomeworkCommon','Poll','Course','JournalsForMessage')" - project_types = "('Message','Issue','Project')" - principal_types = "JournalsForMessage" - container_type = '' - act_type = '' - - # 用户项目数 - @my_project_count = user_project_count - # 用户的课程数 - @my_course_count = user_course_count - # 用户发布的issue数 - @issues_author_is_self_count = issues_author_is_self_count - # 用户收到的issue数 - @issues_assigned_is_self_count = issues_assigned_is_self_count - - if params[:type].present? - case params[:type] - when "course_homework" - container_type = 'Course' - act_type = 'HomeworkCommon' - when "course_news" - container_type = 'Course' - act_type = 'News' - when "course_message" - container_type = 'Course' - act_type = 'Message' - when "course_poll" - container_type = 'Course' - act_type = 'Poll' - when "course_journals" - container_type = 'Course' - act_type = 'JournalsForMessage' - when "project_issue" - container_type = 'Project' - act_type = 'Issue' - when "project_message" - container_type = 'Project' - act_type = 'Message' - when "user_journals" - container_type = 'Principal' - act_type = 'JournalsForMessage' - when "current_user" - container_type = 'Principal' - act_type = 'Principal' - when "all" - container_type = 'all' - act_type = 'all' + if is_current_user + # 自己的主页显示消息 + # 初始化/更新 点击按钮时间, 24小时内显示系统消息 + update_onclick_time + # 全部设为已读 + if params[:viewed] == "all" + update_message_viewed(@user) end - end - if container_type != '' && container_type != 'all' - if container_type == 'Course' - sql = "container_type = '#{container_type}' and container_id in #{user_course_ids} and act_type = '#{act_type}'" - elsif container_type == 'Project' - sql = "container_type = '#{container_type}' and container_id in #{user_project_ids} and act_type = '#{act_type}'" - elsif container_type == 'Principal' && act_type == 'JournalsForMessage' - sql = "container_type = '#{container_type}' and act_type= '#{act_type}' and container_id = #{@user.id}" - elsif container_type == 'Principal' && act_type == 'Principal' - sql = "user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}))" - end - if User.current != @user - sql += " and user_id = #{@user.id}" + # 系统消息为管理员发送,我的消息中包含有系统消息 + @message_alls = [] + messages = MessageAll.where("(user_id =? and message_type !=?) or message_type =?" ,@user.id, "SystemMessage", "SystemMessage").includes(:message).order("created_at desc") + messages.each do |message_all| + mess = message_all.message + unless (message_all.message_type == 'CourseMessage' && mess && mess.course && mess.course.is_delete == 1) + @message_alls << mess + end end + @message_count = @message_alls.count + @message_alls = paginateHelper @message_alls, 20 else - if User.current != @user - blog_ids = "("+@user.blog.id.to_s+")" + # 看别人的主页显示动态 + #更新用户申请成为课程老师或教辅消息的状态 + if params[:course_id] != nil + join_course_messages = CourseMessage.where("course_id =? and course_message_type =? and user_id =? and course_message_id =? and viewed =?", + params[:course_id], 'JoinCourseRequest', User.current.id, @user.id, false) + join_course_messages.update_all(:viewed => true) + end + shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Project'").map(&:shield_id) + shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Course'").map(&:shield_id) + @page = params[:page] ? params[:page].to_i + 1 : 0 + user_project_ids = (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")" + user_course_ids = (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).join(",") + ")" + course_types = "('Message','News','HomeworkCommon','Poll','Course','JournalsForMessage')" + project_types = "('Message','Issue','Project')" + principal_types = "JournalsForMessage" + container_type = '' + act_type = '' + # 他的动态 + sql = "user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}))" + if params[:type].present? + case params[:type] + when "course_homework" + container_type = 'Course' + act_type = 'HomeworkCommon' + when "course_news" + container_type = 'Course' + act_type = 'News' + when "course_message" + container_type = 'Course' + act_type = 'Message' + when "course_poll" + container_type = 'Course' + act_type = 'Poll' + when "course_journals" + container_type = 'Course' + act_type = 'JournalsForMessage' + when "project_issue" + container_type = 'Project' + act_type = 'Issue' + when "project_message" + container_type = 'Project' + act_type = 'Message' + when "user_journals" + container_type = 'Principal' + act_type = 'JournalsForMessage' + when "current_user" + container_type = 'Principal' + act_type = 'Principal' + when "all" + container_type = 'all' + act_type = 'all' + end + end + if container_type != '' && container_type != 'all' + if container_type == 'Course' + sql = "container_type = '#{container_type}' and container_id in #{user_course_ids} and act_type = '#{act_type}'" + elsif container_type == 'Project' + sql = "container_type = '#{container_type}' and container_id in #{user_project_ids} and act_type = '#{act_type}'" + elsif container_type == 'Principal' && act_type == 'JournalsForMessage' + sql = "container_type = '#{container_type}' and act_type= '#{act_type}' and container_id = #{@user.id}" + elsif container_type == 'Principal' && act_type == 'Principal' + sql = "user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}))" + end + if User.current != @user + sql += " and user_id = #{@user.id}" + end else - blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" - end - sql = "(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})" + - "or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}) "+ - "or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id}) " + - "or (container_type = 'Blog' and act_type= 'BlogComment' and container_id in #{blog_ids})" - if container_type != 'all' && User.current != @user - sql = "user_id = #{@user.id} and(" + sql + ")" + if User.current != @user + blog_ids = "("+@user.blog.id.to_s+")" + else + blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" + end + sql = "(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})" + + "or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}) "+ + "or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id}) " + + "or (container_type = 'Blog' and act_type= 'BlogComment' and container_id in #{blog_ids})" + if container_type != 'all' && User.current != @user + sql = "user_id = #{@user.id} and(" + sql + ")" + end end + @user_activities_count = UserActivity.where("#{sql}").order('updated_at desc').count + @user_activities = UserActivity.where("#{sql}").order('updated_at desc').limit(10).offset(@page * 10) + @type = params[:type] end - - @user_activities = UserActivity.where("#{sql}").order('updated_at desc').limit(10).offset(@page * 10) - @type = params[:type] respond_to do |format| format.js format.html {render :layout => 'new_base_user'} diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index b0570bb24..42825c6ab 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -192,6 +192,10 @@ module UsersHelper end end + def is_current_user + is_current_user = (User.current == @user) + end + def applied_project_tip_header applied_message case applied_message.status when 4 diff --git a/app/views/layouts/_user_watch_btn.html.erb b/app/views/layouts/_user_watch_btn.html.erb index cf580f920..35436f83f 100644 --- a/app/views/layouts/_user_watch_btn.html.erb +++ b/app/views/layouts/_user_watch_btn.html.erb @@ -5,14 +5,14 @@
  • <%= link_to '个人主页', homepage_user_path(@user), :class => "user_editinfo", :target => '_blank' %>
  • <% else%> -
  • - <% if target.base_homepage.nil? %> + +
  • <%if(target.watched_by?(User.current))%> <%= link_to "取消关注",watch_path(:object_type=> 'user',:object_id=>target.id,:target_id=>target.id),:class => "user_editinfo", :method => "delete",:remote => "true", :title => "取消关注"%> <% else %> diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb index af76ad8d6..8f47cecb7 100644 --- a/app/views/layouts/new_base_user.html.erb +++ b/app/views/layouts/new_base_user.html.erb @@ -158,14 +158,15 @@ <%= render :partial => 'layouts/user_watch_btn', :locals => {:target => @user} %> - -
    -

    课程社区

    - <% if hidden_unproject_infos %> -
      -
    • - <%= link_to "课程#{user_course_count}".html_safe, {:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list", :class => "fl" %> - -
    • - <% if @user == User.current %> -
    • - <%=link_to '我的作业', my_homeworks_user_path(@user), :target => "_blank", :class => "fl" %> -
    • - <% end %> -
    • - <%= link_to "题库", user_homeworks_user_path(User.current), :target => "_blank", :class => "fl" %> -
    • -
    • - <%= link_to "资源库", user_resource_user_path(User.current, :type => 1), :target => "_blank", :class => "fl" %> -
    • -
    -
    - <% end %> -
    -

    项目社区

    -
      -
    • - <%= link_to "项目#{user_project_count}".html_safe, {:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list', :class => "fl" %> - -
    • -
    • - <%= link_to "我发布的issue#{issues_author_is_self_count}".html_safe, user_issues_user_path(@user), :class => "fl" %> -
    • -
    • - <%= link_to "我收到的issue#{issues_assigned_is_self_count}".html_safe, user_issues_user_path(@user), :class => "fl" %> -
    • -
    -
    +
  • +
  • + <%= link_to issues_author_is_self_count > 0 ? "我发布的issue#{issues_author_is_self_count}".html_safe : "我发布的issue", + user_issues_user_path(@user), :class => "fl" %> +
  • +
  • + <%= link_to issues_assigned_is_self_count > 0 ? "我收到的issue#{issues_assigned_is_self_count}".html_safe : "我收到的issue", + user_issues_user_path(@user), :class => "fl" %> +
  • + + + <% else %> +
    +

    Ta在确实 + <%= time_tag(@user.created_on).html_safe %> +

    +
      +
    • + <%= link_to user_course_count > 0 ? "课程#{user_course_count}".html_safe : "课程", + {:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list", :class => "fl" %> +
    • +
    • + <%= link_to user_project_count > 0 ? "项目#{user_project_count}".html_safe : "项目", + {:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list', :class => "fl" %> +
    • +
    +
    + <% end %>
    -
  • +
  • <%= time_tag(ma.created_at).html_safe %>
  • +
  • <% if ma.status == 0 || ma.status.nil?%> <%= link_to '同意',dealwith_apply_request_user_path(User.current,:agree=>'Y',:msg_id=>ma.id),:remote=>'true',:class=>'linkBlue'%> @@ -35,4 +36,3 @@ <%end %>
  • -
  • <%= time_tag(ma.created_at).html_safe %>
  • \ No newline at end of file diff --git a/app/views/users/_new_user_message.html.erb b/app/views/users/_new_user_message.html.erb index 16f14733c..0eef0ef9b 100644 --- a/app/views/users/_new_user_message.html.erb +++ b/app/views/users/_new_user_message.html.erb @@ -22,6 +22,6 @@ <%= render :partial => 'users/user_message_applied', :locals => {:ma => ma} %> <% end %> -
      - <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true %> +
        + <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true, :is_new => true %>
      \ No newline at end of file diff --git a/app/views/users/_no_data.html.erb b/app/views/users/_no_data.html.erb new file mode 100644 index 000000000..91e8cf703 --- /dev/null +++ b/app/views/users/_no_data.html.erb @@ -0,0 +1,4 @@ +
      +
      +

      该用户无公开动态~

      +
      \ No newline at end of file diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index 66aafcf46..f299f1ef3 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -1,51 +1,74 @@ -
      -
      最新动态
      -
        -
      • -
          -
        • -
            - <% if hidden_unproject_infos %> -
          • 班级动态
          • -
          • <%= link_to "作业动态", {:controller => "users", :action => "show", :type => "course_homework"}, :class => "homepagePostTypeAssignment postTypeGrey"%> -
          • -
          • <%= link_to "通知动态", {:controller => "users", :action => "show", :type => "course_news"}, :class => "homepagePostTypeNotice postTypeGrey"%> - -
          • <%= link_to "论坛动态", {:controller => "users", :action => "show", :type => "course_message"}, :class => "homepagePostTypeForum postTypeGrey"%> -
          • <%= link_to "问卷动态", {:controller => "users", :action => "show", :type => "course_poll"}, :class => "homepagePostTypeQuiz postTypeGrey"%> -
          • <%= link_to "班级留言", {:controller => "users", :action => "show", :type => "course_journals"}, :class =>"homepagePostTypeMessage postTypeGrey"%> - - - <% end %> -
          -
        • -
        • -
            -
          • 项目动态
          • -
          • <%= link_to "问题动态", {:controller => "users", :action => "show", :type => "project_issue"}, :class => "homepagePostTypeQuestion postTypeGrey"%> -
          • <%= link_to "论坛动态", {:controller => "users", :action => "show", :type => "project_message"}, :class => "homepagePostTypeForum postTypeGrey"%> - -
          -
        • -
        • -
            -
          • 更多
          • -
          • <%= link_to "个人留言", {:controller => "users", :action => "show", :type => "user_journals"}, :class =>"homepagePostTypeMessage postTypeGrey"%> -
          • <%= link_to @user == User.current ? "我的动态" : "他的动态", {:controller => "users", :action => "show", :type => "current_user"}, :class =>"homepagePostTypeMine postTypeGrey"%> -
          • <%= link_to "全部动态", {:controller => "users", :action => "show", :type => "all"}, :class =>"homepagePostTypeAll postTypeGrey"%> -
          -
        • -
        -
      • -
      -
      +<% if is_current_user %> +
      +
      + 消息动态 +
      + + 共 <%= @message_count %> 个消息 + +
      +
      +
      + <%= render :partial => 'users/new_user_message', :locals => { :message_alls => @message_alls } %> +
      +
      - +<% else %> +
      +
      Ta的动态
      + +
      + + <%# if @user.blog.homepage_id and BlogComment.where("id=?", @user.blog.homepage_id).count > 0 %> <%# homepage = BlogComment.find(@user.blog.homepage_id) %> <%#= render :partial => 'blogs/homepage', :locals => {:activity => homepage, :user_activity_id => homepage.id} %> <%# end %> -<%= render :partial => 'users/user_activities', :locals => {:user_activities => @user_activities,:page => 0,:type => @type, :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id)} %> + <% if @user_activities_count > 0 %> + <%= render :partial => 'users/user_activities', :locals => {:user_activities => @user_activities, :page => 0, :type => @type, :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id)} %> + <% else %> +
      + <%= render :partial => 'users/no_data' %> +
      + <% end %> +<% end %> \ No newline at end of file diff --git a/public/stylesheets/css/structure.css b/public/stylesheets/css/structure.css index 7ab2bf3f3..0e18770ae 100644 --- a/public/stylesheets/css/structure.css +++ b/public/stylesheets/css/structure.css @@ -104,8 +104,8 @@ div#menu ul ul ul li a{ width:185px; overflow:hidden; white-space: nowrap; text- .homepageSystenMessageContent a:link{color:#1b1818;} .homepageHomeworkContentWarn {width:110px; max-width:365px; margin-right:10px; font-size:14px; color:red; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } .homepageHomeworkContent {width:235px; max-width:365px; margin-right:10px; font-size:14px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } -.homepageHomeworkContentWarn2 {width:60px; max-width:365px; margin-right:10px; font-size:12px; color:red; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } -.homepageHomeworkContent2 {width:285px; max-width:365px; margin-right:10px; font-size:12px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } +.homepageHomeworkContentWarn2 {width:70px; max-width:365px; margin-right:10px; font-size:14px; color:red; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } +.homepageHomeworkContent2 {width:285px; max-width:365px; margin-right:10px; font-size:14px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } .homepageNewsTime {width:75px; font-size:12px; color:#888888; display:block; text-align:right;} .loadMore {font-size:14px;width:748px; text-align:center; display:block; border:1px solid #dddddd; background-color:#ffffff; float:right;padding:5px 0; letter-spacing: 1px;} From 27d800a94a9b2606f9d401c4e39d2d186e053ede Mon Sep 17 00:00:00 2001 From: cxt Date: Wed, 7 Dec 2016 15:15:00 +0800 Subject: [PATCH 05/57] =?UTF-8?q?=E6=96=B0=E7=89=88=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E6=9E=B6=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile | 4 +- app/controllers/users_controller.rb | 183 ++++++++++-------- app/views/layouts/_logined_header.html.erb | 4 +- .../layouts/base_course_community.html.erb | 69 +++++++ .../layouts/base_project_community.html.erb | 69 +++++++ app/views/layouts/new_base_user.html.erb | 8 +- app/views/users/course_community.html.erb | 0 app/views/users/project_community.html.erb | 0 config/routes.rb | 3 + 9 files changed, 254 insertions(+), 86 deletions(-) create mode 100644 app/views/layouts/base_course_community.html.erb create mode 100644 app/views/layouts/base_project_community.html.erb create mode 100644 app/views/users/course_community.html.erb create mode 100644 app/views/users/project_community.html.erb diff --git a/Gemfile b/Gemfile index b8b49cf95..58ccbc011 100644 --- a/Gemfile +++ b/Gemfile @@ -50,10 +50,10 @@ gem 'elasticsearch-model' gem 'elasticsearch-rails' #rails 3.2.22.2 bug -# gem "test-unit", "~>3.0" + gem "test-unit", "~>3.0" ### profile -# gem 'oneapm_rpm' + gem 'oneapm_rpm' group :development do gem 'grape-swagger' diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 1ffc4f0d7..e1327b7db 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -42,7 +42,7 @@ class UsersController < ApplicationController :activity_new_score_index, :influence_new_score_index, :score_new_index,:user_projects_index,:user_resource, :user_courses4show,:user_projects4show,:user_course_activities,:user_project_activities,:user_feedback4show,:user_visitorlist,:user_messages,:edit_brief_introduction, :user_import_homeworks,:user_search_homeworks,:user_import_resource, :user_system_messages,:choose_user_course,:user_courselist,:user_projectlist,:sort_syllabus_list, - :sort_project_list,:my_homeworks,:manage_or_receive_homeworks,:search_m_r_homeworks, :cancel_or_collect,:expand_courses,:homepage, :user_issues] + :sort_project_list,:my_homeworks,:manage_or_receive_homeworks,:search_m_r_homeworks, :cancel_or_collect,:expand_courses,:homepage, :user_issues, :course_community, :project_community] before_filter :auth_user_extension, only: :show #before_filter :rest_user_score, only: :show #before_filter :select_entry, only: :user_projects @@ -1812,96 +1812,119 @@ class UsersController < ApplicationController params[:course_id], 'JoinCourseRequest', User.current.id, @user.id, false) join_course_messages.update_all(:viewed => true) end - shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Project'").map(&:shield_id) - shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Course'").map(&:shield_id) - @page = params[:page] ? params[:page].to_i + 1 : 0 - user_project_ids = (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")" - user_course_ids = (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).join(",") + ")" - course_types = "('Message','News','HomeworkCommon','Poll','Course','JournalsForMessage')" - project_types = "('Message','Issue','Project')" - principal_types = "JournalsForMessage" - container_type = '' - act_type = '' - # 用户项目数 - @my_project_count = user_project_count - # 用户的课程数 - @my_course_count = user_course_count - # 用户发布的issue数 - @issues_author_is_self_count = issues_author_is_self_count - # 用户收到的issue数 - @issues_assigned_is_self_count = issues_assigned_is_self_count + # 访问自己的主页 + #if @user == User.current - if params[:type].present? - case params[:type] - when "course_homework" - container_type = 'Course' - act_type = 'HomeworkCommon' - when "course_news" - container_type = 'Course' - act_type = 'News' - when "course_message" - container_type = 'Course' - act_type = 'Message' - when "course_poll" - container_type = 'Course' - act_type = 'Poll' - when "course_journals" - container_type = 'Course' - act_type = 'JournalsForMessage' - when "project_issue" - container_type = 'Project' - act_type = 'Issue' - when "project_message" - container_type = 'Project' - act_type = 'Message' - when "user_journals" - container_type = 'Principal' - act_type = 'JournalsForMessage' - when "current_user" - container_type = 'Principal' - act_type = 'Principal' - when "all" - container_type = 'all' - act_type = 'all' + #else + # 访问他人主页 显示对当前用户可见的动态 + shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Project'").map(&:shield_id) + shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Course'").map(&:shield_id) + @page = params[:page] ? params[:page].to_i + 1 : 0 + user_project_ids = (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")" + user_course_ids = (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).join(",") + ")" + course_types = "('Message','News','HomeworkCommon','Poll','Course','JournalsForMessage')" + project_types = "('Message','Issue','Project')" + principal_types = "JournalsForMessage" + container_type = '' + act_type = '' + + # 用户项目数 + @my_project_count = user_project_count + # 用户的课程数 + @my_course_count = user_course_count + # 用户发布的issue数 + @issues_author_is_self_count = issues_author_is_self_count + # 用户收到的issue数 + @issues_assigned_is_self_count = issues_assigned_is_self_count + + if params[:type].present? + case params[:type] + when "course_homework" + container_type = 'Course' + act_type = 'HomeworkCommon' + when "course_news" + container_type = 'Course' + act_type = 'News' + when "course_message" + container_type = 'Course' + act_type = 'Message' + when "course_poll" + container_type = 'Course' + act_type = 'Poll' + when "course_journals" + container_type = 'Course' + act_type = 'JournalsForMessage' + when "project_issue" + container_type = 'Project' + act_type = 'Issue' + when "project_message" + container_type = 'Project' + act_type = 'Message' + when "user_journals" + container_type = 'Principal' + act_type = 'JournalsForMessage' + when "current_user" + container_type = 'Principal' + act_type = 'Principal' + when "all" + container_type = 'all' + act_type = 'all' + end end - end - if container_type != '' && container_type != 'all' - if container_type == 'Course' - sql = "container_type = '#{container_type}' and container_id in #{user_course_ids} and act_type = '#{act_type}'" - elsif container_type == 'Project' - sql = "container_type = '#{container_type}' and container_id in #{user_project_ids} and act_type = '#{act_type}'" - elsif container_type == 'Principal' && act_type == 'JournalsForMessage' - sql = "container_type = '#{container_type}' and act_type= '#{act_type}' and container_id = #{@user.id}" - elsif container_type == 'Principal' && act_type == 'Principal' - sql = "user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}))" - end - if User.current != @user - sql += " and user_id = #{@user.id}" - end - else - if User.current != @user - blog_ids = "("+@user.blog.id.to_s+")" + if container_type != '' && container_type != 'all' + if container_type == 'Course' + sql = "container_type = '#{container_type}' and container_id in #{user_course_ids} and act_type = '#{act_type}'" + elsif container_type == 'Project' + sql = "container_type = '#{container_type}' and container_id in #{user_project_ids} and act_type = '#{act_type}'" + elsif container_type == 'Principal' && act_type == 'JournalsForMessage' + sql = "container_type = '#{container_type}' and act_type= '#{act_type}' and container_id = #{@user.id}" + elsif container_type == 'Principal' && act_type == 'Principal' + sql = "user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}))" + end + if User.current != @user + sql += " and user_id = #{@user.id}" + end else - blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" + if User.current != @user + blog_ids = "("+@user.blog.id.to_s+")" + else + blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" + end + sql = "(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})" + + "or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}) "+ + "or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id}) " + + "or (container_type = 'Blog' and act_type= 'BlogComment' and container_id in #{blog_ids})" + if container_type != 'all' && User.current != @user + sql = "user_id = #{@user.id} and(" + sql + ")" + end end - sql = "(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})" + - "or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}) "+ - "or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id}) " + - "or (container_type = 'Blog' and act_type= 'BlogComment' and container_id in #{blog_ids})" - if container_type != 'all' && User.current != @user - sql = "user_id = #{@user.id} and(" + sql + ")" - end - end - - @user_activities = UserActivity.where("#{sql}").order('updated_at desc').limit(10).offset(@page * 10) - @type = params[:type] + + @user_activities = UserActivity.where("#{sql}").order('updated_at desc').limit(10).offset(@page * 10) + @type = params[:type] + #end respond_to do |format| format.js format.html {render :layout => 'new_base_user'} end end + # 课程社区 + def course_community + respond_to do |format| + format.js + format.html {render :layout => 'base_course_community'} + end + end + + # 项目社区 + def project_community + respond_to do |format| + format.js + format.html {render :layout => 'base_project_community'} + end + end + def show_old pre_count = 10 #limit # Time 2015-02-04 11:46:34 diff --git a/app/views/layouts/_logined_header.html.erb b/app/views/layouts/_logined_header.html.erb index 971414835..5e1a79314 100644 --- a/app/views/layouts/_logined_header.html.erb +++ b/app/views/layouts/_logined_header.html.erb @@ -11,10 +11,10 @@ <%#= link_to "资源库", user_resource_user_path(User.current, :type => 1), :class => "c_white f16 db p10" %> --> <% if hidden_unproject_infos %> + + + + + + + +
      +
      + +
      +
      +
      + + <%# 更新访问数,刷新的时候更新访问次数 %> + <% update_visiti_count @user %> +
      访问计数 <%= @user.visits.to_i %> (自2016年5月)
      +
      +
      + <%= yield %> +
      +
      +
      +
      +<%= render :partial => 'layouts/footer' %> +
      + + + + + + \ No newline at end of file diff --git a/app/views/layouts/base_project_community.html.erb b/app/views/layouts/base_project_community.html.erb new file mode 100644 index 000000000..2333b6aa8 --- /dev/null +++ b/app/views/layouts/base_project_community.html.erb @@ -0,0 +1,69 @@ + + + + + <%= h html_title %> + + + <%= csrf_meta_tag %> + <%= favicon %> + <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','css/common', 'css/structure','css/public', 'prettify','css/project','css/courses','css/popup','syllabus','css/moduel', 'css/user', :media => 'all' %> + <%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %> + <%= javascript_heads %> + <%= javascript_include_tag "bootstrap","avatars","new_user",'attachments','prettify'%> + <%= heads_for_theme %> + <%= call_hook :view_layouts_base_html_head %> + <%= yield :header_tags -%> + + + + + + + + +
      +
      + +
      +
      +
      + + <%# 更新访问数,刷新的时候更新访问次数 %> + <% update_visiti_count @user %> +
      访问计数 <%= @user.visits.to_i %> (自2016年5月)
      +
      +
      + <%= yield %> +
      +
      +
      +
      +<%= render :partial => 'layouts/footer' %> +
      + + + + + + \ No newline at end of file diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb index 906b0c6f5..bbb1a1715 100644 --- a/app/views/layouts/new_base_user.html.erb +++ b/app/views/layouts/new_base_user.html.erb @@ -160,7 +160,9 @@
      -

      课程社区

      +

      + <%= link_to "课程社区", user_course_community_path(User.current), :class => "fl" %> +

      <% if hidden_unproject_infos %>
      • @@ -200,7 +202,9 @@
      <% end %>
      -

      项目社区

      +

      + <%= link_to "项目社区", user_project_community_path(User.current), :class => "fl" %> +

      • <%= link_to "项目#{@my_project_count}".html_safe, {:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list', :class => "fl" %> diff --git a/app/views/users/course_community.html.erb b/app/views/users/course_community.html.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/users/project_community.html.erb b/app/views/users/project_community.html.erb new file mode 100644 index 000000000..e69de29bb diff --git a/config/routes.rb b/config/routes.rb index 98c12d83b..568901402 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -564,6 +564,9 @@ RedmineApp::Application.routes.draw do match 'courses/:course_id/news/new', :to => 'news#new', :via => [:get, :post] match 'users/:user_id/homepage/articles/:id', :to => 'article_homepages#show', :as => "user_homepage_show" + match 'users/:id/courses', :to => 'users#course_community', :as => "user_course_community" + match 'users/:id/projects', :to => 'users#project_community', :as => "user_project_community" + scope ":username" do resources :posts end From 224c0b686c5ee0ca32260c2aa4b32dc770738f9f Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 8 Dec 2016 09:59:22 +0800 Subject: [PATCH 06/57] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E7=9A=84=E8=AF=BE=E7=A8=8B=E7=A4=BE=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 70 ++++++++++++++++++- app/helpers/application_helper.rb | 31 ++++++++ app/helpers/users_helper.rb | 33 --------- .../layouts/base_course_community.html.erb | 52 ++++++++++++-- .../layouts/base_project_community.html.erb | 29 +++++++- app/views/layouts/new_base_user.html.erb | 6 +- app/views/users/course_community.html.erb | 38 ++++++++++ 7 files changed, 217 insertions(+), 42 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 0cc676c14..ee3aba32d 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1919,6 +1919,74 @@ class UsersController < ApplicationController # 课程社区 def course_community + if params[:course_id] != nil + join_course_messages = CourseMessage.where("course_id =? and course_message_type =? and user_id =? and course_message_id =? and viewed =?", + params[:course_id], 'JoinCourseRequest', User.current.id, @user.id, false) + join_course_messages.update_all(:viewed => true) + end + shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Course'").map(&:shield_id) + @page = params[:page] ? params[:page].to_i + 1 : 0 + user_course_ids = (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).join(",") + ")" + course_types = "('Message','News','HomeworkCommon','Poll','Course','JournalsForMessage')" + principal_types = "JournalsForMessage" + container_type = '' + act_type = '' + + if params[:type].present? + case params[:type] + when "course_homework" + container_type = 'Course' + act_type = 'HomeworkCommon' + when "course_news" + container_type = 'Course' + act_type = 'News' + when "course_message" + container_type = 'Course' + act_type = 'Message' + when "course_poll" + container_type = 'Course' + act_type = 'Poll' + when "course_journals" + container_type = 'Course' + act_type = 'JournalsForMessage' + when "user_journals" + container_type = 'Principal' + act_type = 'JournalsForMessage' + when "current_user" + container_type = 'Principal' + act_type = 'Principal' + when "all" + container_type = 'all' + act_type = 'all' + end + end + if container_type != '' && container_type != 'all' + if container_type == 'Course' + sql = "container_type = '#{container_type}' and container_id in #{user_course_ids} and act_type = '#{act_type}'" + elsif container_type == 'Principal' && act_type == 'JournalsForMessage' + sql = "container_type = '#{container_type}' and act_type= '#{act_type}' and container_id = #{@user.id}" + elsif container_type == 'Principal' && act_type == 'Principal' + sql = "user_id = #{@user.id} and (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types})" + end + if User.current != @user + sql += " and user_id = #{@user.id}" + end + else + if User.current != @user + blog_ids = "("+@user.blog.id.to_s+")" + else + blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" + end + sql = "(container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types})" + + "or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id}) " + + "or (container_type = 'Blog' and act_type= 'BlogComment' and container_id in #{blog_ids})" + if container_type != 'all' && User.current != @user + sql = "user_id = #{@user.id} and(" + sql + ")" + end + end + @user_activities_count = UserActivity.where("#{sql}").order('updated_at desc').count + @user_activities = UserActivity.where("#{sql}").order('updated_at desc').limit(10).offset(@page * 10) + @type = params[:type] respond_to do |format| format.js format.html {render :layout => 'base_course_community'} @@ -3580,7 +3648,7 @@ class UsersController < ApplicationController # @syllabus = paginateHelper @syllabus,@limit respond_to do |format| - format.html {render :layout => 'new_base_user'} + format.html {render :layout => 'base_course_community'} end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 75a0eb3f1..b8ce07d69 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -2791,6 +2791,37 @@ module ApplicationHelper end technical_title end + # 用户项目总数 + def user_project_count + @my_projects = @user.projects.select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC") + @my_project_total = @my_projects.count + end + + # 用户的课程总数 + def user_course_count + @my_course_count = @user.syllabuses.count + + sy_courses = @user.courses.visible.not_deleted + syllabus_ids = sy_courses.empty? ? '(-1)' : "(" + sy_courses.map{|course| !course.syllabus_id.nil? && course.syllabus_id}.join(",") + ")" + syllabus_members = SyllabusMember.where("user_id = #{@user.id}") + syllabus_member_ids = syllabus_members.empty? ? "(-1)" : "(" + syllabus_members.map{|syl_mem| syl_mem.syllabus_id}.join(',') + ")" + @join_syllabuses = Syllabus.where("(id in #{syllabus_ids} or id in #{syllabus_member_ids}) and user_id != #{@user.id}") + @my_joined_course_count = @join_syllabuses.count + + @user_course_total = @my_joined_course_count + @my_course_count + end + + # 用户发布的issue数 + def issues_author_is_self_count + @issues = Issue.where( :author_id => @user.id ) + @issues_author_is_self_count = @issues.count + end + + # 用户收到的issue数 + def issues_assigned_is_self_count + @issues = Issue.where( :assigned_to_id => @user.id ) + @issues_assigned_is_self_count = @issues.count + end def get_user_roll user technical_title = "" diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 42825c6ab..879a7bb3c 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -53,39 +53,6 @@ module UsersHelper end - - # 用户项目总数 - def user_project_count - @my_projects = @user.projects.select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC") - @my_project_total = @my_projects.count - end - - # 用户的课程总数 - def user_course_count - @my_course_count = @user.syllabuses.count - - sy_courses = @user.courses.visible.not_deleted - syllabus_ids = sy_courses.empty? ? '(-1)' : "(" + sy_courses.map{|course| !course.syllabus_id.nil? && course.syllabus_id}.join(",") + ")" - syllabus_members = SyllabusMember.where("user_id = #{@user.id}") - syllabus_member_ids = syllabus_members.empty? ? "(-1)" : "(" + syllabus_members.map{|syl_mem| syl_mem.syllabus_id}.join(',') + ")" - @join_syllabuses = Syllabus.where("(id in #{syllabus_ids} or id in #{syllabus_member_ids}) and user_id != #{@user.id}") - @my_joined_course_count = @join_syllabuses.count - - @user_course_total = @my_joined_course_count + @my_course_count - end - - # 用户发布的issue数 - def issues_author_is_self_count - @issues = Issue.where( :author_id => @user.id ) - @issues_author_is_self_count = @issues.count - end - - # 用户收到的issue数 - def issues_assigned_is_self_count - @issues = Issue.where( :assigned_to_id => @user.id ) - @issues_assigned_is_self_count = @issues.count - end - def get_resource_type type case type when 'Course' diff --git a/app/views/layouts/base_course_community.html.erb b/app/views/layouts/base_course_community.html.erb index d571ffc82..c6bcc8925 100644 --- a/app/views/layouts/base_course_community.html.erb +++ b/app/views/layouts/base_course_community.html.erb @@ -44,10 +44,54 @@
        - - <%# 更新访问数,刷新的时候更新访问次数 %> - <% update_visiti_count @user %> -
        访问计数 <%= @user.visits.to_i %> (自2016年5月)
        +
        + <% if hidden_unproject_infos %> +
          +
        • + <%= link_to '班级',{:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list" %> + <%= link_to '全部',{:controller => "users", :action => "user_courselist", :id => @user}, :style => "color:#aaa;" %> + <% courses = @user.favorite_courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10) %> +
          + <%=render :partial => 'layouts/homepage_left_course_list', :locals => {:courses => courses} %> +
          +
        • + <% if is_current_user %> +
        • + <%= link_to "新建课程", new_syllabus_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %> +
        • +
        • + <%= link_to "新建班级", new_course_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %> +
        • +
        • + <%= link_to "加入班级",join_private_courses_courses_path,:remote => true, :method => "post", :style => "font-size:14px;" %> +
        • + <% end %> +
        + <% end %> +
          + <% if @user == User.current %> +
        • + <%=link_to '我的作业', my_homeworks_user_path(@user), :target => "_blank", :style => "font-size:14px;" %> +
        • +
        • + <%= link_to "题库", user_homeworks_user_path(User.current), :target => "_blank", :style => "font-size:14px;" %> +
        • +
        • + <%= link_to "资源库", user_resource_user_path(User.current, :type => 1), :target => "_blank",:style => "font-size:14px;" %> +
        • + <% end %> +
        +
        +
        +
          +
        • + <%= link_to '留言', feedback_path(@user, :host=> Setting.host_user)%> +
        • +
        +
        + <%# 更新访问数,刷新的时候更新访问次数 %> + <% update_visiti_count @user %> +
        访问计数 <%= @user.visits.to_i %> (自2016年5月)
        <%= yield %> diff --git a/app/views/layouts/base_project_community.html.erb b/app/views/layouts/base_project_community.html.erb index 2333b6aa8..f1b2e20ba 100644 --- a/app/views/layouts/base_project_community.html.erb +++ b/app/views/layouts/base_project_community.html.erb @@ -44,7 +44,34 @@
        - +
        +
          +
        • + <%= link_to '项目',{:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list'%> + <%= link_to '全部',{:controller => "users", :action => "user_projectlist", :id => @user}, :style => "color:#aaa;" %> + <% projects = @user.favorite_projects.visible.select("projects.*, (SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10)%> +
          + <%=render :partial => 'layouts/homepage_left_project_list', :locals => {:projects => projects} %> +
          +
        • + <% if is_current_user %> +
        • + <%= link_to "新建项目", new_project_path(:host=> Setting.host_name), :target => "_blank", :style => "font-size:14px;" %> +
        • +
        • + <%= link_to "加入项目", applied_join_project_path, :remote => true, :method => "post", :style => "font-size:14px;" %> +
        • +
        • + <%= link_to "我的Issue", user_issues_user_path(@user), :target => "_blank", :style => "font-size:14px;" %> +
        • + <% end %> +
        +
          +
        • + <%= link_to '留言', feedback_path(@user, :host=> Setting.host_user)%> +
        • +
        +
        <%# 更新访问数,刷新的时候更新访问次数 %> <% update_visiti_count @user %>
        访问计数 <%= @user.visits.to_i %> (自2016年5月)
        diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb index ff5c86b56..7bd63a3ff 100644 --- a/app/views/layouts/new_base_user.html.erb +++ b/app/views/layouts/new_base_user.html.erb @@ -88,7 +88,7 @@
        diff --git a/app/views/users/course_community.html.erb b/app/views/users/course_community.html.erb index e69de29bb..dbc9a3002 100644 --- a/app/views/users/course_community.html.erb +++ b/app/views/users/course_community.html.erb @@ -0,0 +1,38 @@ + + +
        +
        消息动态
        +
          +
        • +
            +
          • +
              + <% if hidden_unproject_infos %> +
            • <%= link_to "全部动态", {:controller => "users", :action => "course_community", :type => "all"}, :class => "homepagePostTypeAll postTypeGrey" %> +
            • <%= link_to @user == User.current ? "我的动态" : "他的动态", {:controller => "users", :action => "course_community", :type => "current_user"}, :class => "homepagePostTypeMine postTypeGrey" %> +
            • <%= link_to "作业动态", {:controller => "users", :action => "course_community", :type => "course_homework"}, :class => "homepagePostTypeAssignment postTypeGrey" %> +
            • <%= link_to "通知动态", {:controller => "users", :action => "course_community", :type => "course_news"}, :class => "homepagePostTypeNotice postTypeGrey" %> +
            • <%= link_to "论坛动态", {:controller => "users", :action => "course_community", :type => "course_message"}, :class => "homepagePostTypeForum postTypeGrey" %> +
            • <%= link_to "问卷动态", {:controller => "users", :action => "course_community", :type => "course_poll"}, :class => "homepagePostTypeQuiz postTypeGrey" %> +
            • <%= link_to "班级留言", {:controller => "users", :action => "course_community", :type => "course_journals"}, :class => "homepagePostTypeMessage postTypeGrey" %> +
            • <%= link_to "个人留言", {:controller => "users", :action => "course_community", :type => "user_journals"}, :class => "homepagePostTypeMessage postTypeGrey" %> + <% end %> +
            +
          • +
          +
        • +
        +
        + + +<%# if @user.blog.homepage_id and BlogComment.where("id=?", @user.blog.homepage_id).count > 0 %> + <%# homepage = BlogComment.find(@user.blog.homepage_id) %> + <%#= render :partial => 'blogs/homepage', :locals => {:activity => homepage, :user_activity_id => homepage.id} %> +<%# end %> + <% if @user_activities_count > 0 %> + <%= render :partial => 'users/user_activities', :locals => {:user_activities => @user_activities, :page => 0, :type => @type, :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id)} %> + <% else %> +
        + <%= render :partial => 'users/no_data' %> +
        + <% end %> From 1875b6ecf77050c500e2be0979c2a9f4f047c566 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 8 Dec 2016 14:14:52 +0800 Subject: [PATCH 07/57] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E7=9A=84=E9=A1=B9=E7=9B=AE=E7=A4=BE=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 57 +++++++++++++++++++++- app/views/users/_user_activities.html.erb | 3 +- app/views/users/course_community.html.erb | 21 ++++---- app/views/users/course_community.js.erb | 6 +++ app/views/users/project_community.html.erb | 37 ++++++++++++++ app/views/users/project_community.js.erb | 6 +++ 6 files changed, 118 insertions(+), 12 deletions(-) create mode 100644 app/views/users/course_community.js.erb create mode 100644 app/views/users/project_community.js.erb diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index ee3aba32d..6ec900d1b 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1995,6 +1995,61 @@ class UsersController < ApplicationController # 项目社区 def project_community + # 看别人的主页显示动态 + #更新用户申请成为课程老师或教辅消息的状态 + shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Project'").map(&:shield_id) + @page = params[:page] ? params[:page].to_i + 1 : 0 + user_project_ids = (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")" + project_types = "('Message','Issue','Project')" + principal_types = "JournalsForMessage" + container_type = '' + act_type = '' + if params[:type].present? + case params[:type] + when "project_issue" + container_type = 'Project' + act_type = 'Issue' + when "project_message" + container_type = 'Project' + act_type = 'Message' + when "user_journals" + container_type = 'Principal' + act_type = 'JournalsForMessage' + when "current_user" + container_type = 'Principal' + act_type = 'Principal' + when "all" + container_type = 'all' + act_type = 'all' + end + end + if container_type != '' && container_type != 'all' + if container_type == 'Project' + sql = "container_type = '#{container_type}' and container_id in #{user_project_ids} and act_type = '#{act_type}'" + elsif container_type == 'Principal' && act_type == 'JournalsForMessage' + sql = "container_type = '#{container_type}' and act_type= '#{act_type}' and container_id = #{@user.id}" + elsif container_type == 'Principal' && act_type == 'Principal' + sql = "user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}))" + end + if User.current != @user + sql += " and user_id = #{@user.id}" + end + else + if User.current != @user + blog_ids = "("+@user.blog.id.to_s+")" + else + blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" + end + sql = "(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})" + + "or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id}) " + + "or (container_type = 'Blog' and act_type= 'BlogComment' and container_id in #{blog_ids})" + if container_type != 'all' && User.current != @user + sql = "user_id = #{@user.id} and(" + sql + ")" + end + end + @user_activities_count = UserActivity.where("#{sql}").order('updated_at desc').count + @user_activities = UserActivity.where("#{sql}").order('updated_at desc').limit(10).offset(@page * 10) + @type = params[:type] respond_to do |format| format.js format.html {render :layout => 'base_project_community'} @@ -3792,7 +3847,7 @@ class UsersController < ApplicationController @my_joined_projects_count = @my_joined_projects.count respond_to do |format| - format.html {render :layout => 'new_base_user'} + format.html {render :layout => 'base_project_community'} end end diff --git a/app/views/users/_user_activities.html.erb b/app/views/users/_user_activities.html.erb index eccae0059..8675cb9e7 100644 --- a/app/views/users/_user_activities.html.erb +++ b/app/views/users/_user_activities.html.erb @@ -109,7 +109,8 @@ - <%= link_to "点击展开更多",user_activities_path(@user.id,:type => type,:page => page),:id => "show_more_activities",:remote => "true",:class => "loadMore mt10 f_grey"%> + <%= link_to "点击展开更多", action == "project_community" ? user_project_community_path(@user.id, :type => type, :page => page) : user_course_community_path(@user.id, :type => type,:page => page), + :id => "show_more_activities", :remote => "true", :class => "loadMore mt10 f_grey" %> <% end%> +<%# if @user.blog.homepage_id and BlogComment.where("id=?", @user.blog.homepage_id).count > 0 %> +<%# homepage = BlogComment.find(@user.blog.homepage_id) %> +<%#= render :partial => 'blogs/homepage', :locals => {:activity => homepage, :user_activity_id => homepage.id} %> +<%# end %> +<% if @user_activities_count > 0 %> + <%= render :partial => 'users/user_activities', :locals => { :user_activities => @user_activities, :page => 0, :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), :action => params[:action] } %> +<% else %> +
        + <%= render :partial => 'users/no_data' %> +
        +<% end %> diff --git a/app/views/users/project_community.js.erb b/app/views/users/project_community.js.erb new file mode 100644 index 000000000..e3fda3f6e --- /dev/null +++ b/app/views/users/project_community.js.erb @@ -0,0 +1,6 @@ +$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'users/user_activities', + :locals => {:user_activities => @user_activities, + :page => @page, + :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), + :action => "project_community"} )%>"); \ No newline at end of file From 92bc7aa8139d557e78db6e5cc979dc43ae5957a7 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 9 Dec 2016 19:32:00 +0800 Subject: [PATCH 08/57] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E7=9A=847=E4=B8=AAtab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 15 +++++ app/views/layouts/new_base_user.html.erb | 69 ++--------------------- app/views/users/show.html.erb | 40 +++++++++++-- public/images/user/apply_tab.png | Bin 0 -> 108591 bytes public/images/user/homepage_tab.png | Bin 0 -> 110856 bytes public/stylesheets/css/structure.css | 16 +++++- 6 files changed, 72 insertions(+), 68 deletions(-) create mode 100644 public/images/user/apply_tab.png create mode 100644 public/images/user/homepage_tab.png diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 6ec900d1b..6539919d1 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1826,6 +1826,21 @@ class UsersController < ApplicationController end @message_count = @message_alls.count @message_alls = paginateHelper @message_alls, 20 + # 用户待解决的issue + @unsolved_issues = Issue.where(:assigned_to_id => @user.id, :status_id => [1, 2, 4, 6]) + # 用户待完成的作业 + @my_course = StudentsForCourse.where(:student_id => @user.id) + @unfinished_homework = 1 + # 用户待完成的测验 + @unfinished_test = 1 + # 用户待完成的问卷 + @unfinished_poll = 1 + # 用户待匿评的作业 + @anonymous_evaluation = 1 + # 待评阅的作业 + @unreview_homework = 1 + # 待审批的作业 + @unapproval_homework = 1 else # 看别人的主页显示动态 #更新用户申请成为课程老师或教辅消息的状态 diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb index 7bd63a3ff..32b587767 100644 --- a/app/views/layouts/new_base_user.html.erb +++ b/app/views/layouts/new_base_user.html.erb @@ -135,19 +135,19 @@
        • - + 博客
          - <%=@user.blog.blog_comments.where("#{BlogComment.table_name}.parent_id is null").count %> + <%= @user.blog.blog_comments.where("#{BlogComment.table_name}.parent_id is null").count %>
        • - + 关注
          - <%=User.watched_by(@user).count %> + <%= User.watched_by(@user).count %>
        • - + 粉丝
          <%= @user.watcher_users.count %>
          @@ -328,61 +328,4 @@ } - -
          - <% if hidden_unproject_infos %> -
            -
          • - <%= link_to '班级',{:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list" %> - <%= link_to '全部',{:controller => "users", :action => "user_courselist", :id => @user}, :style => "color:#aaa;" %> - <% courses = @user.favorite_courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10) %> -
            - <%=render :partial => 'layouts/homepage_left_course_list', :locals => {:courses => courses} %> -
            -
          • - <% if is_current_user %> -
          • - <%= link_to "新建课程", new_syllabus_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %> -
          • -
          • - <%= link_to "新建班级", new_course_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %> -
          • -
          • - <%= link_to "加入班级",join_private_courses_courses_path,:remote => true, :method => "post", :style => "font-size:14px;" %> -
          • - <% if @user == User.current %> -
          • - <%=link_to '我的作业', my_homeworks_user_path(@user), :target => "_blank", :style => "font-size:14px;" %> -
          • - <% end %> - <% end %> -
          - <% end %> - -
            -
          • - <%= link_to '项目',{:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list'%> - <%= link_to '全部',{:controller => "users", :action => "user_projectlist", :id => @user}, :style => "color:#aaa;" %> - <% projects = @user.favorite_projects.visible.select("projects.*, (SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10)%> -
            - <%=render :partial => 'layouts/homepage_left_project_list', :locals => {:projects => projects} %> -
            -
          • - <% if is_current_user %> -
          • - <%= link_to "新建项目", new_project_path(:host=> Setting.host_name), :target => "_blank", :style => "font-size:14px;" %> -
          • -
          • - <%= link_to "加入项目", applied_join_project_path, :remote => true, :method => "post", :style => "font-size:14px;" %> -
          • -
          • - <%= link_to "我的Issue", user_issues_user_path(@user), :style => "font-size:14px;" %> -
          • - <% end %> -
          -
            -
          • - <%= link_to '留言', feedback_path(@user, :host=> Setting.host_user)%> -
          • -
          -
          \ No newline at end of file + \ No newline at end of file diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index f299f1ef3..43a86a930 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -1,6 +1,38 @@ - + <% if is_current_user %> +
          +
          +
          +
        • 248
        • + 待解决Issue
          +
        +
        +
      • 21
      • + 待完成作业
        +
      +
      +
    • 18
    • + 待完成测验
      +
      +
      +
    • 11
    • + 待完成问卷
      +
      +
      +
    • 16
    • + 待匿评作业
      +
      +
      +
    • 13
    • + 待评阅作业
      +
      +
      +
    • 16
    • + 待审批申请
      +
      + +
      消息动态 @@ -9,7 +41,7 @@ 共 <%= @message_count %> 个消息
      -
      +
      <%= render :partial => 'users/new_user_message', :locals => { :message_alls => @message_alls } %>
      @@ -18,7 +50,7 @@ <% else %>
      Ta的动态
      - + + + + + + + +
      +
      + +
      +
      +
      +
      + <% if hidden_unproject_infos %> +
        +
      • + <%= link_to '班级',{:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list" %> + <%= link_to '全部',{:controller => "users", :action => "user_courselist", :id => @user}, :style => "color:#aaa;" %> + <% courses = @user.favorite_courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10) %> +
        + <%=render :partial => 'layouts/homepage_left_course_list', :locals => {:courses => courses} %> +
        +
      • + <% if is_current_user %> +
      • + <%= link_to "新建课程", new_syllabus_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "新建班级", new_course_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "加入班级",join_private_courses_courses_path,:remote => true, :method => "post", :style => "font-size:14px;" %> +
      • + <% end %> +
      + <% end %> +
        + <% if @user == User.current %> +
      • + <%=link_to '我的作业', my_homeworks_user_path(@user), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "题库", user_homeworks_user_path(User.current), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "资源库", user_resource_user_path(User.current, :type => 1), :target => "_blank",:style => "font-size:14px;" %> +
      • + <% end %> +
      +
      +
      +
        +
      • + <%= link_to '留言', feedback_path(@user, :host=> Setting.host_user)%> +
      • +
      +
      + <%# 更新访问数,刷新的时候更新访问次数 %> + <% update_visiti_count @user %> +
      访问计数 <%= @user.visits.to_i %> (自2016年5月)
      +
      +
      + <%= yield %> +
      +
      +
      +
      +<%= render :partial => 'layouts/footer' %> +
      + + + + + + \ No newline at end of file diff --git a/app/views/layouts/base_project_community.html.erb b/app/views/layouts/base_project_community.html.erb new file mode 100644 index 000000000..f1b2e20ba --- /dev/null +++ b/app/views/layouts/base_project_community.html.erb @@ -0,0 +1,96 @@ + + + + + <%= h html_title %> + + + <%= csrf_meta_tag %> + <%= favicon %> + <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','css/common', 'css/structure','css/public', 'prettify','css/project','css/courses','css/popup','syllabus','css/moduel', 'css/user', :media => 'all' %> + <%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %> + <%= javascript_heads %> + <%= javascript_include_tag "bootstrap","avatars","new_user",'attachments','prettify'%> + <%= heads_for_theme %> + <%= call_hook :view_layouts_base_html_head %> + <%= yield :header_tags -%> + + + + + + + + +
      +
      + +
      +
      +
      +
      +
        +
      • + <%= link_to '项目',{:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list'%> + <%= link_to '全部',{:controller => "users", :action => "user_projectlist", :id => @user}, :style => "color:#aaa;" %> + <% projects = @user.favorite_projects.visible.select("projects.*, (SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10)%> +
        + <%=render :partial => 'layouts/homepage_left_project_list', :locals => {:projects => projects} %> +
        +
      • + <% if is_current_user %> +
      • + <%= link_to "新建项目", new_project_path(:host=> Setting.host_name), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "加入项目", applied_join_project_path, :remote => true, :method => "post", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "我的Issue", user_issues_user_path(@user), :target => "_blank", :style => "font-size:14px;" %> +
      • + <% end %> +
      +
        +
      • + <%= link_to '留言', feedback_path(@user, :host=> Setting.host_user)%> +
      • +
      +
      + <%# 更新访问数,刷新的时候更新访问次数 %> + <% update_visiti_count @user %> +
      访问计数 <%= @user.visits.to_i %> (自2016年5月)
      +
      +
      + <%= yield %> +
      +
      +
      +
      +<%= render :partial => 'layouts/footer' %> +
      + + + + + + \ No newline at end of file diff --git a/app/views/users/_new_user_message.html.erb b/app/views/users/_new_user_message.html.erb new file mode 100644 index 000000000..1bf3feda6 --- /dev/null +++ b/app/views/users/_new_user_message.html.erb @@ -0,0 +1,27 @@ +<% message_alls.each do |ma| %> + <%# 系统消息 %> + <%= render :partial => 'users/user_message_system', :locals => {:ma => ma} %> + + <%= render :partial => 'users/user_at_message', :locals => {:ma => ma} %> + + <%# 课程消息 %> + <%= render :partial => 'users/user_message_course', :locals => {:ma => ma} %> + + + <%= render :partial => 'users/user_message_forge', :locals => {:ma => ma} %> + + + <%= render :partial => 'users/user_message_forum', :locals => {:ma => ma} %> + + + <%= render :partial => 'users/user_message_userfeedaback', :locals => {:ma => ma} %> + + <%= render :partial => 'users/user_message_org', :locals => {:ma => ma} %> + + <%# 申请类消息 %> + <%= render :partial => 'users/user_message_applied', :locals => {:ma => ma} %> +<% end %> + +
        + <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true, :is_new => true %> +
      \ No newline at end of file diff --git a/app/views/users/_no_data.html.erb b/app/views/users/_no_data.html.erb new file mode 100644 index 000000000..e6272870c --- /dev/null +++ b/app/views/users/_no_data.html.erb @@ -0,0 +1,4 @@ +
      +
      +

      该用户无公开动态~

      +
      \ No newline at end of file diff --git a/app/views/users/course_community.html.erb b/app/views/users/course_community.html.erb new file mode 100644 index 000000000..2a066c86b --- /dev/null +++ b/app/views/users/course_community.html.erb @@ -0,0 +1,39 @@ + + +
      +
      消息动态
      +
        +
      • +
          +
        • +
            + <% if hidden_unproject_infos %> +
          • <%= link_to "全部动态", {:controller => "users", :action => "course_community", :type => "all"}, :class => "homepagePostTypeAll postTypeGrey" %>
          • +
          • <%= link_to @user == User.current ? "我的动态" : "他的动态", {:controller => "users", :action => "course_community", :type => "current_user"}, :class => "homepagePostTypeMine postTypeGrey" %>
          • +
          • <%= link_to "作业动态", {:controller => "users", :action => "course_community", :type => "course_homework"}, :class => "homepagePostTypeAssignment postTypeGrey" %>
          • +
          • <%= link_to "通知动态", {:controller => "users", :action => "course_community", :type => "course_news"}, :class => "homepagePostTypeNotice postTypeGrey" %>
          • +
          • <%= link_to "论坛动态", {:controller => "users", :action => "course_community", :type => "course_message"}, :class => "homepagePostTypeForum postTypeGrey" %>
          • +
          • <%= link_to "问卷动态", {:controller => "users", :action => "course_community", :type => "course_poll"}, :class => "homepagePostTypeQuiz postTypeGrey" %>
          • +
          • <%= link_to "班级留言", {:controller => "users", :action => "course_community", :type => "course_journals"}, :class => "homepagePostTypeMessage postTypeGrey" %>
          • +
          • <%= link_to "个人留言", {:controller => "users", :action => "course_community", :type => "user_journals"}, :class => "homepagePostTypeMessage postTypeGrey" %>
          • + <% end %> +
          +
        • +
        +
      • +
      +
      + + +<%# if @user.blog.homepage_id and BlogComment.where("id=?", @user.blog.homepage_id).count > 0 %> + <%# homepage = BlogComment.find(@user.blog.homepage_id) %> + <%#= render :partial => 'blogs/homepage', :locals => {:activity => homepage, :user_activity_id => homepage.id} %> +<%# end %> + <% if @user_activities_count > 0 %> + <%= render :partial => 'users/user_activities', :locals => {:user_activities => @user_activities, :page => 0, :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), :action => params[:action] } %> + <% else %> +
      + <%= render :partial => 'users/no_data' %> +
      + <% end %> diff --git a/app/views/users/course_community.js.erb b/app/views/users/course_community.js.erb new file mode 100644 index 000000000..be78ac849 --- /dev/null +++ b/app/views/users/course_community.js.erb @@ -0,0 +1,6 @@ +$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'users/user_activities', + :locals => {:user_activities => @user_activities, + :page => @page, + :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), + :action => "course_community"} )%>"); \ No newline at end of file diff --git a/app/views/users/project_community.html.erb b/app/views/users/project_community.html.erb new file mode 100644 index 000000000..ce0129dae --- /dev/null +++ b/app/views/users/project_community.html.erb @@ -0,0 +1,37 @@ + + +
      +
      消息动态
      +
        +
      • +
          +
        • +
            + <% if hidden_unproject_infos %> +
          • <%= link_to "全部动态", {:controller => "users", :action => "project_community", :type => "all"}, :class => "homepagePostTypeAll postTypeGrey" %>
          • +
          • <%= link_to @user == User.current ? "我的动态" : "他的动态", {:controller => "users", :action => "project_community", :type => "current_user"}, + :class => "homepagePostTypeMine postTypeGrey" %>
          • +
          • <%= link_to "问题动态", {:controller => "users", :action => "project_community", :type => "project_issue"}, :class => "homepagePostTypeQuestion postTypeGrey"%>
          • +
          • <%= link_to "论坛动态", {:controller => "users", :action => "project_community", :type => "project_message"}, :class => "homepagePostTypeForum postTypeGrey"%>
          • +
          • <%= link_to "个人留言", {:controller => "users", :action => "project_community", :type => "user_journals"}, :class => "homepagePostTypeMessage postTypeGrey" %>
          • + <% end %> +
          +
        • +
        +
      • +
      +
      + + +<%# if @user.blog.homepage_id and BlogComment.where("id=?", @user.blog.homepage_id).count > 0 %> +<%# homepage = BlogComment.find(@user.blog.homepage_id) %> +<%#= render :partial => 'blogs/homepage', :locals => {:activity => homepage, :user_activity_id => homepage.id} %> +<%# end %> +<% if @user_activities_count > 0 %> + <%= render :partial => 'users/user_activities', :locals => { :user_activities => @user_activities, :page => 0, :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), :action => params[:action] } %> +<% else %> +
      + <%= render :partial => 'users/no_data' %> +
      +<% end %> diff --git a/app/views/users/project_community.js.erb b/app/views/users/project_community.js.erb new file mode 100644 index 000000000..aeebef08e --- /dev/null +++ b/app/views/users/project_community.js.erb @@ -0,0 +1,6 @@ +$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'users/user_activities', + :locals => {:user_activities => @user_activities, + :page => @page, + :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), + :action => "project_community"} )%>"); \ No newline at end of file diff --git a/public/images/user/apply_tab.png b/public/images/user/apply_tab.png new file mode 100644 index 0000000000000000000000000000000000000000..e5daa7e5fd8c4d71416319b97a1e844af783d03e GIT binary patch literal 108591 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 literal 0 HcmV?d00001 diff --git a/public/images/user/home-user-left.png b/public/images/user/home-user-left.png new file mode 100644 index 0000000000000000000000000000000000000000..f4968c0d786a739af90435eae7d6464159afd8a1 GIT binary patch literal 111449 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 E00@K2XaE2J literal 0 HcmV?d00001 diff --git a/public/images/user/home-user-mes.png b/public/images/user/home-user-mes.png new file mode 100644 index 0000000000000000000000000000000000000000..e52dd5b0a1446ef6c0580adb86526b28c35d03fa GIT binary patch literal 107495 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 literal 0 HcmV?d00001 diff --git a/public/images/user/homepage_tab.png b/public/images/user/homepage_tab.png new file mode 100644 index 0000000000000000000000000000000000000000..e3625d9aa90d620505d7322f5c290c9fa7ed4c90 GIT binary patch literal 110856 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 literal 0 HcmV?d00001 diff --git a/public/images/user/nonews.png b/public/images/user/nonews.png new file mode 100644 index 0000000000000000000000000000000000000000..58abaed3753e1ce3b2c5565fde634481f93f75df GIT binary patch literal 112502 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

      b->I^6dwCr*{ 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 G|NjBB28m+; literal 0 HcmV?d00001 diff --git a/public/stylesheets/css/user.css b/public/stylesheets/css/user.css new file mode 100644 index 000000000..5b99b32f2 --- /dev/null +++ b/public/stylesheets/css/user.css @@ -0,0 +1,170 @@ +/*新版头部css byLB20161125*/ +.header-new{ height: 50px; width:100%; background:#3b94d6;} +.header-new-nav{ width: 1000px; margin:0 auto; height: 50px; line-height: 50px; background:#3b94d6;} +.header-new-nav-logo{ display: block; width: 51px; height: 45px; background:url(/images/nav_logo.png) 0 3px no-repeat;} +.header-new-nav-left li{ float: left; height: 50px; line-height: 50px;} +.header-new-nav-left li a{ display: block; padding:0 15px; color: #fff; font-size: 14px; font-weight: normal;} +.header-new-nav-left li a:hover{ background: #fff; color: #3b94d6;} +.header-new-nav-left li a.active{ background: #297ebd; color: #fff;} +.header-new-search{ margin-top: 10px; position: relative;} +.header-new-search-input{ width: 280px; height: 30px; background: #fff; padding:0 5px; border:none;} +.icons-header-search{display: block; width: 20px; height: 20px; background:url(/images/hw/icons_hw.png) 0 -56px no-repeat; position: absolute; right: 5px; top:4px;} +.header-new-nav-right li { float: left; padding:0 10px; } +.icons-header-news{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px 0px no-repeat; } +.icons-header-class{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -37px no-repeat; } +.icons-header-project{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -72px no-repeat; } +.header-users{width:40px; height:40px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;} +.content-new {width:1000px; margin:0 auto; background-color:#eaebed;} +.home-user-left-box{width:240px;} +.home-user-right-box{width:750px;} +/*新版主页左侧css byLB20161125*/ +.home-user-leftnav{ background:#fff; width: 238px; border:1px solid #ddd; margin-bottom: 10px;} +.home-user-leftnav h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +.h3-more{ font-size: 12px; color: #888;} +.home-user-leftnav-li{ height: 45px; line-height: 40px; padding-left: 25px; color: #666;background:url(/images/user/home-user-left.png) 5px 5px no-repeat; font-size: 14px; position: relative; } +.home-user-leftnav-li:hover{ background:#f4f4f4 url(/images/user/home-user-left.png) 5px -35px no-repeat;} +.home-user-leftnav-li a:hover{color: #3b94d6;} +.icons-class{background:url(/images/user/home-user-left.png) 5px 5px no-repeat; } +.icons-class:hover{background:url(/images/user/home-user-left.png) 5px -35px no-repeat; } +.icons-project{background:url(/images/user/home-user-left.png) 5px -70px no-repeat; } +.icons-project:hover{background:url(/images/user/home-user-left.png) 5px -105px no-repeat; } +.icons-homework{background:url(/images/user/home-user-left.png) 5px -140px no-repeat; } +.icons-homework:hover{background:url(/images/user/home-user-left.png) 5px -177px no-repeat; } +.icons-doc{background:url(/images/user/home-user-left.png) 5px -215px no-repeat; } +.icons-doc:hover{background:url(/images/user/home-user-left.png) 5px -257px no-repeat; } +.icons-download{background:url(/images/user/home-user-left.png) 5px -292px no-repeat; } +.icons-download:hover{background:url(/images/user/home-user-left.png) 5px -326px no-repeat; } +.icons-issue{background:url(/images/user/home-user-left.png) 5px -360px no-repeat; } +.icons-issue:hover{background:url(/images/user/home-user-left.png) 5px -393px no-repeat; } +.home-user-grey-tag{ display: block; background-color: #eaeaea;padding: 0px 8px; height:20px; line-height:20px;-webkit-border-radius: 15px; -moz-border-radius: 15px; -o-border-radius: 15px; border-radius: 15px; font-size: 12px;} +.user_navmore_txt02 { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:75px;} +.user_navmore_txt02 li a.user_navmore_li {font-size:12px;color:#888; display:block; width:50px;height:24px;line-height:24px; } +.user_navmore_txt02 li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:50px; } +.user_navmore_txt02 li:hover,.user_navmore_txt02 li a:hover{background-color:#f0f0f0;} +/*新版主页个性签名css byLB20161125*/ +.home-user-intro{ width:728px; border:1px solid #ddd; padding:10px; background: #fff;} +.home-user-intro p{ color: #666; font-size: 14px;} +/*新版主页动态css byLB20161125*/ +.home-user-newsbox{width:748px; border:1px solid #ddd; background: #fff;} +.home-user-newsbox h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +a.btn-grey-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#dedede; border-radius: 3px;color: #333;} +a.btn-blue-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#3b94d6; border-radius: 3px;color: #fff;} +a:hover.btn-grey-small{background:#d0d0d0; } +a:hover.btn-blue-small{background:#297ebd;} +.home-user-news-list{ padding:10px 10px ;border-bottom:1px dashed #ddd;} +.home-user-news-img img{ width: 40px;height: 40px;margin: 5px 0; border-radius: 50px;} +a.home-user-news-name{ display: inline-block; max-width:200px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; color: #3b94d6;} +.home-user-news-grey{ color: #888;} +.home-user-news-list-inner{ width: 675px;} +.home-user-news-txt{max-width:600px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.home-user-news-del{ height: 20px; display: inline-block; width: 20px; background:url(/images/user/home-user-left.png) 0px -514px no-repeat; } +.home-user-nonews{ width: 200px; margin:100px auto; text-align:center; color:#666; min-height: 350px; } +/*新版发现更多css byLB20161125*/ +.content-new-inner{ width: 998px;border:1px solid #ddd; background: #fff; position: relative;} +.content-new-inner h3{height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; font-size: 14px; background: #f6f6f6;} +.content-faxian-list{border-bottom:1px dashed #ddd; padding:10px 0px; width: 100%;} +a.faxian-list-title{ font-size: 14px; color:#333;max-width:720px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +a:hover.faxian-list-title{ color: #3b94d6;} +.syllabus_class_private {color: #ff4a1b; border: 1px solid #ff4a1b;} +.syllabus_class_property {font-size: 12px; padding: 0 5px; border-radius: 3px;line-height: 14px;} +.syllabus_class_open {color: #7dd26c;border: 1px solid #7dd26c;} +a.pro_new_topbtn{ padding: 3px 7px; font-size: 12px; line-height: 20px; color: #333;vertical-align: middle;background-color: #fff; border: 1px solid #ddd; border-left: 0; border-top-right-radius: 3px; border-bottom-right-radius: 3px; color: #333;} +a.pro_new_topbtn_left { padding: 3px 10px; font-size: 12px;line-height: 20px; background-image: linear-gradient(#fcfcfc, #eee); border: 1px solid #d5d5d5;border-radius: 3px;border-top-right-radius: 0;border-bottom-right-radius: 0; color: #333; } +a:hover.pro_new_topbtn_left{background-image: linear-gradient(#ededed, #dddddd);} +.pro_new_topnav ul{border-bottom: 3px solid #fff; height: 30px; line-height: 30px;} +.pro_new_topnav ul li{ float: left; height: 30px; line-height: 30px;text-align: center; padding:0 15px; } +.pro_new_topnav_active{border-bottom: 3px solid #3b94d6; } +.hw_more_box {position:absolute; width:24px; height:15px; right:15px; top:15px;} +.hw_more_box ul li:hover ul {display:block; } +.hw_more_icons {background:url(/images/hw/icons_hw.png) 0px -30px no-repeat; width:24px; height:15px; } +.hw_more_icons:hover {background:url(/images/hw/icons_hw.png) -40px -30px no-repeat;} +.hw_more_txt {width:75px; font-size:12px; color:#616060; background-color:#fff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-40px; top:15px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000;} +.hw_more_txt li a.hw_more_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px;text-align:center; } +.hw_more_txt li a.hw_more_li:hover {background-color:#f0f0f0;} + + + + +/* 个人主页左侧信息 */ +.user_leftinfo{ width:238px;border:1px solid #e5e5e5; background:#fff url(/images/user/user_bg_info.jpg) 0 0 no-repeat; position:relative; } +a.user_leftinfo_img { display:block; width:80px; height:80px; margin:15px auto;} +.user_leftinfo_img img{ width:74px; height:74px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px; border:3px solid #dcdcdc; } +.user_leftinfo_female{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) 5px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_male{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) -25px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_namebox{ text-align:center; height:16px; line-height:16px; } +.user_leftinfo_name{ display: inline-block; max-width:160px; font-size:14px; font-weight:bold; overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.user_cirbtn_yellow{ color:#fff; background:#ffb400; padding:0 5px;-webkit-border-radius:10px;-moz-border-radius:10px;-o-border-radius:10px;border-radius:10px; line-height:16px; } +.user_info_inner{ width:210px; margin:0 15px 15px;} +.user_atten li{ width:68px; float:left; border-right:1px solid #e5e5e5; text-align:center; font-size:14px;} +.user_atten li a{ color:#333;} +.user_atten li a:hover{ color:#3b94d6;} +.user_atten li:last-child{ border:none;} +.user_info_intro{ margin:10px auto; width:210px; color:#888; text-align: center;} +a.user_editinfo{border-top:1px solid #e5e5e5; height:30px; line-height:30px; text-align:center; color:#3b94d6; width:100%; display:inline-block;} +/* 个人主页左侧导航 */ +.user_leftnav{ width:240px;} +.users_accordion li > a {display: block;padding: 0 10px 0 32px;height:49px;line-height:49px;color: #333;font-size:16px;background: #f8f8f8;border:1px solid #e5e5e5;border-bottom:none;} +.users_accordion > li:hover > a{color: #3b94d6;background: #fff;} +.users_accordion > li:target > a, +.users_accordion > li > a.active {color: #3b94d6;background: #fff;border:1px solid #e5e5e5;border-left:3px solid #3b94d6;border-bottom:none;} +.users_accordion li{ position:relative;} +.users_accordion li > a span {margin-top:15px;font-size:12px;padding: 0 10px;background: #dbdbdb;-webkit-border-radius: 15px;-moz-border-radius: 15px;border-radius: 15px;margin-left:10px;color: #333;} +.users_accordion > li:hover > a span, +.users_accordion > li:target > a span, +.users_accordion > li > a.active span {margin-left:10px;color: #333;background: #dbdbdb;} +/* Images */ +.users_accordion > li > a:before {position: absolute;top: 0;left: 0;content: '';width: 24px;height: 50px;margin: 4px 8px;background-repeat: no-repeat;background-image:url(/images/user/icons_user_leftnav.png);background-position: 5px 15px;} +.users_accordion li.user_icons_course > a:before { background-position: 5px 15px; } +.users_accordion li.user_icons_course:hover > a:before, +.users_accordion li.user_icons_course:target > a:before, +.users_accordion li.user_icons_course > a.active:before { background-position: -25px 15px; } +.users_accordion li.user_icons_new > a:before { background-position: 5px -48px; } +.users_accordion li.user_icons_new:hover > a:before, +.users_accordion li.user_icons_new:target > a:before, +.users_accordion li.user_icons_new > a.active:before { background-position: -25px -48px; } +.users_accordion li.user_icons_addclass > a:before { background-position: 5px -87px; } +.users_accordion li.user_icons_addclass:hover > a:before, +.users_accordion li.user_icons_addclass:target > a:before, +.users_accordion li.user_icons_addclass > a.active:before { background-position: -25px -87px; } +.users_accordion li.user_icons_myhw > a:before { background-position: 5px -124px; } +.users_accordion li.user_icons_myhw:hover > a:before, +.users_accordion li.user_icons_myhw:target > a:before, +.users_accordion li.user_icons_myhw > a.active:before { background-position: -25px -124px; } +.users_accordion li.user_icons_project > a:before { background-position: 5px -167px; } +.users_accordion li.user_icons_project:hover > a:before, +.users_accordion li.user_icons_project:target > a:before, +.users_accordion li.user_icons_project > a.active:before { background-position: -25px -167px; } +.users_accordion li.user_icons_addproject > a:before { background-position: 5px -205px; } +.users_accordion li.user_icons_addproject:hover > a:before, +.users_accordion li.user_icons_addproject:target > a:before, +.users_accordion li.user_icons_addproject > a.active:before { background-position: -25px -205px; } +.users_accordion li.user_icons_myissues > a:before { background-position: 5px -246px; } +.users_accordion li.user_icons_myissues:hover > a:before, +.users_accordion li.user_icons_myissues:target > a:before, +.users_accordion li.user_icons_myissues > a.active:before { background-position: -25px -246px; } +.users_accordion li.user_icons_mes > a:before { background-position: 5px -289px; } +.users_accordion li.user_icons_mes:hover > a:before, +.users_accordion li.user_icons_mes:target > a:before, +.users_accordion li.user_icons_mes > a.active:before { background-position: -25px -289px; } +/* Sub Menu */ +.user_sub_menu li a {color: #797979;background: #f8f8f8;height:39px;line-height:39px;font-size:14px;} +.user_sub_menu li a:hover,.user_sub_menu li a:target { color:#3b94d6; background:#fff url(/images/user/user_navmore_icons.png) 0px 0px no-repeat;} +.user_sub_menu li a:hover,.user_sub_menu li a:target{} +.user_sub_menu li:last-child a { } +.users_accordion li > .user_sub_menu {display: none;} +.users_accordion li:target > .user_sub_menu {display: block;} +.user_sub_menu > li > span.user_icons_class {padding:0;border:none;display:block;position: absolute;top:18px;left:10px;width:20px;height:20px;background:url(/images/user/icons_user_leftnav.png) 0px -34px no-repeat;} +a.user_navmorebox{ display:block; width:238px; height:20px; position:relative; background:#f8f8f8;border:1px solid #e5e5e5; border-bottom:none;} +a:hover.user_navmorebox{ background:#fff;} +a.user_navmorebox .user_icons_moreclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) 5px -347px no-repeat;} +a.user_navmorebox .user_icons_closeclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) -25px -347px no-repeat;} +/* 个人主页左侧导航更多功能 */ +.user_navmore_box {position:absolute; width:15px; height:15px; right:13px; top:17px; cursor:pointer;} +.user_navmore_box ul li:hover ul {display:block; } +.user_navmore_icons {background:url(/images/user/icons_user_leftnav.png) -15px -34px no-repeat; width:19px; height:15px; } +.user_navmore_icons:hover {background:url(/images/user/icons_user_leftnav.png) -30px -34px no-repeat;} +.user_navmore_txt { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:115px;} +.user_navmore_txt li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:75px; } +.user_navmore_txt li a.user_navmore_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px; } +.user_navmore_txt li a.user_navmore_add{ width:10px;color:#888; padding:0 5px; } +.user_navmore_txt li:hover,.user_navmore_txt li a:hover{background-color:#f0f0f0;} From 5445ae3f222db2b8b436a06747b2453148b7825d Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 12 Dec 2016 10:28:20 +0800 Subject: [PATCH 11/57] conflict --- .../layouts/base_course_community.html.erb | 113 ++++++++++++ .../layouts/base_project_community.html.erb | 96 ++++++++++ app/views/users/_new_user_message.html.erb | 27 +++ .../users/_new_user_message.html.erb.BASE.erb | 0 .../_new_user_message.html.erb.LOCAL.erb | 27 +++ .../_new_user_message.html.erb.REMOTE.erb | 27 +++ app/views/users/_no_data.html.erb | 4 + app/views/users/_no_data.html.erb.BASE.erb | 0 app/views/users/_no_data.html.erb.LOCAL.erb | 4 + app/views/users/_no_data.html.erb.REMOTE.erb | 4 + app/views/users/course_community.html.erb | 39 ++++ app/views/users/course_community.js.erb | 6 + app/views/users/project_community.html.erb | 37 ++++ app/views/users/project_community.js.erb | 6 + .../users/project_community.js.erb.BASE.erb | 0 .../users/project_community.js.erb.LOCAL.erb | 6 + .../users/project_community.js.erb.REMOTE.erb | 6 + public/images/user/apply_tab.png | Bin 0 -> 108591 bytes public/images/user/home-user-left.png | Bin 0 -> 111449 bytes public/images/user/home-user-mes.png | Bin 0 -> 107495 bytes public/images/user/homepage_tab.png | Bin 0 -> 110856 bytes public/images/user/nonews.png | Bin 0 -> 112502 bytes public/stylesheets/css/user.css | 170 ++++++++++++++++++ public/stylesheets/css/user.css.BASE.css | 0 public/stylesheets/css/user.css.LOCAL.css | 170 ++++++++++++++++++ public/stylesheets/css/user.css.REMOTE.css | 170 ++++++++++++++++++ 26 files changed, 912 insertions(+) create mode 100644 app/views/layouts/base_course_community.html.erb create mode 100644 app/views/layouts/base_project_community.html.erb create mode 100644 app/views/users/_new_user_message.html.erb create mode 100644 app/views/users/_new_user_message.html.erb.BASE.erb create mode 100644 app/views/users/_new_user_message.html.erb.LOCAL.erb create mode 100644 app/views/users/_new_user_message.html.erb.REMOTE.erb create mode 100644 app/views/users/_no_data.html.erb create mode 100644 app/views/users/_no_data.html.erb.BASE.erb create mode 100644 app/views/users/_no_data.html.erb.LOCAL.erb create mode 100644 app/views/users/_no_data.html.erb.REMOTE.erb create mode 100644 app/views/users/course_community.html.erb create mode 100644 app/views/users/course_community.js.erb create mode 100644 app/views/users/project_community.html.erb create mode 100644 app/views/users/project_community.js.erb create mode 100644 app/views/users/project_community.js.erb.BASE.erb create mode 100644 app/views/users/project_community.js.erb.LOCAL.erb create mode 100644 app/views/users/project_community.js.erb.REMOTE.erb create mode 100644 public/images/user/apply_tab.png create mode 100644 public/images/user/home-user-left.png create mode 100644 public/images/user/home-user-mes.png create mode 100644 public/images/user/homepage_tab.png create mode 100644 public/images/user/nonews.png create mode 100644 public/stylesheets/css/user.css create mode 100644 public/stylesheets/css/user.css.BASE.css create mode 100644 public/stylesheets/css/user.css.LOCAL.css create mode 100644 public/stylesheets/css/user.css.REMOTE.css diff --git a/app/views/layouts/base_course_community.html.erb b/app/views/layouts/base_course_community.html.erb new file mode 100644 index 000000000..c6bcc8925 --- /dev/null +++ b/app/views/layouts/base_course_community.html.erb @@ -0,0 +1,113 @@ + + + + + <%= h html_title %> + + + <%= csrf_meta_tag %> + <%= favicon %> + <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','css/common', 'css/structure','css/public', 'prettify','css/project','css/courses','css/popup','syllabus','css/moduel', 'css/user', :media => 'all' %> + <%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %> + <%= javascript_heads %> + <%= javascript_include_tag "bootstrap","avatars","new_user",'attachments','prettify'%> + <%= heads_for_theme %> + <%= call_hook :view_layouts_base_html_head %> + <%= yield :header_tags -%> + + + + + + + +

      +
      +
      + +
      +
      +
      +
      + <% if hidden_unproject_infos %> +
        +
      • + <%= link_to '班级',{:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list" %> + <%= link_to '全部',{:controller => "users", :action => "user_courselist", :id => @user}, :style => "color:#aaa;" %> + <% courses = @user.favorite_courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10) %> +
        + <%=render :partial => 'layouts/homepage_left_course_list', :locals => {:courses => courses} %> +
        +
      • + <% if is_current_user %> +
      • + <%= link_to "新建课程", new_syllabus_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "新建班级", new_course_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "加入班级",join_private_courses_courses_path,:remote => true, :method => "post", :style => "font-size:14px;" %> +
      • + <% end %> +
      + <% end %> +
        + <% if @user == User.current %> +
      • + <%=link_to '我的作业', my_homeworks_user_path(@user), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "题库", user_homeworks_user_path(User.current), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "资源库", user_resource_user_path(User.current, :type => 1), :target => "_blank",:style => "font-size:14px;" %> +
      • + <% end %> +
      +
      +
      +
        +
      • + <%= link_to '留言', feedback_path(@user, :host=> Setting.host_user)%> +
      • +
      +
      + <%# 更新访问数,刷新的时候更新访问次数 %> + <% update_visiti_count @user %> +
      访问计数 <%= @user.visits.to_i %> (自2016年5月)
      +
      +
      + <%= yield %> +
      +
      +
      +
      +<%= render :partial => 'layouts/footer' %> +
      + + + + + + \ No newline at end of file diff --git a/app/views/layouts/base_project_community.html.erb b/app/views/layouts/base_project_community.html.erb new file mode 100644 index 000000000..f1b2e20ba --- /dev/null +++ b/app/views/layouts/base_project_community.html.erb @@ -0,0 +1,96 @@ + + + + + <%= h html_title %> + + + <%= csrf_meta_tag %> + <%= favicon %> + <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','css/common', 'css/structure','css/public', 'prettify','css/project','css/courses','css/popup','syllabus','css/moduel', 'css/user', :media => 'all' %> + <%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %> + <%= javascript_heads %> + <%= javascript_include_tag "bootstrap","avatars","new_user",'attachments','prettify'%> + <%= heads_for_theme %> + <%= call_hook :view_layouts_base_html_head %> + <%= yield :header_tags -%> + + + + + + + + +
      +
      + +
      +
      +
      +
      +
        +
      • + <%= link_to '项目',{:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list'%> + <%= link_to '全部',{:controller => "users", :action => "user_projectlist", :id => @user}, :style => "color:#aaa;" %> + <% projects = @user.favorite_projects.visible.select("projects.*, (SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10)%> +
        + <%=render :partial => 'layouts/homepage_left_project_list', :locals => {:projects => projects} %> +
        +
      • + <% if is_current_user %> +
      • + <%= link_to "新建项目", new_project_path(:host=> Setting.host_name), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "加入项目", applied_join_project_path, :remote => true, :method => "post", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "我的Issue", user_issues_user_path(@user), :target => "_blank", :style => "font-size:14px;" %> +
      • + <% end %> +
      +
        +
      • + <%= link_to '留言', feedback_path(@user, :host=> Setting.host_user)%> +
      • +
      +
      + <%# 更新访问数,刷新的时候更新访问次数 %> + <% update_visiti_count @user %> +
      访问计数 <%= @user.visits.to_i %> (自2016年5月)
      +
      +
      + <%= yield %> +
      +
      +
      +
      +<%= render :partial => 'layouts/footer' %> +
      + + + + + + \ No newline at end of file diff --git a/app/views/users/_new_user_message.html.erb b/app/views/users/_new_user_message.html.erb new file mode 100644 index 000000000..1bf3feda6 --- /dev/null +++ b/app/views/users/_new_user_message.html.erb @@ -0,0 +1,27 @@ +<% message_alls.each do |ma| %> + <%# 系统消息 %> + <%= render :partial => 'users/user_message_system', :locals => {:ma => ma} %> + + <%= render :partial => 'users/user_at_message', :locals => {:ma => ma} %> + + <%# 课程消息 %> + <%= render :partial => 'users/user_message_course', :locals => {:ma => ma} %> + + + <%= render :partial => 'users/user_message_forge', :locals => {:ma => ma} %> + + + <%= render :partial => 'users/user_message_forum', :locals => {:ma => ma} %> + + + <%= render :partial => 'users/user_message_userfeedaback', :locals => {:ma => ma} %> + + <%= render :partial => 'users/user_message_org', :locals => {:ma => ma} %> + + <%# 申请类消息 %> + <%= render :partial => 'users/user_message_applied', :locals => {:ma => ma} %> +<% end %> + +
        + <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true, :is_new => true %> +
      \ No newline at end of file diff --git a/app/views/users/_new_user_message.html.erb.BASE.erb b/app/views/users/_new_user_message.html.erb.BASE.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/users/_new_user_message.html.erb.LOCAL.erb b/app/views/users/_new_user_message.html.erb.LOCAL.erb new file mode 100644 index 000000000..1bf3feda6 --- /dev/null +++ b/app/views/users/_new_user_message.html.erb.LOCAL.erb @@ -0,0 +1,27 @@ +<% message_alls.each do |ma| %> + <%# 系统消息 %> + <%= render :partial => 'users/user_message_system', :locals => {:ma => ma} %> + + <%= render :partial => 'users/user_at_message', :locals => {:ma => ma} %> + + <%# 课程消息 %> + <%= render :partial => 'users/user_message_course', :locals => {:ma => ma} %> + + + <%= render :partial => 'users/user_message_forge', :locals => {:ma => ma} %> + + + <%= render :partial => 'users/user_message_forum', :locals => {:ma => ma} %> + + + <%= render :partial => 'users/user_message_userfeedaback', :locals => {:ma => ma} %> + + <%= render :partial => 'users/user_message_org', :locals => {:ma => ma} %> + + <%# 申请类消息 %> + <%= render :partial => 'users/user_message_applied', :locals => {:ma => ma} %> +<% end %> + +
        + <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true, :is_new => true %> +
      \ No newline at end of file diff --git a/app/views/users/_new_user_message.html.erb.REMOTE.erb b/app/views/users/_new_user_message.html.erb.REMOTE.erb new file mode 100644 index 000000000..1bf3feda6 --- /dev/null +++ b/app/views/users/_new_user_message.html.erb.REMOTE.erb @@ -0,0 +1,27 @@ +<% message_alls.each do |ma| %> + <%# 系统消息 %> + <%= render :partial => 'users/user_message_system', :locals => {:ma => ma} %> + + <%= render :partial => 'users/user_at_message', :locals => {:ma => ma} %> + + <%# 课程消息 %> + <%= render :partial => 'users/user_message_course', :locals => {:ma => ma} %> + + + <%= render :partial => 'users/user_message_forge', :locals => {:ma => ma} %> + + + <%= render :partial => 'users/user_message_forum', :locals => {:ma => ma} %> + + + <%= render :partial => 'users/user_message_userfeedaback', :locals => {:ma => ma} %> + + <%= render :partial => 'users/user_message_org', :locals => {:ma => ma} %> + + <%# 申请类消息 %> + <%= render :partial => 'users/user_message_applied', :locals => {:ma => ma} %> +<% end %> + +
        + <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true, :is_new => true %> +
      \ No newline at end of file diff --git a/app/views/users/_no_data.html.erb b/app/views/users/_no_data.html.erb new file mode 100644 index 000000000..e6272870c --- /dev/null +++ b/app/views/users/_no_data.html.erb @@ -0,0 +1,4 @@ +
      +
      +

      该用户无公开动态~

      +
      \ No newline at end of file diff --git a/app/views/users/_no_data.html.erb.BASE.erb b/app/views/users/_no_data.html.erb.BASE.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/users/_no_data.html.erb.LOCAL.erb b/app/views/users/_no_data.html.erb.LOCAL.erb new file mode 100644 index 000000000..e6272870c --- /dev/null +++ b/app/views/users/_no_data.html.erb.LOCAL.erb @@ -0,0 +1,4 @@ +
      +
      +

      该用户无公开动态~

      +
      \ No newline at end of file diff --git a/app/views/users/_no_data.html.erb.REMOTE.erb b/app/views/users/_no_data.html.erb.REMOTE.erb new file mode 100644 index 000000000..e6272870c --- /dev/null +++ b/app/views/users/_no_data.html.erb.REMOTE.erb @@ -0,0 +1,4 @@ +
      +
      +

      该用户无公开动态~

      +
      \ No newline at end of file diff --git a/app/views/users/course_community.html.erb b/app/views/users/course_community.html.erb new file mode 100644 index 000000000..2a066c86b --- /dev/null +++ b/app/views/users/course_community.html.erb @@ -0,0 +1,39 @@ + + +
      +
      消息动态
      +
        +
      • +
          +
        • +
            + <% if hidden_unproject_infos %> +
          • <%= link_to "全部动态", {:controller => "users", :action => "course_community", :type => "all"}, :class => "homepagePostTypeAll postTypeGrey" %>
          • +
          • <%= link_to @user == User.current ? "我的动态" : "他的动态", {:controller => "users", :action => "course_community", :type => "current_user"}, :class => "homepagePostTypeMine postTypeGrey" %>
          • +
          • <%= link_to "作业动态", {:controller => "users", :action => "course_community", :type => "course_homework"}, :class => "homepagePostTypeAssignment postTypeGrey" %>
          • +
          • <%= link_to "通知动态", {:controller => "users", :action => "course_community", :type => "course_news"}, :class => "homepagePostTypeNotice postTypeGrey" %>
          • +
          • <%= link_to "论坛动态", {:controller => "users", :action => "course_community", :type => "course_message"}, :class => "homepagePostTypeForum postTypeGrey" %>
          • +
          • <%= link_to "问卷动态", {:controller => "users", :action => "course_community", :type => "course_poll"}, :class => "homepagePostTypeQuiz postTypeGrey" %>
          • +
          • <%= link_to "班级留言", {:controller => "users", :action => "course_community", :type => "course_journals"}, :class => "homepagePostTypeMessage postTypeGrey" %>
          • +
          • <%= link_to "个人留言", {:controller => "users", :action => "course_community", :type => "user_journals"}, :class => "homepagePostTypeMessage postTypeGrey" %>
          • + <% end %> +
          +
        • +
        +
      • +
      +
      + + +<%# if @user.blog.homepage_id and BlogComment.where("id=?", @user.blog.homepage_id).count > 0 %> + <%# homepage = BlogComment.find(@user.blog.homepage_id) %> + <%#= render :partial => 'blogs/homepage', :locals => {:activity => homepage, :user_activity_id => homepage.id} %> +<%# end %> + <% if @user_activities_count > 0 %> + <%= render :partial => 'users/user_activities', :locals => {:user_activities => @user_activities, :page => 0, :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), :action => params[:action] } %> + <% else %> +
      + <%= render :partial => 'users/no_data' %> +
      + <% end %> diff --git a/app/views/users/course_community.js.erb b/app/views/users/course_community.js.erb new file mode 100644 index 000000000..be78ac849 --- /dev/null +++ b/app/views/users/course_community.js.erb @@ -0,0 +1,6 @@ +$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'users/user_activities', + :locals => {:user_activities => @user_activities, + :page => @page, + :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), + :action => "course_community"} )%>"); \ No newline at end of file diff --git a/app/views/users/project_community.html.erb b/app/views/users/project_community.html.erb new file mode 100644 index 000000000..ce0129dae --- /dev/null +++ b/app/views/users/project_community.html.erb @@ -0,0 +1,37 @@ + + +
      +
      消息动态
      +
        +
      • +
          +
        • +
            + <% if hidden_unproject_infos %> +
          • <%= link_to "全部动态", {:controller => "users", :action => "project_community", :type => "all"}, :class => "homepagePostTypeAll postTypeGrey" %>
          • +
          • <%= link_to @user == User.current ? "我的动态" : "他的动态", {:controller => "users", :action => "project_community", :type => "current_user"}, + :class => "homepagePostTypeMine postTypeGrey" %>
          • +
          • <%= link_to "问题动态", {:controller => "users", :action => "project_community", :type => "project_issue"}, :class => "homepagePostTypeQuestion postTypeGrey"%>
          • +
          • <%= link_to "论坛动态", {:controller => "users", :action => "project_community", :type => "project_message"}, :class => "homepagePostTypeForum postTypeGrey"%>
          • +
          • <%= link_to "个人留言", {:controller => "users", :action => "project_community", :type => "user_journals"}, :class => "homepagePostTypeMessage postTypeGrey" %>
          • + <% end %> +
          +
        • +
        +
      • +
      +
      + + +<%# if @user.blog.homepage_id and BlogComment.where("id=?", @user.blog.homepage_id).count > 0 %> +<%# homepage = BlogComment.find(@user.blog.homepage_id) %> +<%#= render :partial => 'blogs/homepage', :locals => {:activity => homepage, :user_activity_id => homepage.id} %> +<%# end %> +<% if @user_activities_count > 0 %> + <%= render :partial => 'users/user_activities', :locals => { :user_activities => @user_activities, :page => 0, :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), :action => params[:action] } %> +<% else %> +
      + <%= render :partial => 'users/no_data' %> +
      +<% end %> diff --git a/app/views/users/project_community.js.erb b/app/views/users/project_community.js.erb new file mode 100644 index 000000000..aeebef08e --- /dev/null +++ b/app/views/users/project_community.js.erb @@ -0,0 +1,6 @@ +$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'users/user_activities', + :locals => {:user_activities => @user_activities, + :page => @page, + :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), + :action => "project_community"} )%>"); \ No newline at end of file diff --git a/app/views/users/project_community.js.erb.BASE.erb b/app/views/users/project_community.js.erb.BASE.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/users/project_community.js.erb.LOCAL.erb b/app/views/users/project_community.js.erb.LOCAL.erb new file mode 100644 index 000000000..aeebef08e --- /dev/null +++ b/app/views/users/project_community.js.erb.LOCAL.erb @@ -0,0 +1,6 @@ +$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'users/user_activities', + :locals => {:user_activities => @user_activities, + :page => @page, + :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), + :action => "project_community"} )%>"); \ No newline at end of file diff --git a/app/views/users/project_community.js.erb.REMOTE.erb b/app/views/users/project_community.js.erb.REMOTE.erb new file mode 100644 index 000000000..aeebef08e --- /dev/null +++ b/app/views/users/project_community.js.erb.REMOTE.erb @@ -0,0 +1,6 @@ +$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'users/user_activities', + :locals => {:user_activities => @user_activities, + :page => @page, + :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), + :action => "project_community"} )%>"); \ No newline at end of file diff --git a/public/images/user/apply_tab.png b/public/images/user/apply_tab.png new file mode 100644 index 0000000000000000000000000000000000000000..e5daa7e5fd8c4d71416319b97a1e844af783d03e GIT binary patch literal 108591 zcmeF42bf+}_3nqF0tzBh1VmyG{wjRr^b$$nRDyzFXhB8&Y6v8mm`or+MJ(7*iZrPr zpoj)+D2Ox_1*HiJBA^s0B49uSM2h#f_W5QeOcG|FbLQUr+~>LasF-AS&e>=0Ro?Zk zcYSfM_wKs>dRweFFfg$GZZp!E{IAb{-nGuF`R{u+-)I{Dv+jZ!2P_&G*x(xZ&l)Ff zzrmIR1MBTECrS3&>!87*!9@oRE||1il1y5#aIiOLZg*f{$(?8Jeb}rMp51i%Joz>#oDIJ^(ERL%8}0I|qrR}-ej9J{hBIdDd(EeBTW`jh zU%3D5w_iFt`qCHPfAqc|4F0k8-RJ-K6NfK<{PE}i`26J$pYiYuH!Z#S^+qwS7= z=$wNG!kI_yH1&?HkKJ>|HNUyy$Tc^aaqrrbHhk#%U(9~huLcI5SZnE$BZj`e^9yTy zZ*XAEfd#ki__mF%z3;!DxoofP_8*vZ{J_1FH+uNBYaBOo;JO|6xo+cu>)tf*{k?zG zS#RLPfq}V8KORpW_|EzRkNs=6>8~2NW8l=c@A|eiclp`C zNA~^H%pKOe`WFLdFWY7Ej%#0i(Hch{@Dpp-HIKaFRRf0}GwZn5@A8p>BTtQYxM5&Y zu;xJWmN(wG)}-CnI@`GQs(UZ^@PeZ*ow3Hi)z_bN<0LJjWZrzYxkR8H!!fpbGQ8brC{gd9)9S7`yT2&Ja_rO zes#`EhdePjdHP$QyyvCMzr5z!0~@~g=H+*O_`wHnUu(g&YkYt4Rfk;gfq^^s8#w5m z=MJ>*TKDYtulKvdpF4VK@WL){IqMsHUANO#Z(i@UuYG*m);F#&{(AKE|JwHr-h1>B z&+xl1-F5gA10OwYms2mi`rOaF_|fM4Lob?n%){5O9h>u?eR!Lfu086LFCO!bTkdy$ z@WCB6`O=fKzIf?gllQoG=}%`KpT6}sC*8l%BcHUM-1_7f*FE8|^#_)HZqKXV`;*uF z`1-k5AMuYh);xNHS+^cKu*(roHNL#XYmXn;aJFMDeRg2rgsYxAc9-qf7`XA2^Zq(8 zaQWZf^uceRxY_Q%UT0t+J^NGd{C@PB*Zq9sWmj)-#?QC9{OZltY`!|(<#lhndZ!KJ zS3hv%o7elsn@)~4-{5=Qz6~$_xf!hg@Vy&-@KcX2*zDCGdDB_H zc+=&dTX*f~x^>>zeCyONyrFf>9g}ZbXR}j}S$lGGhV#`U&ztnf7dC$1I4@VqrI zhz~ygz!}^8v$1gF@GBqO$t$%N7^EW!jNHIp_Ra-t)J`Lj#}q(lPBLZ!tIMefdw#4}SUc*+;%O zYm4o!-L(DSEO)dwA&}TRN#oSLHcigVCcAu4e zd)vphxp^lrDi^Mh-D^Xpc8>e=6U z-;EcX^@nx7^M$EjfB$at&OUUnDSLnZf;T#gPuup!(>G17Kd*7_ZNEEh&g?nQ9yH~V zq083&^Jm_Yo$|X=Zaw60uX*I*M?Ukf!(O-k=hpwswKH08-~5oxKeqY#Z@OgjDW~rK ztylg2lvA(U$M~bQ<*Bp3_WG|4?mO$9&%E>Fn;ie!jZT_+(tal$ani%z*=OHH`|f<( z((k->pYQJb`tN>dzfXKC-}gs*{q=%%|FG$IZ@XZteSda=chOBV51V=HUN^t*!{=W4 z;TJ#spZ5Ac{M=Fb*`J$n?mq2He!clu-n!|pt?rYv;@cPQx7MRO9P+h2S|9k~bC2zQ z=&PRJ^3W+C+kNk3(RX^wddK(9eCVS$uCc+de{k;;;h)ZU_f2oTY5ki%)>x~tbK?iM zAADi&!Xqy9?>zj@EAMPQzVPu)AAj`D<%<`bxyzY5ocZ+Bc~hTVyzXV*W$(M}sLSqJ zeDmL@|Gxd`(nr>P`nOMS@W`KU+4bpp|2p^S&Hldp_T{&1?HkTI-f^4HHG}pOHyqdg z+aX_@bLlNleD=O?zv23WE<663gU-EWw{!pJ((V57`PqMUmuxn@w`}mut!2(%x_2M4 zQ?oV4y6e1a&imB^SH9!M6AwA9ciAl$|9$XU%R|8)6X zFMQ>wZ)Ruw>fJ|sM_+sLohN_%`d6L2$H~tw``Uif_glK()BF8#*>1Og@X;L}op<~G zbNAYE|I=T0`qa~}|H-#6JpICJ4n2L|JsaP@@v-l?^&L;|J^xPgu@@d&@3GS!d-dbt zGtFnVeP-S>H*a;rn>X6(_IC}v>*EWD7T<8_+y$3Edft7`FE6;}f?qze|LiSie`C>^ zPq~|Y>pjO^ztJg&p0e5A^UnX$`SZVi`1L0}xWzv%yYvm(_b$4C!fqSpG{$n4RI(=IAKQ}$H*7RRbU-RpSfBo}Ue(TD~_e{HTnzujC`?vg$al>}I zzvcEf9P_!G*STlIBL=_q-0qLu@RN1EaPO{jzi{c+b2dM9v*$js@jKpWeP_qNzwhF` zhdw&=><+gtd*FcQXJ2v5lgD20<)6Omu7iKF@X*=I4xT%6Zu_y*FFo?o?_Bz+C7=Iy z_T(uW4ZZPg>puR)2d=r}nrUDB>!LLuo_m^o#sjDAbMjF8q6hCj=ck)J^vF%upLN(y z2e=0u_wnGUuWfY74|jg>Gn3-Iro3s-2hX3s$5wCr=VwnpYR~M-bG~xU`+jiArSIP9 zs}G&I-$~B|e}2~|lK&j^xjpm6zqZ%ibLRF-kKg>OKi%f3J@!j)|I4zQ|Mby6HNq3m zIPr{gXRbfz(cN4=#ER5 z9Ps45ldsBtw&^xU@4eY!JDLa1ysWci&J(wO;`)QG|KZ6m?sfmHnfw0p;H7u}^O%{R zx%HdhOt$~@{?17kocNpT=U?=%_y4rLN%N%6zRM3j<+cy(_sMr|cG8EJEm-#Li~jxn z{L+W+-~YWIzU|{rFP(Sioqu`vCBJ?A(HW1P_vrj(&mM5q_uhTQ!O?BM``i=jU%2Iy zUwLrL56^q|UxvPM_`y#fbK}J~{`SVT+@|~Z2X6Suvb+BI4e#7%4nOmg2VTG5ix+

      g;$_(k;K&;RG1Z+-k@f8FbE-?-_QcmMLndrtl2B~P#O=!~V?-#YcG#mgG! z&O3YBH?COzw=bW2=2jotYS$|-`R@_S&A+x6U+W&b|5<0B`Sxi~KKH<f09m@!x;k z@xZSyy<+*VAKUVh`P=>Z&6jR_+0*|%^qI#uJ8Zpw?0)xwhabD-doNsh=Zk-T&3|71 z_fKB@(hs^<&%5{EAG!J?H~;d0*Dv2--Or!((ux25{patyb=Mnqy=|L(o39*u=GI$p zx&9Vc{Ihe@3HP1l4c_U4Gd;*Iu#psc(N_mzVZ>>X!esuRZ^F zdp-uiWWV2xAno3qcXp;>$EKD9kKZ^ve5u+`mh$-D)Gp#uXu z?Yv|`vwcW+Xi}>?d(Ql6lb8SOs>ze)bf!(--`&I5V?okAXwHno7k2kP{Js0M4?m^ew8?7SsrR6Nd|C&5~J^pE@g`M8i znQ7kt>-c}uCLc63v|#F#DTf_)*p7$UI}R?KJ;e;eaEf6~v8)DvqOoY{{GsNO#{5Ow z6pIY6lXe%i7tUEQG-q)BBw4rF8eBXyZSrLKi$?y{f3JB9M*gDti~4)VE>2m}TrkDl z(U`KTAL_J6erCbqg>%)Tb=p(9bG!4p^M@AkbLJ|4jxF6|kC7i;ihPMO(VG`M(SyPF-#lWeo9hhH=_vpc%E8cXrVSGmxF;Y4QD&o%Pf ztKG(-Ila|9i2TlKf2_M?&T4*4ey8{`b*73>y%W1WHCfng4h=5cXK--t^y0XVreS1Z zay%!!eg8T0JA;QUddE&v#{S6Y!5Lkxn>L5K)A>oSVOk9%+{g5%nl5L1dn1@?7%MDN z{K+wE?7=1KG>4k2Ud6RnT;*kdcI-NXojJXwTC0ry$raY00Y8Z4nj>nx0Lep;aI!@3Cf_ArI zn!e#R?V#D|wbgd)vB!!(zS7d^V0*D#AeJs{O=qyp@*@Xns?lv)9j9kETAiN3@?EbH zc7t}K%$=i*)`I53 zMP0em(Jck9V#MTUlx>*WY>T;@-j;*j?d&w=WxqQ5SR+5#|FJnMe@?wEDAr%$ z$5;P%9ClE5{wrOSVkz~fR=>!i!QRke&4t})HYY^q4i~Gw{Kv*Fzta?P4|C`IZ}XIB5lATkQJ^Yy2O4*G_lgoHFNhg{K_Zrb+*gy>soGsps#C&-(vwX5n!POZ#%4 zHyjhJ>?0-05+7ci&Rp)480zs|B3_Mfb?OScJ{+Xzn$s~q{<6E+U!AaII8G@SHWUxH z!jG?N^})KqN%6O=VwusuZFuKb*x(gh;7%i!Y9xw^i1;LsS+v3*6RRy>C2r1s`L7QD z27c8{Qk+&Ac}eWLcHkL7lBH>qy0Pb{Zeow;fTvqY90f@nI8oxKwwD@?Yx$nx<%W^? zmXnOXK;~wi<))752fk&6kz-{M|LE9ho~5BR?gF-vo1q(9t`lWW7TLaSMNyXeZsr8J zVVUDEU>k|$#-_;+21#HTMjS>#lo_$@Mt(R z_)ieIVc?pEALN!31d*BgM&QPIYWQ*N<>P-wC(E2Xasy655aw25MX?{{HbHqDq=rc( z^vaRkbk}k+KaN5(Pm<8cBF9V2Aa#7h4mpkz)Q`JBzR%f8oZ5RjenH6gb9{3<@jYLA2M`Y zGmq0Sjk!q}t8q6mblC+zjG~a!VB~q=a~r+HGBU#q;xHJ00nZ8(GYU8bo*75{o$Ltr zkguBXTN+P*A02%jDHd%+f9rJ*MKJqgV>ESE|%qU7F;WG zbQZ|mJogjBcQNO==VW%u_s1+HY$)ez+&zf+X+Luk+r|)@uA7IEXW2LRZhkc1s`qa?EPJaZx}dT7~UH2z(Pb3UK!yXo;4S}8Xm!6X2HxT&4G;~NxAATUX8 z1a^>dd#x;Y0^7{|jLVJ39RDbDUf66Sb2+_H>^U}pf@kwheOy+cVN|m?h$7#_4tZ&Y zDY6|qN(0*uOfQmU$NdUfVkCjb2Q=c$2^}ZL$GF@ifIZW)lkqQ8?s~Qt20_A6b{yX% zP_UEK3BoW16f?&UaaP2-Kp;C)J7G6;yWLi!<$E?T7f5$t@qYum7qpv!-SK+kf0`9n z9gXLJ<$GYA?S_Z%lBGM1plx&;ou)x_=69P-uQ%?Nt!C*CyWoVqhUs`gv2@GnxQ(Xo zb-S)6!s(pc^bj_$STatwp6-LNgYBTI*kpxF%?z==WEZ?)W}Re5R8 z>bYKv$29y_u_0m0>omHK2Sn+Zy&$Z-v>!IzUfXK`>AJFXv(fT=x6x@?L9gpHeGXy8 z&u9|=80YDN?S_rebh?Jy@jBfA;Ih&QFl*QvZA-CoaV`t3%m#YN$%Id?r^;kMoN+Z``3Th{niX4Qw!B6702PS`M-f%=Rc zz~&zN<650=&+eKnyXsS0_;o-+j}39SlCswmwINn$J4TBuWBNTumd1vdVE#RRt!K2F z?I0ZAYOZEOx~^?_n5U-CHWzzs8~op<-LtKp6E?e5&66DlUZ>-8Buqy=byGg0-{^(d zRNJwdrq`@^`0SQLc_1(wJ+rB<45m7y9MU1VaP4Nh8%kNC(z&*~t+3;EjE3(~WMV_w z;J-eV7QYj?VYh1sPSq2F$Mw9xZZ+CHixO7fsJe|_yJxgpmW%lsKMY&-XLOn&o{uB# zc`bF(shyb(L-JsR2Y*am?_!!N*r! zy506IYMqU?$@OMwsxjRr6+(wh-1J**Z~erUBroL9qWalO@E2TjV5E%rZbcOAcF zR$V#(-LP#Uv0f8<$I{pk!}S{kP93|`wMk{G-o}9MXoWrY8c?oyYDqoVpC)*ZO;YPt zy)pquuj4uGhU1vZqhmgNbUeE8Xjb(y&CqJ~>`?r8ON=Uq zL(XHP+a~Ax@DM z;0i24z?O^4?e%OobgFup7AJ!sm2GY+2R4D{x(z4>mcd0Ks+7Zr(d*y}!XD3F#L`>At7lV=C#!$ z;|n@H7YL`~3F-3C>}ea{7%EpFpRs3Rt$JM_8`vYBs=9PHz#6e3P?P%66BH~iXNSFa z$)8-Wsw?Pq-5{{cP6Ohm+7KKVQ4NO=i*5Bh^7rv8UW*sQq@p$=XsqLVc|_^Rj6j%E zuz&D&KXK#naq?mn(~7C~mpi zySSDa%f1Ar@1$Lzps<>6L?Oy2U3cBYOcPe2I2Ps9Gpvj~kH?QVi#PHT`NBE) zy)U~mY3?TLI^`u!H!r9SeUASBUo^lQYMH~H`06~-wQ2+&rMZ{ZCa49u$WIWkjYM;RJ5dgQ5`Cc}D2v@8^rIg3dg2+u|cf-iw z+=ou&I*IQD<6{EFDzRatHqm2T>%1f}6*7-dk#eWp0LtGKD!4;dWJaOx?k1T>AvU&+ zTF;Vki6TCBR&NzAp@wE;UZi$6vdx%6BFUc{QB2XbQdC4!I}2^1=o*$GC(y8{KuR@Q zZljG;Nm8HSBM!1i_q;2QA3pb$hbA@cFvnL2eQ z6bl#Az_~AOBfggEs2|%-0uf>Sf_;A#ii!z;xn1jxcqK1!quixRhh+#T_~N5%Ar1sl zqWPs^EhJeO`7YK@?F+kv^@|LOf7HS?{gLU!RNGyyGKF*5UFz_O&rao$nFO(>-8HHD zxlSHiwN4#1Lzh|^Ud*&p_$7gXD~PGwIZ}msNk@~vl#hVDrV2WepIp7U(W_csSra}#8Ba5Rf*9iHG zv+L!76Z@HM)jGSrZ6{nMYUHUrOOQB0EdIocq8QeL=I(+|m=HxWDy(?5G>EeV=NN;p zSe!>quO@s2tZw9BBE`N?y|?nzN)wO!WE;9SAmP)(ph*%(tr8GcMer!%BnrJq1Enf< zH=+9Oc%hAllvBrPu``RxGeiVx0Gbh*ndBBFYm>`V$6}`NFzh6R#iF91*tDED<}T$B zEi6m-S+Lr|BQOcR`9^S33~rB`5^{#n6m-9I%GL8Co5+Q5nSC+MEHZN&+LQ0v+EywJ zrJQY3N>9>=FC7JTOkJ8)Aq@q(Uph@(f;hNBwRShNU`z=`Ar2%WixSL~pFmr%sJnaP zvlNQ+lHnF})6UaaojPbxVVJpmG!tr}qwCeOj0iP>f@Uh~P2?L9pt&p#XzuE+lH-f; zK0+r{wl2>j0>unUk3{ymZp*C3pvIQ3WlD2fy_e+fIlRJl1MdzTm>tFvjQz3)ZlgXp9SmYxP}i6L)p3j^Frim zKrn;+shO);2A>3DVnJ|}^AdAvg_Oaq#OVi`9@c^w3BStDBX}A3Mr;im8#`gjGiAEj zgk?rnmXchNSt;L$$>uB@E*WG>46nJnkn6}k0waYEEB+{fxa7cpf)JVdndYejVvkeu zUMnXg0tp$9^OP&2}5{hkhM%F6;ibJvp6{{T+C*zvzv;Ok8_A?DmsJ%M?UHh z6_J$kK$`oK#yLok0b7l@gEz`jqJJvOA(l5YHP0?N{REs{+rm#rso=}J61R~gKZt=1 zNQEuPf_iUcTS4F$P&5rsd6GzQJ4_52pbP6-)7G(y5PNNjpHw~#yp<+KN>iOf9Zq*& zEb@k&kK)*J)F6ABa_U03OxScs)4l++5R;kMe8*5X0KzfcMVmm{vHV>3Szu`f#ACSu z^H^bI@I4K<&vG$9L^XHU3p1{99vcq6kn_TIhL3FWk2WZirk{qY33U}~i=CBKh%sG> zFH?ZP+|s>Ac7Q7aQw|{{s&8ZkSxnmLD^jte`=tXi5RzD43j7oMLYqY#gq{Ok9dfkp z?gkl@;?!2;bl#{MN(}v$whSTYyJ~lX+|H6PbcsmdCx@DOfF1Jm7JO_W%GY=nK1$Bb ztA)SV1WzV6{#+b*^a!=S7bO*rIw5v)@)r~N?_X8^{s zNL8_upnhUs@Y>)pgodH*lHO|G0IYy5#(^)S&I=6q#Gy6Fjxbz~?z2z^Fzn0&mQsik zlwXL%YQ~A=^7LKnMr9Ln`7@X!C5f#RGjl}OqWaO@N)__l$ z*sDM@CjmI}W5-Gb)l#PpvmIt+wB+Tmsx|EksH_$Hj)B36k_lc-{yp*6MApt zfcw`!yN(6;j;qJkDKu2_;vis?InH5jYkp}Os6dY}kF{`bdVf;rG9*L=0ts3WrjYd| z*-BkQ_Z!h~;1cjhG;YWZi0Q_HI!|GOj1RO*b9X&*4=ax8!7Fe~lhOts3n+*KWNNPx z8qyN&a58+oROKYb^gNm?$gXYD^+40UunL(beIO~F zZL%*OaR^b6Y&b1CnqH0OH2zMaU3#Qct_E}-l0mv5=f?6i;}?g>AR@%&3Kkd{S!2Y} zkIDCdCUti=rlWwi5?5tI+@r_=xR4qF!H|>a-bTTp3_5LqVC0QpjHVgsYv4f9qGv?& zyigAVm&4n0k;NZjKE+SR9O%T=t;1plEPNpChjqLfHUB70Z4j~|f~Ug5lhDkRnqlh4 znm&M4Xr6<6Q>(59DC_2#nYalZno>b^$R&WC9p8?DgEX@Vmo7B?h8ri2s^(I%0oaFC zNMS0%i0geL8sk6a6bHE$yY z4j^kQfh=7kmSUC6j&12NQr@0+v49|gFGn&;bxQLad01Rh5SzM_vM+Qn#>A~a7dZ|| z_li19cxjR7(DKs$y@FVtk92*@;D=A<})LPztU- z*GQr%&WlO8ov@x13yez_-Qvj7j|!w(i=p9?1989t5)g$m1mILLy^^s90M5`H2cx&Yx=qs4qDt3vNe1VU5(<8s5a8MnHzjNqCL&(KX`{je<(S0 zQJVm!mK=rHIrgLlSo4iiOc8yOa4I}`BSJY)I!w1It?9aW9sSG1a&*oHb+Rm1)BrNz zYEFn`0$|Q`BH$ejD%80y?(OC{d-z2@A*J$1mY2t|Pn$ZxL7HlwT@R)Rz1#FRktqr; zC9wi6n0f5v2H#(AcRfL@qf82?3g4x%ok!u(=<7`>Fzc=oC$R%)4REcjHy!?&gY7lw zXoYvAxeD+(h9vSxhSVz3VVX#_8ZIP#=en!V#@I3f=#1@l!|g%C4mxeKVRV|X$-4$U zgdNS5Y|qcBj6sE~VS7D0A^f0VMBE~0hHFHZuf#wA-*jGUJ_~k=0;m&F+*V(kl6{V) zvxtOpfEdkHXl*e&Fm|EZH5(pK5*$Z#&rH+lwCNH-3ZSREQsyHm5TpTY9NvqqWv~2{ zvqNU=Y5D?c-Ska^6TL@@};F zLmy0V3}94&?kY$Uz`KMV0VK(@&<$;evZRX@bT#^#RRrQmNzQ{!Lr1jAO~8j@*iWQ8 zs7UDY52>+F#O_k_#O#U*u7OXXSb=-TW9N7|iNVSG=#r+2B84SgmJzGao(&bC7CVBX z2z5TtJ+QX!WpRqk~xP5GEzi-Ty0f7852;N1p3GRuMS zr7}iMEaN4UFe7-?jeC)lNn9{c*m{b=g8L?FpgA3Rfs`Ox^I1T|2&*zHf&ZndbOCOF z0xhZ!1oN6!oSYi}1B)_2t%99_>LDUJDNUU~i@McrA0i9_CpAwU6>WreNC2=(@O0ZeZh=#lCP4sA~cHk|}{6Xs!bFJA^!7SsuPba2Nnmz#Y6VqC2|0 z2J|o@NTO7yYwa$z1SDa=%Iff&iP#A%ZF*L~g!oEPhy#dWEF}aaXpLy@i*NCfjLb&f zMB!6ZaB|jy9Y8*-n-BP+cZ75e^gQJQB<97iL^iRRes+$jgm?ufhgzTVYE<|@SJ@|@ zjL_GNHIb@;RzZavZk~#SptF$RBeKMcYO{f%haz)fg)wSU%1QxNKxuOT;!y+9tbckE4<4IuBz>p5XWx0(Kc{s?&kvPJowWwBT#&v;5rYPJoAbnYd1`|YzQZ6>M z(OfrzXBDU_@DH-E@Bwg^Kz8^=DRP;bs0H*s2n`mui1<`)V+<$R!3u|z@6fc;qOrJ)R{ay7y^w6EwCbA6SoL6@Ujg;p_k94t;Vu9Lz7bI%k)Raz03|szP!&KUp#f)N=8u=ChEDCeFs}TNV;4ih9?5MC=t{*4$GMhk1Md+W^>rlk>)8j^a zZmm8?*m;G5voqE|qyHznsRl2RE#GZ3EMsSBaVQP4$wu};h&bVVzd zid-EQK!}Q-;lR$sMv8BQ1e`(C_UKr|H)v=HDvJpK37?*tEHc5eFK|5oB-z{yx8&=x z^&lQlxWPI?1{3>2LO@GtimxM6r`DyryBUkXJs`bN)|(V7iO^eQVQRIS7#W@reMOWB zNn2Iq0gOT*O|6(!Y2nd)7D=ya+ZSRw5?G5iK=FoRF^T2*NT8B*W;?pK5j~n5)Y5_C zq0TP7zIZ4SQlD?7TQL-VTrMRrmccU6eFP82hnNXDlB$a)YlKx&+6e7jXfN`mc{QLq z&yNByQe9jsBmyJ+qIz!@ei~jc2{uKgC@?KkGbh1wku=ikT#J>)Dg=m>FX7dReWBX` zR%VnSuZv^SjlD6q6JfmpWQ`0qaELRMx}y(Sf@_$ee{9DZGI7P7rfU=RW==~jD@Ef5 zU0%}ET4a2<5uPO_n+}2JH8C=Qnb}9W`f5E3Qqpv9l0Da3C2$Gr2zn`MNEAd`5le?T z6(qVjb*)rPD3}G*Q~S6#N(q3fbm2*dmTqm0`V2@RF$2{fVQQdF%jpZ?q|?Q3`4?D%W9Osm5i1t$N+qurxsLkqIW7P*_l< zK5CF7mkwiUCD?qvbVQ3_jutm}2qt%=>jUWJw)nab|3Fv8tHG9{1W7JRx0i0UTM}|A z6M4NnfFc$Qd>{H_puAelA>qsrNN|2qPcxsUvo}c~NJiE|`@(;q9+L1= zv|(k@A%W#0g@?eQr50j3&B811*UW08}ko2jdoY6CFcd;R8aT3aUxM zN}zhE%d-O_%xGHjX|t?R&%_T2cU)zuT1xi=)!|qm&4Xm>`uxXa4P6p z!04Eewl&`fBp-?@wNnO4V0U3+u`9I76GkMCE{+)?#1uipu|QkYD(H$*nV{Yb^$5Wp z&1cDImgh3jB&@zPxKfO=dmv2=F2+=M6~J;wCZb>&@UUz&5-Nb2(1Ts7TAHimbfnYH z!WR-sKCu+N*)hdN1baPZ$mp#ivOz^=^BdNN=ADk2cM(SP#IPmB*{z~^MQa%%wrnu81C=*c(j#CMk#V8} z6}=USy_vm1;~MS-0GzUx<~L$Ek|8AlD(uQP!UTZez+49DP;~THaj-`Gz5V#b28co0 zj7vc$hpoH2AqhAjPQA>AK@3Dd)XIgoC>dW0^*kr9r=67ox+apZCd_bN0B=acWtBVt z$w|dh;2ShOEb3iMNFw=2z!oIlC4Rv^QA=Xv1`{_lzfnrflO`D{T*@~BaFDVxd|YW9 zuyx-k>;`ZIk1p`z%;(DYw_d;6?gQ zs7*M6f(?v}0Ha6%pKYlDY5K;5!k`S(p%zy|?LkOD6icap0os7HG3UpFR}Z8EL`CsN z@9ctC(sfDSB|cKVv=9>{5TXJEe@|o7kiuVJYr70V6E!noY>U68$ptD61PedW)tLf@ z;)tRiMsijCjmXM~y=g0`#oeOP&%7tXR3EHE>afz@$ZVLZ$~CM8P7~-CeM~ockzL zgyPg0P!MR@<$8*aoaQ%*EP8V=47F5t(uk8n)&M6})g~}~bYcjP3?gstY2pl+D6$~> za!oooC4zTpO`$%bx{qPmYrYZ24vI(a$~H*+g82{D1_$R}z>%_uTZ_(6V-G+f0} zIC=6MVb;hXE!}4Uej(SyQ`b5#&<*G>cX@>xNE^5o#9;)Yz&Dg-fNMlVPoV;$5z<_m zyNe=}u%m>bUD#b}N3Qg%nDWImvk7LiQS)SHk)TnlhzL;(gdfwJs*Ov*gw7)&c1l~K z+-YGWGx&|(QlK0|GgpHU!fY`B0*?)56`A^msf(ywW)#*m{SgET@p#R1RP>ThGRh3 zOBaF62*;54q<%zkP2Pz1t{nO=5Oz*uoM!AzR0>TMu^v(!g(#^$Lm%Jo*yvMgA_M?_ zO!=gA#dJ+&>+mJ8Jm|;f!Ehy-yGt9PL%SS@rA9tYhcQG<&MW+T^(@RNpalK2TxnNcLkIcgY+HR&~22fiIyo<4l+vtIjS=v;;nIPEMY31T~+9erL2- zz>q+<)D57JAECkw6O!(3O+QWFHK-KJKzmnT8ssk}h{yhgbX4e`my8lJ!Y}o_J(>4J zd};a`u)LHV3%g6tF?kNI4UIo(q}SYC8ODnbtcPQQzN1bFf322kN)GypG!LK)Q4kiG z@-`(X$ZR-EDkhrIA%~097qOBAc?3am=yWKr)k8>%8Y||W!>fD%H8%7W@JEpkJwo?c zgy~iLypV$^` zLj)J;LJ3KQ`#MvAkqDPlp5@=fiki=YRJx?RE}*5dbwEoLU!azer9iXLT!pq(gbP(pJMWEb4e_;KJXEyOJ&ZlW-*BRl;{3nk2p#1DbcX|VEMaUsAH zQ6Z99@zqZ@n@t&4)W6V8*3dtCr6;0E66OdoJUxcBo`^vwWNrx5FsHZrLbT-q!61l7 zY7lEkv9I>kWFbn;GvV54kJ@rJ+#5U~0}M6nR>eBxi( z?eWvu)$WnN@zC30IEF5)&00^C#dH%30S{!e@@N^+ZT~ z^HKmofZw$iLTM4rjRba-M$u`t2a>Kb;Ayn`X&Z%DSN(|?CnMB(L@XrIs<9AXJ+`Hs z3RxCvTJr@s0^G$x{aOIZ%RHX6QaEd&t(QYP6Xq7&5@67ZR-b>O1b z2d$yGPpC9x+H%-%5P`F<%X(LQw$2(;{Q&mbhzUUafjmyNZPp z50yxG<0faa@~cUF1T5=;*vj0f5~gfFo*16|qb-GG?JjIKnhU;2jf~z9nEEvhtN~KO8<}4sx36OI+GjEF`0R(5*CS z94ztq$1YU)(vDpSoR(r9WNaRwE4Xv5UHY5OsPRVI?Uk&9K5@xP!BI87l0z4)3^7S`+>_WI~np;Hsj*cn~-T#qS8@mvfHi3*u+Q-bDq{L>g zVj;%A5wgR4MG?L7tARezl81T_x(}%6R)3<9=5`JwlF$?lp_*2HB513ONJGyZD9Yy` zlvoJs%!Ji2p|OuX49K1Is-Q0hjh*KEGOtEGntCCkx~eQjbBhS4NIwsevIb>!5oaiU~NmjggjiD-m|qL-a)&QY}*ZTCTp3tu$Kz{SjG4q_FZrz&?yp0MH1zyeQyRUWg7V zROXPaLsT%r(3MySWZsbWJ$mi=L78;LXiEfTz@ky}&|e5@)XP3UmljefbJ*dH69v>- zh;9Lz&qO=dEfF7$eIodEG-0FaK_?RQ4kihiC@gh)1ssx>uE7jZZ~Z1P_W)ZlcXnc_E-xnXoR(AqG_Y5;hw?7(>RC@`(^o z#M4$gN4QoI69vLhTu+gSWUdB1Bb-xLL$7|}E{=o7)o8uYDbw9v11AuOaA ze{`SVDwj!)$377;Bwq`88B1>A{sasf0Tkvk1B>GY}C{#hsZ2R2B?+^{V*4hmnrV|LqEP6V*vw12$=Vy!J`}b z{QTjUog)^4>W)k_Zp|#i(ipo?F;{*MA~-3y^Va)Ku7K3M`c?HPBur zv$4ASsfPPlzZ4sUyJvqrGWh)P6OJ!_s9cGfa3f!ee?HG8D)>A_#U{KNpc< zMAVw-Feo-QB;}eCPc%UXl8KKft|Gh8XZlJttCFcz+iT{Cj}))Q@OBGX z9PSHr*j!_H*sz17k%vODY78xUx2ZjFMKV$IFsK9S?-3feGV#TOb)xQ?oGNx69GamQ zCGaD%GpP6sQ~;n;3!#@z+cA1hgzGG>|3th6gOfx^l_%r&1BgJW;^mmN%QgYh?2-2 zg@`UwI6})h!rW=hZ65jjE~iDhyy)0hd&K=k(?A-<2#-skHQY_gvJq)MqvvF^5#Zt= z3AdJNMv3gmbSW00tOIpP3Cb`#jrp}8b;#ArTxb2SCgVRDWrHGs+9N)HoT0QMlT%QC z)dvtTUoO=K6pTh~Hbc8@B{@cOzWx(IG9_eV8d%?DSB;OjQ6gI1XXA~UM{)k4H z<;Iw3eT1C`4kS8I7#OyYgr!vaI8L;axn(vRSIwLo3iE{d;%NoXLM(#@O-2gk`hk`h z59T@Mv>sA)$e5K1f6YO^ic&U%%1dlE$)ZeCMpQ+eBRF1M8W_6BeW1KiVvlISkI}1# zLR|#x*lgNFU1E6j#ZCQMHj?DT{Gy6fGxC>_IX*30fU2q!jIS>$B0v%BmQLs3$nBSb z&J2v9I;$isW#$YG!OTxUT^t6g{>cWVXYhy@q9&w1KXbT&MUicn0fi;FHOMkTdZj9d zxJj+-h=ovyL6$*!Z%MO2Bxqn^5`h%z>2=e8H5H5!%?yipIFwbGbBQ`P^^Fqnq0EMp zd0Rs6t@mn#MT{9lyQnzXOq!$Dkse8iNGL1lBN4P~qZNU<@830g`nW1S-pEIlOhe0H zlD*C z&4EY~5(Yh~iK!YJ)AEFl74GD$*W@i(1vU9LP*cgbmsz!W99Y8+f zA>kdvX4W^gRIXjVvNU7JzKcW?RZOV<%(BF*=({7}2J!_|MEfpVFt&`N4zH5-;xY@7 zj7ZBk!%6GGKBzikYjH*>f6%=sgB1z19P|l!Q&(en)bOQ+*@5H-eidS0VYA6geF%(7 z@uCF%41t3QdNmtCFK8>$L#Zqzpsys|OdQ1>XlSjEyqYNHK!QP9yjTdAO%y_D1qpb< zZS9jy`beJ=dVPJ6MGPAuC2<79+2CoHSO~BfQYS^{Ld+Et%RoS!WGwT`^=n5K(KON- zM3G*RuMtzAj1bVk;1gKt=OPx;>po(q2)`@CMnVHh5A735J(?i;hK+?}S_L}xqkfGH z!b?b)La4s_dxX*iB|`iolSsI<$i|>jH7hk-%@J}-Ov-B6@6f>m_eHSU6f@z8`Uq*u zs4VnfO0;-dvQ2SG!} zX80W8^P$i%y`zt@Np+neQ7CMK;eu`GzZ%g9^k4-e$Q~iehvo&|k~t&fy814g$qr#5 z0NHnta3T;1ph9n=%WCL5NEk4%r)>-TQC$(mKaw7w5R8*tSO3)z8pI(nz6(y4xFgU* zq|C+q(iNjIMq^~N85=-VB?M?ME-kbQ)F-eAD1XD((SITwB<2EE&Zy0Q9P|F{6$f<=6vf&b&u>3Nh~NE&qNhWyoeVNZ{tzmLJJc? ze~-AVwDq9E&x{-v0wG0f8-K)Q2Cdb1kc@Kid<1T|qJ=IgH=Zbm&NMuboJ+C>IV$g0F_W zkVwi|)Yhb5R6k&+kq2MvFmsZD9dbpKPI?Tg!5l(p+WKEDrF{aGZOGjP!j3=}9hLMj zkPA?}FR>7rIojczNI8)3H6e_Otd9Hzc8Rup8z7W8i@3dJDk?**OoMs`{s@A208R@u zCKJ`@s$^yvIHYdK$RVBK?IX88pQz0S5~tS7aOV{b8`L9YcafVa;f{!< zC&ogG&p;0dJFSd=MDZYDP!KcM$ZbpXLE6ZvLRrii^sN%V%JqJ#A}}%0tfg(G7Q~8v zE|b1p^qA0xut9_pkJ;L-Z&W>h0xeVYxm26(^#tKq1& zY7oIf6SUbjDON7S0&6BU3~a#l*svc*&rzlLh?1N%&{K6bRk|*c-n3@Gh)QHYmA>z1 z0tu{)2-ytL(3D`5Fg-OXw?f>ZB~t(M0~JB8L-G+`jx3Zi(Tavcn7-WK5>y69v9Y0v z6Y&=dk#8{}8~}&XSP4YSanX@QJi{Xekpo$oq~mxK_0_npz$-FpW#slFD=R_@j&ytI zZ#MGaF5VUotL|FmEZY(C0Wl*@6e{#XAB13uGHvQILs4Tu_=u@R`-3BoV0gc(6oj35T}j6zp9z^XAGkW&ShktP=X&1P&2rE4^^ zidPdN6Ep_qQ7|RXEP?vbzQ$&=<+)#+Y@8Z|h?IjZL)-KNExb%fUdkFatzvlJ`fv8EV%AHYL0W=+VUN5iu31F%|iotY9NW`ts>XH$miLmC3s;YcXC zNf9V2;nySxMU$4aR`kFH>f!Svq63-?)LtTDD;A>KH!%xk6R{8#NZ^9u_y|Oco;(3> z1-~nCj)2veRAeA}Q#eTC2a3Lwx0u*TdZB+HGx}A~*dKup1@0I9c1rYcNlV0#h+HKY zXOw{o2PyKYsChyh0H6r?{(H~KcaYTFsu5mX~lC_~v>>=Es?f*rXrw+&aN zy+_2eh*QzB!p|00gc}kvq68Wd!Mwg4;M8*GT>@q}s5m_RCo-8%FGGb_ z0DUV-gkfmG#Tj`x?E8VCgB&&k!G-WE^`8hsgc=+ZJ(T_)W4I72BwC{57)nfD;?-yj zVxp56Sa@tHBwOASdajA8G`dw~7QzCd3p2dg5$(M+uMlOUVq7Ni*hpK!cs#I<%uqx00~e$WeyzS=ld*y9kel;w^=g22 z$b^6aa!zU5(tkC|JwA*BVp+m0iP!`;CZKQ#k1-7T3o+x6DxZLneIP35I7nHNZ7LHV zK{LeeQ%Xl)N?r{t8?c{n5(RVOL49OYWXY+E2x)vIU#pbVQ20!QL?LR>vPaT|LI?*5 z0P73mR)3G^!wI2@Bv>)E5Mz!BOPSmQwH@=XzYw`OWK;APcnqEhEjF1cZ%~5t3_6cX zEJOfH#hF=3s_U>aJ)fG41l6>g5W~tIRh3UC!Dc20Jh~Jbr5s2Ke$qLFDi?ud32h&8 zEcS-!f-(qFo`@-oB#sbcWPVziXoQ+E>`+Q|#W|ARbp-1?p|PRxQ{t{M%mQ=;x(WCS zCz}o*2&5Efg>D6iqy5#GodUDZO~6`;+L6W3d3fhg{h7vABFk2dyc6+i6ltVzNeQce z*FgQikkTyRJTUM=|J9@jN$2Zu45=D(t0%U z4HhZ%YqEV9Wk`O8x(oMIooo-AEpz+G+XO%=@kH2YDO{`oL`fWpM2?hdbBKa}% z`DfubHL%hV(4@Q}nGC@~_@2vI(dX;jJRk2zK!}N1=;fC#z2$xVH_dtD+3DU1Z zz^s^{S7WMtM7I)GLS0&gj5;!5iwR+{hxJc3v`5clp3HDhP1UAT4@*BWUIYdm(;_XV zC8_ub=SGtra_*38rHfSm)dZQH5W_}7gI^1W>mnlV!mxFVyq1zunY%`f0E(`~JgSj^ zourtqXnDsHqf;pCGEM|M6E*l@V4TUp)Z0R|FH7|Jkz&aRR`MVjYAjK0#ol!-sxCrB&tT8Wl(sW{S4iSA;t5F9NGipWGDGzi^W|J5=E8=y^0D526Uh$yr$U?OqZ z6cI~UNCHu~Ptx~V5C`Cjc&F1VGFkVNeJb(ChR!o3;!HwA}w;n=Ne~Rn%c2 zogs81-QA;?wo+K*V`V86K!6%us8Ynn906)-47sT5`+fLuB>rUR#S=;YBfAfenKlNv zwc00}b1b7-^GrH~1sa3XE{$141VAl;J`7F61L>>{D~qxdTLr!a#Xcd~28aZg(0?Mb zeKKll5a9lV>_Du{uN3|t@o5=irBBOY3YZ3wu3qHtGed@J3)8Uw`K!j+J{2g=Hr>xO z_Q)Plfx^;K?StD$j;y~&a8ChP9H8qWh(MD8?IFIGiM=b)2212fcMd2o8XS`Ag+fBN zu>X|pLElR}5t794sIhGrHyYUJ(}6+&UdIzbODS<6MY4d-%wb?$M9UJwI0n?x&sw6V zhJcMDL<^0@TrvUc0Lr0zLG**A?UhjWVo)wq+8Nl#e<_zu5P?1nF9iWCE8#`d^cUJi zhoceUXfZsONgT)^mEj)y5%mv}>ftAnJp%co*iP%GQ|8hFf|7ouwBRd-T_8sI-h z_1rB%9N=o$GTp|(QgV)Ht7n`8900nrP}nKaFu+1GiXFdE_pZ^=!E{X@X$}=1fhC9l z9ulE6+0tgEf7e6=mMXD{X0p1pycfU3?x5%mf3(Cx8LwF^Bbm62j3@3$ z*wDn*Otwa5mY|sqJ;ulDKaoXb1i5Rt!xxbNG)!m}l3p7afF%|Jl%*4Ir1O9pB-t?@ zitHHbhyFq~^$T!lVVo*6f**+Jj7Ih}%Iy+;kO1N^N8sbi=r%F6QVxZkgDdATL;aEu zEnPMu0gT(L=^$B%hGS{v9=){qN{k~^Qs$hO*rOOCBe@67g6h?vdnAy(5uQ$=A?erq zDShQM_);hueIg=U;$=iooD$IpB1hCQD6>#uQ&)sC1n7~^@dipLA?Yk?Np#QAv6idI zpZrr8-U*CY5X}-ZGx7XT*aeKJ`_ekkTcY~vmi22j$_|7tWFqe-4q z6)nhK;G0x7N#R(R%0`KWChFDbr$Vy~aYv{Tcs6nnLKB`!#e*ftUW5x1wAmow!t(*M zBhVr_X7mD6Wto=B$#y*bESn^Y+A0&nK`-U2(Oto>Ab%(T1(E^!n;oLO$^+l`u;{z3_oEC?q-t5)X-Aq7deg&c`XDlvVL0{8@(T4`J%zDnwL z`2?-5)e4$+!|jHxMziHOji%G=HISKggC;%xhTqfPCj^s0w9#V&*Hl)Ln3=9RVg5U4 zb?66M@L}8(b4d9|vBueB(bnNWAsT>!g#HtWG&K?!(vB-OtK>I zOJ^PZ{ib7{OJLODO3fG|WvEDU@O% z={=%>1d9jD3g(6WS3^Amg%8oLtY_S$lQ#vf0sm9U9|O~IkaALj%Pq4TX2HjNmJ=+1L@B1}abeg|J6bf{MAqD2SAJqR@sFNoF-nKo!JB z8XM@$7AQgg)nsxDJ@|B=*R)3vRv~EuuGCcbg53f45nLY7Sot+PBlGF#%|m~Xs9FEj zxUpbA2r3Ceo_VwmA=3~*+{4|`o~yqQz>I|g=diA?1f-RE*h0|>VZ(=0b~#5N3XJl_ zN1+#{|3m~@m~E7c`x2{Y;z5I{r0 zLZE#OpCiF*X<(skhm5BLClYa&l!n}hjyQG*<4>6exkyIAQ$jQn{Y)FJbfQRPOZ)XB zxgr$A`DF^x%qrC1BLFu3JSH2qI8Vgn95Ohr8p^da6X{3(kwrH(5=>w%iWC>6oKMjq zuqkN~?dm@f{CO}W@XiCUZMzK1PA9pv0nwBCrMwa7ncE!(+-{6ZF+YH4Th~F1F&U5kw>oRZXBS zdi_h75d;As=F;k&sW=;=l|uk$$gqkWab5jAg0&PT^j6VXR|~NL%!Fvh9Pwd$1UOFJ z7hD_mxKqOT%R&>gM~s0&Cx~q=`uu?VX^WJ7f>}-QRbr12JtkdX6qhQo;`3?BCCf#* z0)kzM+m9ck%o1aj6d1)KDMKe5vNl#P(ZYzlk7t38p}=0i^;|v7zMOWHdP~HR)M+Q^ z(xSu(#)feEs2Qomi;yH3sLmk$EV>W4w4zx^tsY)XiK-uCSO^zrF-Ce{`L(KKCKj5Y zD-xKnL_NMgMi*ZT?}#oN4g+ui!eu2KWMC6@(2qAvW)d?}MJ0|_N`&+1=^MVZ*zC-L zn?M)<5lEjl9Kk&&=2Hv;DY6iNpz%WmiKzv6mlE!X+1PM1uxKGo{DiA;>Wi~BOM8SYE zFaOg%=DD-IGMu#03pG88TeL5X?LBrX&5 zYKZX3aAO&~BL@=EAbOzyr|1F5%fQeipc8XNVv9a_a!AJZsmNcNt1Ic%izone6I5O4 z$>toz=;slz%WQfFO0queBS*k@ zvP%T)H2Ly#gs;OL8jvfQ2>>hJf}2!=I7pF>!QUnwCls~#{1QJRH_JHa5F$be^$J+{ zoEUy~xOh<2Ws7zXoC+c{Fm^^y4gG=uIj(*N$plY2 zj&acQ3=C_D8$5= z5o$b^D`Sc4?vWU6x}jOBz-o!zk=6oGvT6UY^`lx*0;GU3GOj=YnpK)}MbI&!(+7~H zIFK0sn5;$=bg}397+VaeLe>Cfq$XN}01A4LfX&>d(NEB;36PDfC#|6cZ-g9>YP;0!ksT@_HH#Q9E1)y|vUZq^ zS3}|j1#*2eBC#1$B!zc`g=CPt%&wtD4j)36tPj?S)<{mZ0gZ`5{I;^oCKy5!fSHhm zjA~p}ObI&v1bu!EqD$g{3{pKDl9pFt!ysH0%4XA@g;nE!kcvpCPUxR(W=g2>au9}9 zQbUUkU_aGt^b~~lul@NG(tf;QW>5zaY$Qw)Vm43~v~`7%RAM3GY|&*I=0r&85W+6y z4f6I9RZ*&q0FksTBCH^ZpENF$=%|s|$Xe)INYE_eDtO&>M-@RdnwYyrBLos$BoYAR z;@6lgiy$X89{?o!k@S;e7J{&ja%DJrAfW)FSj#ZzGTJpXu1<^>5v3`EAsoW&RW2Jo z5~S@&WS%i^`lgm*Dg`wRexF=H6`7H6gpl;>(|e+yLZHFU$PF&au<@6UdLu`}(2&;i z5+@tFx+93;FzQz|7^MV;WEl)3bYaA=(Y^$r0i5Jh(IREiziTAZ6Jw9OiTY~P^(N-4 z!Sf>OBY_<~*_9}ID0l-yA<1Nr3USw%5JitxirNfVATw0-Hyh>xDhM>6P_37RkcLL2 z3s)yqk*vf*Fya%6#N?1Qy$FX0S_Lfne#C~UtyIpCwlGgxXonL&snfD!pisy>lo)r( zO_u@)ld{-zPPUAygY?_)8G}i|OlW1ZsXaifvT6J!&MF~V$`Z61Gu5~s9*ZC+ zBwbir__i|Aj_3NWDXg z*8gfkfTG=qQ4B>20n?5-Wn^B6R>MTmUkHC>^EOQ5C>G+0qyS7XDzHY0b3~xP{iJV2 zS~56Cusi^dK;3~Qy%Hp5MgUBZJ)%30%bx&4*Mr8W6Hn9=F-8)hBBD`R7>OjS3cI3S zK#)a)mXNe%vn@~&E-dU{h@>Udz4+2J48{L$~Gsg@CwD$7QYi-J9U2+#(gB$Zfbg4_|LB}!^?C`bJo znhf+q0!UFjD)B^-4=ReQCY$9XG2WgoOTbLg{P0UCGeB1mAtiU1HKsm4a1>+|+S*D` zt2l+Ecigq%b0pa^+z-f^OnN9$gd%nT;UisS0IaHIqlHBQfl8$GMwZ~#Q0s*-N?oD>Vf`O6J90KZo@4MmC5kXFyYoIrcS*y zi&MhMxtm8gVdL2pJ5~ z8sjX;9HkOATPi-nKkBEVBJ9dEPFlygGkIEKvypSiM7;uGHf2W8ddftpMRZ-!Le$?Q z${!?Dj6EyTby2T?rop^=n9YPu`U{~f8paNthv;z09x7?F>{V`h~~=F z((D0;KtO5II8Q&zW^fLSH5yHaGe`mJs>olW21TnNl?%$@>aGz{kc;A@;6riT^}bFb)YvOZ3H2Q?Y2#DDy;&0v2Azio{CB$wQ1l z>7xYo9KQ?>!IfvwiOP;7H4R0=7VikCrT=QS3@SwT1gUv-vLTSsW6$6Tv|~}BDzT7^ zS(PNKANm1A1$bZRB!E9P6M-wefw5IS%954MRg0RBe3#JM6pNQwf z?b8+w`yUC35(`Nz0(8hA77h!51LLn%%vE4>q zqBUQJQKM7?gb9!-@ev4@%mEj9oe)hM{Z~T-9=C>gN%3j{{SWMY&iPEx^)Ip6Fc>Ht z07MlNVQDslI)orHtyYvXOPCP=EXqB^SrGg%wWvKvB@_BNO=npNZ9jY%lC?%geWf6J zL;a$^AB9K;1vArCe~(0ig)uM$o&_?>)q^p@I8dAkT}1i|0gBS{4$Hjg@`14>W0(*h z#^NzTq0B-6p(1o!oNUk}pfTb%!ZnwhTVf$-;kYAc!y{lF<3>T(!0b>VEwK>hgDyCR z6xWN`AXQJ$6(MgW74gEXW-S|OK^jbt) zfN2nF^-V3nxG*$C5<}*(l~{;QVa9ndokB&m97QaMW7FJ=0+L_iWRn{?JPz_%#mTOU zjew?$-YMB90Xn7@8mh?g;tY@pF4HW?LYX9@XacGyLKoZ)m^nc`3twmI$JvSu1L{B; zQB<=ad<&hPOxdORqeSQj*Nol(+A6qppkXqYni;N$exPXp1w{X=fz(WlsbwhP#N0Kw zFz|7haEQVeaV_u@!7RUobE8wE#H;0uk~R|}Mn+4>=ZDFJ!Vgkvd_N=6|7s+QBp={T z!@?z1D}JI8K$Qkbm;T8XmPVESekNzxFny4RsCh+b6?B;c;*ir6v>}+^G7}6@*MQ?x zVvm^JBf}(_pQEk_Bvj~n^u=O&5ymRB5Cj@KktVkO_!I_0G2;U~0IO^2LmD|%3(^P4 zwu)$kVTm$QHi1|TBwb=5`tQlhxa~C1O9sh!rx4CJ+QX=Rl*mP}u~cdkJguRC@lfWm zAPxi$oRct@cp}M*(LM!Y9dX%gH!3Km4Xs)KiXbYO6CuGrEvCUE$4Hwd>_aB=00`)N z5gHZI(5718p;#rMA5GcZGmB8mlCDN=dqm5drDVb&G^mB>XCyvCP74`D#6rp}MCq7z ze$-vm?Z++xW+SHJiJGxKk%=e5%7WLk=ki2!_z?P28l$328m}Ki67YkGN`lT=b{xr7y60%FbKXEP~_)kf`6B|sDLLnZ*pyscs( z!Tjm-gTbEgJ0<4Sm>5uN?0u#0?QsoOv1uCWlQjYG)?D_$anSk)8d68MWE8p2ijhHdN~32_8B z2UgBp*b>~Dm7WN4JYA^3?F>->BCq~Lz=sHOaf)Q>VTtj(D?JeqD>`Zb5i*R$E8%I! z?2)RANYLdnaG2Ji%C9C1F(Z(6NVb}|verT*rcA9v{WdXbF2o&!gGMZ9>LN`e5BkPlR`*RANXo zgh)qMej@O!fZ7vya+D#|RbwGyh#-TOf`l=>Ue)&qk`D7cs6aaan+*4?{A%#mJXm{V zOD>JICB|Kj-E1T{nZO4rHlrFz=Rox*qRv8*l=-f38XTiUoIS>j&~QY!M&l@?82Dc` zo`}hdkWf%XVC)ppWr(;)Fv$=^o)CVf&T|{kT)mtH_W>vZG2QX2!ty zf!wU&dcW9g+!`WXhF1m{Coz6`R7-qRsq1j1g>c!_Ljp&N5d^mSn?2@<3gZv^1aWAh z+7dQ<>_S3gp*7QlX$J$e#9bS^P?FL(&bzq`E-jTDlY8>P=<@9+HC5q5nMn*OhT>s= zAwEB72^B4_ubGrM*|3Z#_JKL|vm@M5B~2DO<|hdD3CA2r$wg>6L_S`-(PC#f z103`cZD;wIg(NXTF-)c@%6OI%el40P<4<|#WqTx71k|0LCUgt464A)mg|J5nISqp* zXe97Te6_I)$!5C_C6v{f;&p8gvB&ks)oE)BfA zelW_V#i+qRp}0z%Qeq*9XV7wn!x}}ah6-uREG(oSN-Tuh1zc|wP>Qh^;J-5Y*p!kh zF^~R25V4ur2ql6+()5eS?2?@FgD)z&keaj?>NcCLmfx}(EyHX!5InOO5YaRnmfiMy z)PcH=*Ie~t#jnQA+0)mXH2klfrYtyUaA6wnetCt}M}K>_B-v}>U~kUc?({`7ca10QCTtLxsSRsKAg@*a zxfRwKn$zn|-E-j_o~}7GXK?;>erBa#8~f*H&Fn53oV!^4`H)j&8B7WgrffaN?QADY&T%>@caWW`6@PcD#Wno-|ZYY7J2$bn$FgCyeBP*B-USyDeK@GQ|;cqg@wK5A!0~oP|eQzO=l3 zh%4kA52kaquU686#=qtF~Jh%f)YrH zxsaG(33EXSq{LiEOt6HxpafE4E+i&c!dy@SDKQrk6D(maD1nri3yBGqFc*|SO3a1C z1WT9;N+2cXLSlj?%mpQo5_2Ij!4l?z5=e=;keFZzb3qBD#9T;Bu!Omw1X5xyBqmtG zTu=fjF&7dOEMYDvft3HtWw6^rsQpEM9EVThoQQI>NVf2B-%|Ls1^_@}djtIsh$9+20nklg(D!^SR1fEOpZ8@F8$DtQO%qKwI7PjG z;n@e|T>XT+y^=g;uLH%VMMP>*Yzz-gY^Gh4(<>WJJ2C5Z?{l76W=K{?7(cMC9V|>$ z<+;tiqli#+a&L~z$ogVN>L$Y<_Nlyn7TqzJW3S=qP?aldfQg0>nzn{l7IIfV#YpER z;ewK1Vsv9Nm^MnRF$^VC63kB;P%pEB9M%ULSLk_8{S>1y9Np9e0y7ljQwKF$ZkY?E zyJT{*dMo4Rcy|#)y_uUWUnky5;q?3^?I3Y8<(6W#+m~(bUR8pwJyLn9(WpW$5Pwzc zAgYju&9G;OtA}}k;%wTDYVlBQe>wBXzFF5R8(GO#<~)Z3Dcu6+JV)^f^}t+Wy@J2i znlfQiQg*4sVz8hqs8)1OXxCTB%(1O0CGzfsNBENsZA(n;21^aP_s6|zlWi;e&iID< zcK=-$CB?De@VZMu46~jP%SQi(*1q_*D?9pQ$#s|c`vR<9_Ft-YlkxMtG*vr`FS;^{ zQzl}coQk7Hx)G~hMyBig?yRabYM63~^?lk`FAyZ$2UB{X+3h}`iaKeRRg*nzX1qJ? z_s_#a%m(t6sha&+(P^_c9Sgc-x2K1Ve$??fxaP!;QBr1D#Oi`v_e=rzQJ~3v3x?X* zK7FWH@`K^o3dJX#9#l4ib|gMo9nfS24Chj}dnWh&y^EF7s<=8Kx=!fQ>uAh!uAL`@ zo^21irB_mx7QN-r(HH&FV^+NecKWet7ae(l${vdciOEVQR!q@Yvy!9<3gHc;f2g$6 zgcglu<|xg)$6d;lW79e1h2Hts^n@?eja9p!pHFMZ>8|UwpHo@?nlGAPp`wQmxtOhb zraLqJMXFDE>#d&d(lW}i#?Q_aR~wnz?o5zP9DSVg>f2ntib5)Gor_NIpkB*V+ zwaUW-9Mc3zBaNY0(W`SNz0Qs4=f9phvsvCw%Q98zByk^Gi&k+bRL@%;zS>MqDPDHi f7f=59a2GgW`(DpVW<{9xZ3-Cs{pgi@S*QL1`~xGP literal 0 HcmV?d00001 diff --git a/public/images/user/home-user-left.png b/public/images/user/home-user-left.png new file mode 100644 index 0000000000000000000000000000000000000000..f4968c0d786a739af90435eae7d6464159afd8a1 GIT binary patch literal 111449 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 E00@K2XaE2J literal 0 HcmV?d00001 diff --git a/public/images/user/home-user-mes.png b/public/images/user/home-user-mes.png new file mode 100644 index 0000000000000000000000000000000000000000..e52dd5b0a1446ef6c0580adb86526b28c35d03fa GIT binary patch literal 107495 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 literal 0 HcmV?d00001 diff --git a/public/images/user/homepage_tab.png b/public/images/user/homepage_tab.png new file mode 100644 index 0000000000000000000000000000000000000000..e3625d9aa90d620505d7322f5c290c9fa7ed4c90 GIT binary patch literal 110856 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 literal 0 HcmV?d00001 diff --git a/public/images/user/nonews.png b/public/images/user/nonews.png new file mode 100644 index 0000000000000000000000000000000000000000..58abaed3753e1ce3b2c5565fde634481f93f75df GIT binary patch literal 112502 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

      b->I^6dwCr*{ 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 G|NjBB28m+; literal 0 HcmV?d00001 diff --git a/public/stylesheets/css/user.css b/public/stylesheets/css/user.css new file mode 100644 index 000000000..5b99b32f2 --- /dev/null +++ b/public/stylesheets/css/user.css @@ -0,0 +1,170 @@ +/*新版头部css byLB20161125*/ +.header-new{ height: 50px; width:100%; background:#3b94d6;} +.header-new-nav{ width: 1000px; margin:0 auto; height: 50px; line-height: 50px; background:#3b94d6;} +.header-new-nav-logo{ display: block; width: 51px; height: 45px; background:url(/images/nav_logo.png) 0 3px no-repeat;} +.header-new-nav-left li{ float: left; height: 50px; line-height: 50px;} +.header-new-nav-left li a{ display: block; padding:0 15px; color: #fff; font-size: 14px; font-weight: normal;} +.header-new-nav-left li a:hover{ background: #fff; color: #3b94d6;} +.header-new-nav-left li a.active{ background: #297ebd; color: #fff;} +.header-new-search{ margin-top: 10px; position: relative;} +.header-new-search-input{ width: 280px; height: 30px; background: #fff; padding:0 5px; border:none;} +.icons-header-search{display: block; width: 20px; height: 20px; background:url(/images/hw/icons_hw.png) 0 -56px no-repeat; position: absolute; right: 5px; top:4px;} +.header-new-nav-right li { float: left; padding:0 10px; } +.icons-header-news{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px 0px no-repeat; } +.icons-header-class{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -37px no-repeat; } +.icons-header-project{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -72px no-repeat; } +.header-users{width:40px; height:40px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;} +.content-new {width:1000px; margin:0 auto; background-color:#eaebed;} +.home-user-left-box{width:240px;} +.home-user-right-box{width:750px;} +/*新版主页左侧css byLB20161125*/ +.home-user-leftnav{ background:#fff; width: 238px; border:1px solid #ddd; margin-bottom: 10px;} +.home-user-leftnav h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +.h3-more{ font-size: 12px; color: #888;} +.home-user-leftnav-li{ height: 45px; line-height: 40px; padding-left: 25px; color: #666;background:url(/images/user/home-user-left.png) 5px 5px no-repeat; font-size: 14px; position: relative; } +.home-user-leftnav-li:hover{ background:#f4f4f4 url(/images/user/home-user-left.png) 5px -35px no-repeat;} +.home-user-leftnav-li a:hover{color: #3b94d6;} +.icons-class{background:url(/images/user/home-user-left.png) 5px 5px no-repeat; } +.icons-class:hover{background:url(/images/user/home-user-left.png) 5px -35px no-repeat; } +.icons-project{background:url(/images/user/home-user-left.png) 5px -70px no-repeat; } +.icons-project:hover{background:url(/images/user/home-user-left.png) 5px -105px no-repeat; } +.icons-homework{background:url(/images/user/home-user-left.png) 5px -140px no-repeat; } +.icons-homework:hover{background:url(/images/user/home-user-left.png) 5px -177px no-repeat; } +.icons-doc{background:url(/images/user/home-user-left.png) 5px -215px no-repeat; } +.icons-doc:hover{background:url(/images/user/home-user-left.png) 5px -257px no-repeat; } +.icons-download{background:url(/images/user/home-user-left.png) 5px -292px no-repeat; } +.icons-download:hover{background:url(/images/user/home-user-left.png) 5px -326px no-repeat; } +.icons-issue{background:url(/images/user/home-user-left.png) 5px -360px no-repeat; } +.icons-issue:hover{background:url(/images/user/home-user-left.png) 5px -393px no-repeat; } +.home-user-grey-tag{ display: block; background-color: #eaeaea;padding: 0px 8px; height:20px; line-height:20px;-webkit-border-radius: 15px; -moz-border-radius: 15px; -o-border-radius: 15px; border-radius: 15px; font-size: 12px;} +.user_navmore_txt02 { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:75px;} +.user_navmore_txt02 li a.user_navmore_li {font-size:12px;color:#888; display:block; width:50px;height:24px;line-height:24px; } +.user_navmore_txt02 li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:50px; } +.user_navmore_txt02 li:hover,.user_navmore_txt02 li a:hover{background-color:#f0f0f0;} +/*新版主页个性签名css byLB20161125*/ +.home-user-intro{ width:728px; border:1px solid #ddd; padding:10px; background: #fff;} +.home-user-intro p{ color: #666; font-size: 14px;} +/*新版主页动态css byLB20161125*/ +.home-user-newsbox{width:748px; border:1px solid #ddd; background: #fff;} +.home-user-newsbox h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +a.btn-grey-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#dedede; border-radius: 3px;color: #333;} +a.btn-blue-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#3b94d6; border-radius: 3px;color: #fff;} +a:hover.btn-grey-small{background:#d0d0d0; } +a:hover.btn-blue-small{background:#297ebd;} +.home-user-news-list{ padding:10px 10px ;border-bottom:1px dashed #ddd;} +.home-user-news-img img{ width: 40px;height: 40px;margin: 5px 0; border-radius: 50px;} +a.home-user-news-name{ display: inline-block; max-width:200px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; color: #3b94d6;} +.home-user-news-grey{ color: #888;} +.home-user-news-list-inner{ width: 675px;} +.home-user-news-txt{max-width:600px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.home-user-news-del{ height: 20px; display: inline-block; width: 20px; background:url(/images/user/home-user-left.png) 0px -514px no-repeat; } +.home-user-nonews{ width: 200px; margin:100px auto; text-align:center; color:#666; min-height: 350px; } +/*新版发现更多css byLB20161125*/ +.content-new-inner{ width: 998px;border:1px solid #ddd; background: #fff; position: relative;} +.content-new-inner h3{height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; font-size: 14px; background: #f6f6f6;} +.content-faxian-list{border-bottom:1px dashed #ddd; padding:10px 0px; width: 100%;} +a.faxian-list-title{ font-size: 14px; color:#333;max-width:720px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +a:hover.faxian-list-title{ color: #3b94d6;} +.syllabus_class_private {color: #ff4a1b; border: 1px solid #ff4a1b;} +.syllabus_class_property {font-size: 12px; padding: 0 5px; border-radius: 3px;line-height: 14px;} +.syllabus_class_open {color: #7dd26c;border: 1px solid #7dd26c;} +a.pro_new_topbtn{ padding: 3px 7px; font-size: 12px; line-height: 20px; color: #333;vertical-align: middle;background-color: #fff; border: 1px solid #ddd; border-left: 0; border-top-right-radius: 3px; border-bottom-right-radius: 3px; color: #333;} +a.pro_new_topbtn_left { padding: 3px 10px; font-size: 12px;line-height: 20px; background-image: linear-gradient(#fcfcfc, #eee); border: 1px solid #d5d5d5;border-radius: 3px;border-top-right-radius: 0;border-bottom-right-radius: 0; color: #333; } +a:hover.pro_new_topbtn_left{background-image: linear-gradient(#ededed, #dddddd);} +.pro_new_topnav ul{border-bottom: 3px solid #fff; height: 30px; line-height: 30px;} +.pro_new_topnav ul li{ float: left; height: 30px; line-height: 30px;text-align: center; padding:0 15px; } +.pro_new_topnav_active{border-bottom: 3px solid #3b94d6; } +.hw_more_box {position:absolute; width:24px; height:15px; right:15px; top:15px;} +.hw_more_box ul li:hover ul {display:block; } +.hw_more_icons {background:url(/images/hw/icons_hw.png) 0px -30px no-repeat; width:24px; height:15px; } +.hw_more_icons:hover {background:url(/images/hw/icons_hw.png) -40px -30px no-repeat;} +.hw_more_txt {width:75px; font-size:12px; color:#616060; background-color:#fff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-40px; top:15px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000;} +.hw_more_txt li a.hw_more_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px;text-align:center; } +.hw_more_txt li a.hw_more_li:hover {background-color:#f0f0f0;} + + + + +/* 个人主页左侧信息 */ +.user_leftinfo{ width:238px;border:1px solid #e5e5e5; background:#fff url(/images/user/user_bg_info.jpg) 0 0 no-repeat; position:relative; } +a.user_leftinfo_img { display:block; width:80px; height:80px; margin:15px auto;} +.user_leftinfo_img img{ width:74px; height:74px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px; border:3px solid #dcdcdc; } +.user_leftinfo_female{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) 5px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_male{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) -25px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_namebox{ text-align:center; height:16px; line-height:16px; } +.user_leftinfo_name{ display: inline-block; max-width:160px; font-size:14px; font-weight:bold; overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.user_cirbtn_yellow{ color:#fff; background:#ffb400; padding:0 5px;-webkit-border-radius:10px;-moz-border-radius:10px;-o-border-radius:10px;border-radius:10px; line-height:16px; } +.user_info_inner{ width:210px; margin:0 15px 15px;} +.user_atten li{ width:68px; float:left; border-right:1px solid #e5e5e5; text-align:center; font-size:14px;} +.user_atten li a{ color:#333;} +.user_atten li a:hover{ color:#3b94d6;} +.user_atten li:last-child{ border:none;} +.user_info_intro{ margin:10px auto; width:210px; color:#888; text-align: center;} +a.user_editinfo{border-top:1px solid #e5e5e5; height:30px; line-height:30px; text-align:center; color:#3b94d6; width:100%; display:inline-block;} +/* 个人主页左侧导航 */ +.user_leftnav{ width:240px;} +.users_accordion li > a {display: block;padding: 0 10px 0 32px;height:49px;line-height:49px;color: #333;font-size:16px;background: #f8f8f8;border:1px solid #e5e5e5;border-bottom:none;} +.users_accordion > li:hover > a{color: #3b94d6;background: #fff;} +.users_accordion > li:target > a, +.users_accordion > li > a.active {color: #3b94d6;background: #fff;border:1px solid #e5e5e5;border-left:3px solid #3b94d6;border-bottom:none;} +.users_accordion li{ position:relative;} +.users_accordion li > a span {margin-top:15px;font-size:12px;padding: 0 10px;background: #dbdbdb;-webkit-border-radius: 15px;-moz-border-radius: 15px;border-radius: 15px;margin-left:10px;color: #333;} +.users_accordion > li:hover > a span, +.users_accordion > li:target > a span, +.users_accordion > li > a.active span {margin-left:10px;color: #333;background: #dbdbdb;} +/* Images */ +.users_accordion > li > a:before {position: absolute;top: 0;left: 0;content: '';width: 24px;height: 50px;margin: 4px 8px;background-repeat: no-repeat;background-image:url(/images/user/icons_user_leftnav.png);background-position: 5px 15px;} +.users_accordion li.user_icons_course > a:before { background-position: 5px 15px; } +.users_accordion li.user_icons_course:hover > a:before, +.users_accordion li.user_icons_course:target > a:before, +.users_accordion li.user_icons_course > a.active:before { background-position: -25px 15px; } +.users_accordion li.user_icons_new > a:before { background-position: 5px -48px; } +.users_accordion li.user_icons_new:hover > a:before, +.users_accordion li.user_icons_new:target > a:before, +.users_accordion li.user_icons_new > a.active:before { background-position: -25px -48px; } +.users_accordion li.user_icons_addclass > a:before { background-position: 5px -87px; } +.users_accordion li.user_icons_addclass:hover > a:before, +.users_accordion li.user_icons_addclass:target > a:before, +.users_accordion li.user_icons_addclass > a.active:before { background-position: -25px -87px; } +.users_accordion li.user_icons_myhw > a:before { background-position: 5px -124px; } +.users_accordion li.user_icons_myhw:hover > a:before, +.users_accordion li.user_icons_myhw:target > a:before, +.users_accordion li.user_icons_myhw > a.active:before { background-position: -25px -124px; } +.users_accordion li.user_icons_project > a:before { background-position: 5px -167px; } +.users_accordion li.user_icons_project:hover > a:before, +.users_accordion li.user_icons_project:target > a:before, +.users_accordion li.user_icons_project > a.active:before { background-position: -25px -167px; } +.users_accordion li.user_icons_addproject > a:before { background-position: 5px -205px; } +.users_accordion li.user_icons_addproject:hover > a:before, +.users_accordion li.user_icons_addproject:target > a:before, +.users_accordion li.user_icons_addproject > a.active:before { background-position: -25px -205px; } +.users_accordion li.user_icons_myissues > a:before { background-position: 5px -246px; } +.users_accordion li.user_icons_myissues:hover > a:before, +.users_accordion li.user_icons_myissues:target > a:before, +.users_accordion li.user_icons_myissues > a.active:before { background-position: -25px -246px; } +.users_accordion li.user_icons_mes > a:before { background-position: 5px -289px; } +.users_accordion li.user_icons_mes:hover > a:before, +.users_accordion li.user_icons_mes:target > a:before, +.users_accordion li.user_icons_mes > a.active:before { background-position: -25px -289px; } +/* Sub Menu */ +.user_sub_menu li a {color: #797979;background: #f8f8f8;height:39px;line-height:39px;font-size:14px;} +.user_sub_menu li a:hover,.user_sub_menu li a:target { color:#3b94d6; background:#fff url(/images/user/user_navmore_icons.png) 0px 0px no-repeat;} +.user_sub_menu li a:hover,.user_sub_menu li a:target{} +.user_sub_menu li:last-child a { } +.users_accordion li > .user_sub_menu {display: none;} +.users_accordion li:target > .user_sub_menu {display: block;} +.user_sub_menu > li > span.user_icons_class {padding:0;border:none;display:block;position: absolute;top:18px;left:10px;width:20px;height:20px;background:url(/images/user/icons_user_leftnav.png) 0px -34px no-repeat;} +a.user_navmorebox{ display:block; width:238px; height:20px; position:relative; background:#f8f8f8;border:1px solid #e5e5e5; border-bottom:none;} +a:hover.user_navmorebox{ background:#fff;} +a.user_navmorebox .user_icons_moreclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) 5px -347px no-repeat;} +a.user_navmorebox .user_icons_closeclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) -25px -347px no-repeat;} +/* 个人主页左侧导航更多功能 */ +.user_navmore_box {position:absolute; width:15px; height:15px; right:13px; top:17px; cursor:pointer;} +.user_navmore_box ul li:hover ul {display:block; } +.user_navmore_icons {background:url(/images/user/icons_user_leftnav.png) -15px -34px no-repeat; width:19px; height:15px; } +.user_navmore_icons:hover {background:url(/images/user/icons_user_leftnav.png) -30px -34px no-repeat;} +.user_navmore_txt { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:115px;} +.user_navmore_txt li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:75px; } +.user_navmore_txt li a.user_navmore_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px; } +.user_navmore_txt li a.user_navmore_add{ width:10px;color:#888; padding:0 5px; } +.user_navmore_txt li:hover,.user_navmore_txt li a:hover{background-color:#f0f0f0;} diff --git a/public/stylesheets/css/user.css.BASE.css b/public/stylesheets/css/user.css.BASE.css new file mode 100644 index 000000000..e69de29bb diff --git a/public/stylesheets/css/user.css.LOCAL.css b/public/stylesheets/css/user.css.LOCAL.css new file mode 100644 index 000000000..5b99b32f2 --- /dev/null +++ b/public/stylesheets/css/user.css.LOCAL.css @@ -0,0 +1,170 @@ +/*新版头部css byLB20161125*/ +.header-new{ height: 50px; width:100%; background:#3b94d6;} +.header-new-nav{ width: 1000px; margin:0 auto; height: 50px; line-height: 50px; background:#3b94d6;} +.header-new-nav-logo{ display: block; width: 51px; height: 45px; background:url(/images/nav_logo.png) 0 3px no-repeat;} +.header-new-nav-left li{ float: left; height: 50px; line-height: 50px;} +.header-new-nav-left li a{ display: block; padding:0 15px; color: #fff; font-size: 14px; font-weight: normal;} +.header-new-nav-left li a:hover{ background: #fff; color: #3b94d6;} +.header-new-nav-left li a.active{ background: #297ebd; color: #fff;} +.header-new-search{ margin-top: 10px; position: relative;} +.header-new-search-input{ width: 280px; height: 30px; background: #fff; padding:0 5px; border:none;} +.icons-header-search{display: block; width: 20px; height: 20px; background:url(/images/hw/icons_hw.png) 0 -56px no-repeat; position: absolute; right: 5px; top:4px;} +.header-new-nav-right li { float: left; padding:0 10px; } +.icons-header-news{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px 0px no-repeat; } +.icons-header-class{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -37px no-repeat; } +.icons-header-project{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -72px no-repeat; } +.header-users{width:40px; height:40px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;} +.content-new {width:1000px; margin:0 auto; background-color:#eaebed;} +.home-user-left-box{width:240px;} +.home-user-right-box{width:750px;} +/*新版主页左侧css byLB20161125*/ +.home-user-leftnav{ background:#fff; width: 238px; border:1px solid #ddd; margin-bottom: 10px;} +.home-user-leftnav h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +.h3-more{ font-size: 12px; color: #888;} +.home-user-leftnav-li{ height: 45px; line-height: 40px; padding-left: 25px; color: #666;background:url(/images/user/home-user-left.png) 5px 5px no-repeat; font-size: 14px; position: relative; } +.home-user-leftnav-li:hover{ background:#f4f4f4 url(/images/user/home-user-left.png) 5px -35px no-repeat;} +.home-user-leftnav-li a:hover{color: #3b94d6;} +.icons-class{background:url(/images/user/home-user-left.png) 5px 5px no-repeat; } +.icons-class:hover{background:url(/images/user/home-user-left.png) 5px -35px no-repeat; } +.icons-project{background:url(/images/user/home-user-left.png) 5px -70px no-repeat; } +.icons-project:hover{background:url(/images/user/home-user-left.png) 5px -105px no-repeat; } +.icons-homework{background:url(/images/user/home-user-left.png) 5px -140px no-repeat; } +.icons-homework:hover{background:url(/images/user/home-user-left.png) 5px -177px no-repeat; } +.icons-doc{background:url(/images/user/home-user-left.png) 5px -215px no-repeat; } +.icons-doc:hover{background:url(/images/user/home-user-left.png) 5px -257px no-repeat; } +.icons-download{background:url(/images/user/home-user-left.png) 5px -292px no-repeat; } +.icons-download:hover{background:url(/images/user/home-user-left.png) 5px -326px no-repeat; } +.icons-issue{background:url(/images/user/home-user-left.png) 5px -360px no-repeat; } +.icons-issue:hover{background:url(/images/user/home-user-left.png) 5px -393px no-repeat; } +.home-user-grey-tag{ display: block; background-color: #eaeaea;padding: 0px 8px; height:20px; line-height:20px;-webkit-border-radius: 15px; -moz-border-radius: 15px; -o-border-radius: 15px; border-radius: 15px; font-size: 12px;} +.user_navmore_txt02 { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:75px;} +.user_navmore_txt02 li a.user_navmore_li {font-size:12px;color:#888; display:block; width:50px;height:24px;line-height:24px; } +.user_navmore_txt02 li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:50px; } +.user_navmore_txt02 li:hover,.user_navmore_txt02 li a:hover{background-color:#f0f0f0;} +/*新版主页个性签名css byLB20161125*/ +.home-user-intro{ width:728px; border:1px solid #ddd; padding:10px; background: #fff;} +.home-user-intro p{ color: #666; font-size: 14px;} +/*新版主页动态css byLB20161125*/ +.home-user-newsbox{width:748px; border:1px solid #ddd; background: #fff;} +.home-user-newsbox h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +a.btn-grey-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#dedede; border-radius: 3px;color: #333;} +a.btn-blue-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#3b94d6; border-radius: 3px;color: #fff;} +a:hover.btn-grey-small{background:#d0d0d0; } +a:hover.btn-blue-small{background:#297ebd;} +.home-user-news-list{ padding:10px 10px ;border-bottom:1px dashed #ddd;} +.home-user-news-img img{ width: 40px;height: 40px;margin: 5px 0; border-radius: 50px;} +a.home-user-news-name{ display: inline-block; max-width:200px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; color: #3b94d6;} +.home-user-news-grey{ color: #888;} +.home-user-news-list-inner{ width: 675px;} +.home-user-news-txt{max-width:600px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.home-user-news-del{ height: 20px; display: inline-block; width: 20px; background:url(/images/user/home-user-left.png) 0px -514px no-repeat; } +.home-user-nonews{ width: 200px; margin:100px auto; text-align:center; color:#666; min-height: 350px; } +/*新版发现更多css byLB20161125*/ +.content-new-inner{ width: 998px;border:1px solid #ddd; background: #fff; position: relative;} +.content-new-inner h3{height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; font-size: 14px; background: #f6f6f6;} +.content-faxian-list{border-bottom:1px dashed #ddd; padding:10px 0px; width: 100%;} +a.faxian-list-title{ font-size: 14px; color:#333;max-width:720px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +a:hover.faxian-list-title{ color: #3b94d6;} +.syllabus_class_private {color: #ff4a1b; border: 1px solid #ff4a1b;} +.syllabus_class_property {font-size: 12px; padding: 0 5px; border-radius: 3px;line-height: 14px;} +.syllabus_class_open {color: #7dd26c;border: 1px solid #7dd26c;} +a.pro_new_topbtn{ padding: 3px 7px; font-size: 12px; line-height: 20px; color: #333;vertical-align: middle;background-color: #fff; border: 1px solid #ddd; border-left: 0; border-top-right-radius: 3px; border-bottom-right-radius: 3px; color: #333;} +a.pro_new_topbtn_left { padding: 3px 10px; font-size: 12px;line-height: 20px; background-image: linear-gradient(#fcfcfc, #eee); border: 1px solid #d5d5d5;border-radius: 3px;border-top-right-radius: 0;border-bottom-right-radius: 0; color: #333; } +a:hover.pro_new_topbtn_left{background-image: linear-gradient(#ededed, #dddddd);} +.pro_new_topnav ul{border-bottom: 3px solid #fff; height: 30px; line-height: 30px;} +.pro_new_topnav ul li{ float: left; height: 30px; line-height: 30px;text-align: center; padding:0 15px; } +.pro_new_topnav_active{border-bottom: 3px solid #3b94d6; } +.hw_more_box {position:absolute; width:24px; height:15px; right:15px; top:15px;} +.hw_more_box ul li:hover ul {display:block; } +.hw_more_icons {background:url(/images/hw/icons_hw.png) 0px -30px no-repeat; width:24px; height:15px; } +.hw_more_icons:hover {background:url(/images/hw/icons_hw.png) -40px -30px no-repeat;} +.hw_more_txt {width:75px; font-size:12px; color:#616060; background-color:#fff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-40px; top:15px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000;} +.hw_more_txt li a.hw_more_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px;text-align:center; } +.hw_more_txt li a.hw_more_li:hover {background-color:#f0f0f0;} + + + + +/* 个人主页左侧信息 */ +.user_leftinfo{ width:238px;border:1px solid #e5e5e5; background:#fff url(/images/user/user_bg_info.jpg) 0 0 no-repeat; position:relative; } +a.user_leftinfo_img { display:block; width:80px; height:80px; margin:15px auto;} +.user_leftinfo_img img{ width:74px; height:74px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px; border:3px solid #dcdcdc; } +.user_leftinfo_female{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) 5px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_male{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) -25px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_namebox{ text-align:center; height:16px; line-height:16px; } +.user_leftinfo_name{ display: inline-block; max-width:160px; font-size:14px; font-weight:bold; overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.user_cirbtn_yellow{ color:#fff; background:#ffb400; padding:0 5px;-webkit-border-radius:10px;-moz-border-radius:10px;-o-border-radius:10px;border-radius:10px; line-height:16px; } +.user_info_inner{ width:210px; margin:0 15px 15px;} +.user_atten li{ width:68px; float:left; border-right:1px solid #e5e5e5; text-align:center; font-size:14px;} +.user_atten li a{ color:#333;} +.user_atten li a:hover{ color:#3b94d6;} +.user_atten li:last-child{ border:none;} +.user_info_intro{ margin:10px auto; width:210px; color:#888; text-align: center;} +a.user_editinfo{border-top:1px solid #e5e5e5; height:30px; line-height:30px; text-align:center; color:#3b94d6; width:100%; display:inline-block;} +/* 个人主页左侧导航 */ +.user_leftnav{ width:240px;} +.users_accordion li > a {display: block;padding: 0 10px 0 32px;height:49px;line-height:49px;color: #333;font-size:16px;background: #f8f8f8;border:1px solid #e5e5e5;border-bottom:none;} +.users_accordion > li:hover > a{color: #3b94d6;background: #fff;} +.users_accordion > li:target > a, +.users_accordion > li > a.active {color: #3b94d6;background: #fff;border:1px solid #e5e5e5;border-left:3px solid #3b94d6;border-bottom:none;} +.users_accordion li{ position:relative;} +.users_accordion li > a span {margin-top:15px;font-size:12px;padding: 0 10px;background: #dbdbdb;-webkit-border-radius: 15px;-moz-border-radius: 15px;border-radius: 15px;margin-left:10px;color: #333;} +.users_accordion > li:hover > a span, +.users_accordion > li:target > a span, +.users_accordion > li > a.active span {margin-left:10px;color: #333;background: #dbdbdb;} +/* Images */ +.users_accordion > li > a:before {position: absolute;top: 0;left: 0;content: '';width: 24px;height: 50px;margin: 4px 8px;background-repeat: no-repeat;background-image:url(/images/user/icons_user_leftnav.png);background-position: 5px 15px;} +.users_accordion li.user_icons_course > a:before { background-position: 5px 15px; } +.users_accordion li.user_icons_course:hover > a:before, +.users_accordion li.user_icons_course:target > a:before, +.users_accordion li.user_icons_course > a.active:before { background-position: -25px 15px; } +.users_accordion li.user_icons_new > a:before { background-position: 5px -48px; } +.users_accordion li.user_icons_new:hover > a:before, +.users_accordion li.user_icons_new:target > a:before, +.users_accordion li.user_icons_new > a.active:before { background-position: -25px -48px; } +.users_accordion li.user_icons_addclass > a:before { background-position: 5px -87px; } +.users_accordion li.user_icons_addclass:hover > a:before, +.users_accordion li.user_icons_addclass:target > a:before, +.users_accordion li.user_icons_addclass > a.active:before { background-position: -25px -87px; } +.users_accordion li.user_icons_myhw > a:before { background-position: 5px -124px; } +.users_accordion li.user_icons_myhw:hover > a:before, +.users_accordion li.user_icons_myhw:target > a:before, +.users_accordion li.user_icons_myhw > a.active:before { background-position: -25px -124px; } +.users_accordion li.user_icons_project > a:before { background-position: 5px -167px; } +.users_accordion li.user_icons_project:hover > a:before, +.users_accordion li.user_icons_project:target > a:before, +.users_accordion li.user_icons_project > a.active:before { background-position: -25px -167px; } +.users_accordion li.user_icons_addproject > a:before { background-position: 5px -205px; } +.users_accordion li.user_icons_addproject:hover > a:before, +.users_accordion li.user_icons_addproject:target > a:before, +.users_accordion li.user_icons_addproject > a.active:before { background-position: -25px -205px; } +.users_accordion li.user_icons_myissues > a:before { background-position: 5px -246px; } +.users_accordion li.user_icons_myissues:hover > a:before, +.users_accordion li.user_icons_myissues:target > a:before, +.users_accordion li.user_icons_myissues > a.active:before { background-position: -25px -246px; } +.users_accordion li.user_icons_mes > a:before { background-position: 5px -289px; } +.users_accordion li.user_icons_mes:hover > a:before, +.users_accordion li.user_icons_mes:target > a:before, +.users_accordion li.user_icons_mes > a.active:before { background-position: -25px -289px; } +/* Sub Menu */ +.user_sub_menu li a {color: #797979;background: #f8f8f8;height:39px;line-height:39px;font-size:14px;} +.user_sub_menu li a:hover,.user_sub_menu li a:target { color:#3b94d6; background:#fff url(/images/user/user_navmore_icons.png) 0px 0px no-repeat;} +.user_sub_menu li a:hover,.user_sub_menu li a:target{} +.user_sub_menu li:last-child a { } +.users_accordion li > .user_sub_menu {display: none;} +.users_accordion li:target > .user_sub_menu {display: block;} +.user_sub_menu > li > span.user_icons_class {padding:0;border:none;display:block;position: absolute;top:18px;left:10px;width:20px;height:20px;background:url(/images/user/icons_user_leftnav.png) 0px -34px no-repeat;} +a.user_navmorebox{ display:block; width:238px; height:20px; position:relative; background:#f8f8f8;border:1px solid #e5e5e5; border-bottom:none;} +a:hover.user_navmorebox{ background:#fff;} +a.user_navmorebox .user_icons_moreclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) 5px -347px no-repeat;} +a.user_navmorebox .user_icons_closeclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) -25px -347px no-repeat;} +/* 个人主页左侧导航更多功能 */ +.user_navmore_box {position:absolute; width:15px; height:15px; right:13px; top:17px; cursor:pointer;} +.user_navmore_box ul li:hover ul {display:block; } +.user_navmore_icons {background:url(/images/user/icons_user_leftnav.png) -15px -34px no-repeat; width:19px; height:15px; } +.user_navmore_icons:hover {background:url(/images/user/icons_user_leftnav.png) -30px -34px no-repeat;} +.user_navmore_txt { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:115px;} +.user_navmore_txt li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:75px; } +.user_navmore_txt li a.user_navmore_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px; } +.user_navmore_txt li a.user_navmore_add{ width:10px;color:#888; padding:0 5px; } +.user_navmore_txt li:hover,.user_navmore_txt li a:hover{background-color:#f0f0f0;} diff --git a/public/stylesheets/css/user.css.REMOTE.css b/public/stylesheets/css/user.css.REMOTE.css new file mode 100644 index 000000000..5b99b32f2 --- /dev/null +++ b/public/stylesheets/css/user.css.REMOTE.css @@ -0,0 +1,170 @@ +/*新版头部css byLB20161125*/ +.header-new{ height: 50px; width:100%; background:#3b94d6;} +.header-new-nav{ width: 1000px; margin:0 auto; height: 50px; line-height: 50px; background:#3b94d6;} +.header-new-nav-logo{ display: block; width: 51px; height: 45px; background:url(/images/nav_logo.png) 0 3px no-repeat;} +.header-new-nav-left li{ float: left; height: 50px; line-height: 50px;} +.header-new-nav-left li a{ display: block; padding:0 15px; color: #fff; font-size: 14px; font-weight: normal;} +.header-new-nav-left li a:hover{ background: #fff; color: #3b94d6;} +.header-new-nav-left li a.active{ background: #297ebd; color: #fff;} +.header-new-search{ margin-top: 10px; position: relative;} +.header-new-search-input{ width: 280px; height: 30px; background: #fff; padding:0 5px; border:none;} +.icons-header-search{display: block; width: 20px; height: 20px; background:url(/images/hw/icons_hw.png) 0 -56px no-repeat; position: absolute; right: 5px; top:4px;} +.header-new-nav-right li { float: left; padding:0 10px; } +.icons-header-news{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px 0px no-repeat; } +.icons-header-class{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -37px no-repeat; } +.icons-header-project{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -72px no-repeat; } +.header-users{width:40px; height:40px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;} +.content-new {width:1000px; margin:0 auto; background-color:#eaebed;} +.home-user-left-box{width:240px;} +.home-user-right-box{width:750px;} +/*新版主页左侧css byLB20161125*/ +.home-user-leftnav{ background:#fff; width: 238px; border:1px solid #ddd; margin-bottom: 10px;} +.home-user-leftnav h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +.h3-more{ font-size: 12px; color: #888;} +.home-user-leftnav-li{ height: 45px; line-height: 40px; padding-left: 25px; color: #666;background:url(/images/user/home-user-left.png) 5px 5px no-repeat; font-size: 14px; position: relative; } +.home-user-leftnav-li:hover{ background:#f4f4f4 url(/images/user/home-user-left.png) 5px -35px no-repeat;} +.home-user-leftnav-li a:hover{color: #3b94d6;} +.icons-class{background:url(/images/user/home-user-left.png) 5px 5px no-repeat; } +.icons-class:hover{background:url(/images/user/home-user-left.png) 5px -35px no-repeat; } +.icons-project{background:url(/images/user/home-user-left.png) 5px -70px no-repeat; } +.icons-project:hover{background:url(/images/user/home-user-left.png) 5px -105px no-repeat; } +.icons-homework{background:url(/images/user/home-user-left.png) 5px -140px no-repeat; } +.icons-homework:hover{background:url(/images/user/home-user-left.png) 5px -177px no-repeat; } +.icons-doc{background:url(/images/user/home-user-left.png) 5px -215px no-repeat; } +.icons-doc:hover{background:url(/images/user/home-user-left.png) 5px -257px no-repeat; } +.icons-download{background:url(/images/user/home-user-left.png) 5px -292px no-repeat; } +.icons-download:hover{background:url(/images/user/home-user-left.png) 5px -326px no-repeat; } +.icons-issue{background:url(/images/user/home-user-left.png) 5px -360px no-repeat; } +.icons-issue:hover{background:url(/images/user/home-user-left.png) 5px -393px no-repeat; } +.home-user-grey-tag{ display: block; background-color: #eaeaea;padding: 0px 8px; height:20px; line-height:20px;-webkit-border-radius: 15px; -moz-border-radius: 15px; -o-border-radius: 15px; border-radius: 15px; font-size: 12px;} +.user_navmore_txt02 { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:75px;} +.user_navmore_txt02 li a.user_navmore_li {font-size:12px;color:#888; display:block; width:50px;height:24px;line-height:24px; } +.user_navmore_txt02 li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:50px; } +.user_navmore_txt02 li:hover,.user_navmore_txt02 li a:hover{background-color:#f0f0f0;} +/*新版主页个性签名css byLB20161125*/ +.home-user-intro{ width:728px; border:1px solid #ddd; padding:10px; background: #fff;} +.home-user-intro p{ color: #666; font-size: 14px;} +/*新版主页动态css byLB20161125*/ +.home-user-newsbox{width:748px; border:1px solid #ddd; background: #fff;} +.home-user-newsbox h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +a.btn-grey-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#dedede; border-radius: 3px;color: #333;} +a.btn-blue-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#3b94d6; border-radius: 3px;color: #fff;} +a:hover.btn-grey-small{background:#d0d0d0; } +a:hover.btn-blue-small{background:#297ebd;} +.home-user-news-list{ padding:10px 10px ;border-bottom:1px dashed #ddd;} +.home-user-news-img img{ width: 40px;height: 40px;margin: 5px 0; border-radius: 50px;} +a.home-user-news-name{ display: inline-block; max-width:200px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; color: #3b94d6;} +.home-user-news-grey{ color: #888;} +.home-user-news-list-inner{ width: 675px;} +.home-user-news-txt{max-width:600px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.home-user-news-del{ height: 20px; display: inline-block; width: 20px; background:url(/images/user/home-user-left.png) 0px -514px no-repeat; } +.home-user-nonews{ width: 200px; margin:100px auto; text-align:center; color:#666; min-height: 350px; } +/*新版发现更多css byLB20161125*/ +.content-new-inner{ width: 998px;border:1px solid #ddd; background: #fff; position: relative;} +.content-new-inner h3{height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; font-size: 14px; background: #f6f6f6;} +.content-faxian-list{border-bottom:1px dashed #ddd; padding:10px 0px; width: 100%;} +a.faxian-list-title{ font-size: 14px; color:#333;max-width:720px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +a:hover.faxian-list-title{ color: #3b94d6;} +.syllabus_class_private {color: #ff4a1b; border: 1px solid #ff4a1b;} +.syllabus_class_property {font-size: 12px; padding: 0 5px; border-radius: 3px;line-height: 14px;} +.syllabus_class_open {color: #7dd26c;border: 1px solid #7dd26c;} +a.pro_new_topbtn{ padding: 3px 7px; font-size: 12px; line-height: 20px; color: #333;vertical-align: middle;background-color: #fff; border: 1px solid #ddd; border-left: 0; border-top-right-radius: 3px; border-bottom-right-radius: 3px; color: #333;} +a.pro_new_topbtn_left { padding: 3px 10px; font-size: 12px;line-height: 20px; background-image: linear-gradient(#fcfcfc, #eee); border: 1px solid #d5d5d5;border-radius: 3px;border-top-right-radius: 0;border-bottom-right-radius: 0; color: #333; } +a:hover.pro_new_topbtn_left{background-image: linear-gradient(#ededed, #dddddd);} +.pro_new_topnav ul{border-bottom: 3px solid #fff; height: 30px; line-height: 30px;} +.pro_new_topnav ul li{ float: left; height: 30px; line-height: 30px;text-align: center; padding:0 15px; } +.pro_new_topnav_active{border-bottom: 3px solid #3b94d6; } +.hw_more_box {position:absolute; width:24px; height:15px; right:15px; top:15px;} +.hw_more_box ul li:hover ul {display:block; } +.hw_more_icons {background:url(/images/hw/icons_hw.png) 0px -30px no-repeat; width:24px; height:15px; } +.hw_more_icons:hover {background:url(/images/hw/icons_hw.png) -40px -30px no-repeat;} +.hw_more_txt {width:75px; font-size:12px; color:#616060; background-color:#fff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-40px; top:15px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000;} +.hw_more_txt li a.hw_more_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px;text-align:center; } +.hw_more_txt li a.hw_more_li:hover {background-color:#f0f0f0;} + + + + +/* 个人主页左侧信息 */ +.user_leftinfo{ width:238px;border:1px solid #e5e5e5; background:#fff url(/images/user/user_bg_info.jpg) 0 0 no-repeat; position:relative; } +a.user_leftinfo_img { display:block; width:80px; height:80px; margin:15px auto;} +.user_leftinfo_img img{ width:74px; height:74px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px; border:3px solid #dcdcdc; } +.user_leftinfo_female{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) 5px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_male{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) -25px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_namebox{ text-align:center; height:16px; line-height:16px; } +.user_leftinfo_name{ display: inline-block; max-width:160px; font-size:14px; font-weight:bold; overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.user_cirbtn_yellow{ color:#fff; background:#ffb400; padding:0 5px;-webkit-border-radius:10px;-moz-border-radius:10px;-o-border-radius:10px;border-radius:10px; line-height:16px; } +.user_info_inner{ width:210px; margin:0 15px 15px;} +.user_atten li{ width:68px; float:left; border-right:1px solid #e5e5e5; text-align:center; font-size:14px;} +.user_atten li a{ color:#333;} +.user_atten li a:hover{ color:#3b94d6;} +.user_atten li:last-child{ border:none;} +.user_info_intro{ margin:10px auto; width:210px; color:#888; text-align: center;} +a.user_editinfo{border-top:1px solid #e5e5e5; height:30px; line-height:30px; text-align:center; color:#3b94d6; width:100%; display:inline-block;} +/* 个人主页左侧导航 */ +.user_leftnav{ width:240px;} +.users_accordion li > a {display: block;padding: 0 10px 0 32px;height:49px;line-height:49px;color: #333;font-size:16px;background: #f8f8f8;border:1px solid #e5e5e5;border-bottom:none;} +.users_accordion > li:hover > a{color: #3b94d6;background: #fff;} +.users_accordion > li:target > a, +.users_accordion > li > a.active {color: #3b94d6;background: #fff;border:1px solid #e5e5e5;border-left:3px solid #3b94d6;border-bottom:none;} +.users_accordion li{ position:relative;} +.users_accordion li > a span {margin-top:15px;font-size:12px;padding: 0 10px;background: #dbdbdb;-webkit-border-radius: 15px;-moz-border-radius: 15px;border-radius: 15px;margin-left:10px;color: #333;} +.users_accordion > li:hover > a span, +.users_accordion > li:target > a span, +.users_accordion > li > a.active span {margin-left:10px;color: #333;background: #dbdbdb;} +/* Images */ +.users_accordion > li > a:before {position: absolute;top: 0;left: 0;content: '';width: 24px;height: 50px;margin: 4px 8px;background-repeat: no-repeat;background-image:url(/images/user/icons_user_leftnav.png);background-position: 5px 15px;} +.users_accordion li.user_icons_course > a:before { background-position: 5px 15px; } +.users_accordion li.user_icons_course:hover > a:before, +.users_accordion li.user_icons_course:target > a:before, +.users_accordion li.user_icons_course > a.active:before { background-position: -25px 15px; } +.users_accordion li.user_icons_new > a:before { background-position: 5px -48px; } +.users_accordion li.user_icons_new:hover > a:before, +.users_accordion li.user_icons_new:target > a:before, +.users_accordion li.user_icons_new > a.active:before { background-position: -25px -48px; } +.users_accordion li.user_icons_addclass > a:before { background-position: 5px -87px; } +.users_accordion li.user_icons_addclass:hover > a:before, +.users_accordion li.user_icons_addclass:target > a:before, +.users_accordion li.user_icons_addclass > a.active:before { background-position: -25px -87px; } +.users_accordion li.user_icons_myhw > a:before { background-position: 5px -124px; } +.users_accordion li.user_icons_myhw:hover > a:before, +.users_accordion li.user_icons_myhw:target > a:before, +.users_accordion li.user_icons_myhw > a.active:before { background-position: -25px -124px; } +.users_accordion li.user_icons_project > a:before { background-position: 5px -167px; } +.users_accordion li.user_icons_project:hover > a:before, +.users_accordion li.user_icons_project:target > a:before, +.users_accordion li.user_icons_project > a.active:before { background-position: -25px -167px; } +.users_accordion li.user_icons_addproject > a:before { background-position: 5px -205px; } +.users_accordion li.user_icons_addproject:hover > a:before, +.users_accordion li.user_icons_addproject:target > a:before, +.users_accordion li.user_icons_addproject > a.active:before { background-position: -25px -205px; } +.users_accordion li.user_icons_myissues > a:before { background-position: 5px -246px; } +.users_accordion li.user_icons_myissues:hover > a:before, +.users_accordion li.user_icons_myissues:target > a:before, +.users_accordion li.user_icons_myissues > a.active:before { background-position: -25px -246px; } +.users_accordion li.user_icons_mes > a:before { background-position: 5px -289px; } +.users_accordion li.user_icons_mes:hover > a:before, +.users_accordion li.user_icons_mes:target > a:before, +.users_accordion li.user_icons_mes > a.active:before { background-position: -25px -289px; } +/* Sub Menu */ +.user_sub_menu li a {color: #797979;background: #f8f8f8;height:39px;line-height:39px;font-size:14px;} +.user_sub_menu li a:hover,.user_sub_menu li a:target { color:#3b94d6; background:#fff url(/images/user/user_navmore_icons.png) 0px 0px no-repeat;} +.user_sub_menu li a:hover,.user_sub_menu li a:target{} +.user_sub_menu li:last-child a { } +.users_accordion li > .user_sub_menu {display: none;} +.users_accordion li:target > .user_sub_menu {display: block;} +.user_sub_menu > li > span.user_icons_class {padding:0;border:none;display:block;position: absolute;top:18px;left:10px;width:20px;height:20px;background:url(/images/user/icons_user_leftnav.png) 0px -34px no-repeat;} +a.user_navmorebox{ display:block; width:238px; height:20px; position:relative; background:#f8f8f8;border:1px solid #e5e5e5; border-bottom:none;} +a:hover.user_navmorebox{ background:#fff;} +a.user_navmorebox .user_icons_moreclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) 5px -347px no-repeat;} +a.user_navmorebox .user_icons_closeclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) -25px -347px no-repeat;} +/* 个人主页左侧导航更多功能 */ +.user_navmore_box {position:absolute; width:15px; height:15px; right:13px; top:17px; cursor:pointer;} +.user_navmore_box ul li:hover ul {display:block; } +.user_navmore_icons {background:url(/images/user/icons_user_leftnav.png) -15px -34px no-repeat; width:19px; height:15px; } +.user_navmore_icons:hover {background:url(/images/user/icons_user_leftnav.png) -30px -34px no-repeat;} +.user_navmore_txt { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:115px;} +.user_navmore_txt li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:75px; } +.user_navmore_txt li a.user_navmore_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px; } +.user_navmore_txt li a.user_navmore_add{ width:10px;color:#888; padding:0 5px; } +.user_navmore_txt li:hover,.user_navmore_txt li a:hover{background-color:#f0f0f0;} From 4ea8bbb64a660970bb597db796230691101a41fb Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 12 Dec 2016 10:50:21 +0800 Subject: [PATCH 12/57] =?UTF-8?q?Revert=20"=E9=83=A8=E5=88=86=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE404=E9=97=AE=E9=A2=98"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 818e63386ca46b2bc5b1ae426906e3ba6c721c3a. --- app/views/projects/_project_attachment.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/projects/_project_attachment.html.erb b/app/views/projects/_project_attachment.html.erb index 580e5bee2..7f5a6a2cf 100644 --- a/app/views/projects/_project_attachment.html.erb +++ b/app/views/projects/_project_attachment.html.erb @@ -9,10 +9,10 @@

      <%= link_to activity.try(:author).show_name, user_path(activity.author_id), :class => "newsBlue mr15" %> TO - <%= link_to activity.project.name.to_s+" | 项目资源", project_files_path(activity.project), :class => "newsBlue ml15" %> + <%= link_to activity.project.name.to_s+" | 项目资源", project_files_path(activity.course), :class => "newsBlue ml15" %>
      - <%= link_to activity.filename, project_files_path(activity.project), :class => "postGrey" %> + <%= link_to activity.filename, project_files_path(activity.course), :class => "postGrey" %>
      From 6e67e4a5c78ac0a527a39dd28d65ebe3bc26f61a Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 12 Dec 2016 10:55:19 +0800 Subject: [PATCH 13/57] 0 --- Gemfile | 14 +- app/api/mobile/entities/attachment.rb | 11 +- app/api/mobile/entities/issue.rb | 2 + app/controllers/application_controller.rb | 6 +- app/controllers/attachments_controller.rb | 10 +- app/controllers/courses_controller.rb | 7 + app/controllers/student_work_controller.rb | 25 ++- app/controllers/users_controller.rb | 203 ++++++++++++++++-- app/controllers/wechats_controller.rb | 37 +++- app/helpers/application_helper.rb | 40 +++- app/helpers/users_helper.rb | 18 +- app/models/attachment.rb | 2 +- app/models/issue.rb | 4 + app/models/message.rb | 4 + app/models/user_wechat.rb | 5 + app/services/courses_service.rb | 2 + app/views/comments/create.js.erb | 4 +- app/views/courses/_course_activity.html.erb | 8 +- .../courses/_course_activity_users.html.erb | 4 +- app/views/courses/_course_heroes.html.erb | 4 +- app/views/courses/_course_teacher.html.erb | 33 +-- .../courses/_join_private_course.html.erb | 18 +- app/views/courses/_new_member_list.html.erb | 4 +- .../courses/join_course_multi_role.js.erb | 37 ++-- app/views/courses/member.html.erb | 11 +- app/views/courses/set_invite_code_halt.js.erb | 2 + .../exercise/_all_import_exercises.html.erb | 6 +- .../alert_forbidden_anonymous_comment.js.erb | 8 +- app/views/layouts/_course_base_info.html.erb | 23 +- app/views/layouts/_logined_header.html.erb | 18 +- .../layouts/_user_brief_introduction.html.erb | 14 +- app/views/layouts/_user_watch_btn.html.erb | 18 +- .../layouts/base_course_community.html.erb | 113 ++++++++++ app/views/layouts/base_courses.html.erb | 13 +- .../layouts/base_project_community.html.erb | 96 +++++++++ app/views/layouts/new_base_user.html.erb | 163 +++++++++----- .../projects/_project_attachment.html.erb | 4 +- .../projects/_project_issue_contents.html.erb | 23 +- .../_project_message_contents.html.erb | 23 +- .../_alert_forbidden_anonymous.html.erb | 33 +-- .../student_work/_change_project.html.erb | 64 ++++++ .../_evaluation_un_group_member_work.html.erb | 9 +- .../student_work/_evaluation_un_work.html.erb | 8 +- .../_homework_post_brief.html.erb | 2 - .../_programing_work_show.html.erb | 9 +- .../student_work/_relate_project.html.erb | 33 +-- .../student_work/_relate_projects.html.erb | 24 ++- .../student_work/_revise_attachment.html.erb | 12 +- app/views/student_work/_show.html.erb | 9 +- .../student_work/_student_work_list.html.erb | 2 +- .../student_work/_student_work_score.html.erb | 2 +- .../student_work/_upload_attachment.html.erb | 25 +-- .../_work_attachments_status.html.erb | 4 +- app/views/student_work/change_project.js.erb | 17 ++ .../forbidden_anonymous_comment.js.erb | 8 + app/views/student_work/index.html.erb | 6 +- .../new_student_work_project.js.erb | 7 +- .../student_work/search_user_projects.js.erb | 4 +- .../users/_applied_project_content.html.erb | 6 +- .../_apply_homework_course_message.html.erb | 2 +- .../_apply_resource_course_message.html.erb | 2 +- ...ply_resource_course_message_reply.html.erb | 2 +- app/views/users/_course_attachment.html.erb | 2 +- app/views/users/_course_create.html.erb | 3 +- app/views/users/_course_homework.html.erb | 6 +- .../users/_course_journalsformessage.html.erb | 3 +- app/views/users/_course_message.html.erb | 3 +- app/views/users/_course_news.html.erb | 3 +- app/views/users/_course_poll.html.erb | 3 +- app/views/users/_homework_base_info.html.erb | 5 + .../_join_course_course_message.html.erb | 6 +- app/views/users/_message_contents.html.erb | 26 ++- app/views/users/_new_user_message.html.erb | 27 +++ .../users/_new_user_message.html.erb.BASE.erb | 0 .../_new_user_message.html.erb.LOCAL.erb | 27 +++ .../_new_user_message.html.erb.REMOTE.erb | 27 +++ app/views/users/_news_contents.html.erb | 26 ++- app/views/users/_no_data.html.erb | 4 + app/views/users/_no_data.html.erb.BASE.erb | 0 app/views/users/_no_data.html.erb.LOCAL.erb | 4 + app/views/users/_no_data.html.erb.REMOTE.erb | 4 + app/views/users/_user_activities.html.erb | 3 +- app/views/users/_user_at_message.html.erb | 2 +- .../_user_message_applide_action.html.erb | 14 +- .../users/_user_message_applied.html.erb | 2 +- .../_user_message_applied_schools.html.erb | 2 +- app/views/users/_user_message_course.html.erb | 91 ++++---- app/views/users/_user_message_forge.html.erb | 33 ++- app/views/users/_user_message_org.html.erb | 15 +- app/views/users/_user_message_system.html.erb | 6 +- .../_user_message_userfeedaback.html.erb | 4 +- .../users/_user_programing_attr.html.erb | 17 +- app/views/users/course_community.html.erb | 39 ++++ app/views/users/course_community.js.erb | 6 + app/views/users/project_community.html.erb | 37 ++++ app/views/users/project_community.js.erb | 6 + .../users/project_community.js.erb.BASE.erb | 0 .../users/project_community.js.erb.LOCAL.erb | 6 + .../users/project_community.js.erb.REMOTE.erb | 6 + app/views/users/show.html.erb | 145 +++++++++---- app/views/users/user_messages.html.erb | 27 +-- config/application.rb | 2 +- config/initializers/mini_profiler.rb | 4 + config/routes.rb | 7 + .../20161208015939_add_column_to_course.rb | 5 + db/schema.rb | 25 ++- lib/tasks/homework_publishtime.rake | 30 +-- public/assets/wechat/app.html | 1 - public/assets/wechat/issue_detail.html | 27 ++- public/images/user/apply_tab.png | Bin 0 -> 108591 bytes public/images/user/female.jpg | Bin 3783 -> 14850 bytes public/images/user/home-user-left.png | Bin 0 -> 111449 bytes public/images/user/home-user-mes.png | Bin 0 -> 107495 bytes public/images/user/homepage_tab.png | Bin 0 -> 110856 bytes public/images/user/male.jpg | Bin 4136 -> 2756 bytes public/images/user/nonews.png | Bin 0 -> 112502 bytes public/images/user/user_navmore_icons.png | Bin 1085 -> 19619 bytes public/images/wechat/w-icons-file.png | Bin 0 -> 19066 bytes public/javascripts/application.js | 2 +- public/javascripts/course.js | 6 +- public/javascripts/homework.js | 8 +- public/javascripts/new_user.js | 6 +- public/javascripts/wechat/app.js | 1 + .../javascripts/wechat/controllers/issue.js | 84 +++++++- public/javascripts/wechat/others/factory.js | 22 +- public/stylesheets/css/common.css | 35 +-- public/stylesheets/css/courses.css | 2 + public/stylesheets/css/project.css | 17 +- public/stylesheets/css/public.css | 5 +- public/stylesheets/css/structure.css | 36 +++- public/stylesheets/css/user.css | 170 +++++++++++++++ public/stylesheets/css/user.css.BASE.css | 0 public/stylesheets/css/user.css.LOCAL.css | 170 +++++++++++++++ public/stylesheets/css/user.css.REMOTE.css | 170 +++++++++++++++ public/stylesheets/syllabus.css | 3 +- public/stylesheets/weui/weixin.css | 25 ++- 136 files changed, 2247 insertions(+), 583 deletions(-) create mode 100644 app/views/courses/set_invite_code_halt.js.erb create mode 100644 app/views/layouts/base_course_community.html.erb create mode 100644 app/views/layouts/base_project_community.html.erb create mode 100644 app/views/student_work/_change_project.html.erb create mode 100644 app/views/student_work/change_project.js.erb create mode 100644 app/views/users/_new_user_message.html.erb create mode 100644 app/views/users/_new_user_message.html.erb.BASE.erb create mode 100644 app/views/users/_new_user_message.html.erb.LOCAL.erb create mode 100644 app/views/users/_new_user_message.html.erb.REMOTE.erb create mode 100644 app/views/users/_no_data.html.erb create mode 100644 app/views/users/_no_data.html.erb.BASE.erb create mode 100644 app/views/users/_no_data.html.erb.LOCAL.erb create mode 100644 app/views/users/_no_data.html.erb.REMOTE.erb create mode 100644 app/views/users/course_community.html.erb create mode 100644 app/views/users/course_community.js.erb create mode 100644 app/views/users/project_community.html.erb create mode 100644 app/views/users/project_community.js.erb create mode 100644 app/views/users/project_community.js.erb.BASE.erb create mode 100644 app/views/users/project_community.js.erb.LOCAL.erb create mode 100644 app/views/users/project_community.js.erb.REMOTE.erb create mode 100644 config/initializers/mini_profiler.rb create mode 100644 db/migrate/20161208015939_add_column_to_course.rb create mode 100644 public/images/user/apply_tab.png create mode 100644 public/images/user/home-user-left.png create mode 100644 public/images/user/home-user-mes.png create mode 100644 public/images/user/homepage_tab.png create mode 100644 public/images/user/nonews.png create mode 100644 public/images/wechat/w-icons-file.png create mode 100644 public/stylesheets/css/user.css create mode 100644 public/stylesheets/css/user.css.BASE.css create mode 100644 public/stylesheets/css/user.css.LOCAL.css create mode 100644 public/stylesheets/css/user.css.REMOTE.css diff --git a/Gemfile b/Gemfile index 72bd03c7b..34636a914 100644 --- a/Gemfile +++ b/Gemfile @@ -63,22 +63,18 @@ group :development do if RUBY_PLATFORM =~ /w32/ gem 'win32console' end + + if RUBY_PLATFORM =~ /darwin/ + gem 'puma' +end end group :development, :test do - unless RUBY_PLATFORM =~ /w32/ - gem 'pry-rails' if RUBY_VERSION >= '2.0.0' gem 'pry-byebug' + gem "test-unit", "~>3.0" end - gem 'pry-stack_explorer' - if RUBY_PLATFORM =~ /darwin/ - gem 'puma' - end - end - gem 'rspec-rails', '~> 3.0' - gem 'factory_girl_rails' end # Gems used only for assets and not required diff --git a/app/api/mobile/entities/attachment.rb b/app/api/mobile/entities/attachment.rb index 0eda2d1c0..55e4aa555 100644 --- a/app/api/mobile/entities/attachment.rb +++ b/app/api/mobile/entities/attachment.rb @@ -17,17 +17,18 @@ module Mobile end else case field + when :download_url + "attachments/download/#{f.try(:id)}" when :file_dir "attachments/download/" << f.send(:id).to_s << '/' when :attafile_size (number_to_human_size(f.filesize)).gsub("ytes", "").to_s when :coursename - f.course.nil? ? "" : f.course.name + f.try(:course).try(:name) || '' when :syllabus_title - f.course.nil? ? "" : f.course.syllabus.nil? ? "" : f.course.syllabus.title + f.try(:course).try(:syllabus).try(:title) || '' when :course_id - f.course.nil? ? 0 : f.course.id - + f.try(:course).try(:id) || 0 end end end @@ -50,6 +51,8 @@ module Mobile current_user_is_teacher = is_course_teacher(current_user,instance.course) current_user_is_teacher end + + attachment_expose :download_url end end end \ No newline at end of file diff --git a/app/api/mobile/entities/issue.rb b/app/api/mobile/entities/issue.rb index 7f09906b5..2cb6cd87a 100644 --- a/app/api/mobile/entities/issue.rb +++ b/app/api/mobile/entities/issue.rb @@ -180,6 +180,8 @@ module Mobile end end end + + expose :attachments, using: Mobile::Entities::Attachment end end end \ No newline at end of file diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 0845a297e..88e34d25f 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -117,6 +117,9 @@ class ApplicationController < ActionController::Base elsif params[:format] == 'atom' && params[:key] && request.get? && accept_rss_auth? # RSS key authentication does not start a session user = User.find_by_rss_key(params[:key]) + elsif session[:wechat_openid] + uw = UserWechat.find_by_openid(session[:wechat_openid]) + user = uw.user if uw end end if user.nil? && Setting.rest_api_enabled? && accept_api_auth? @@ -509,8 +512,7 @@ class ApplicationController < ActionController::Base # render_404 # end - def self. - model_object(model) + def self.model_object(model) self.model_object = model end diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index e7a5d3164..848d85c34 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -72,8 +72,10 @@ class AttachmentsController < ApplicationController def direct_download @attachment.increment_download + file_type = detect_content_type(@attachment) + send_file @attachment.diskfile, :filename => filename_for_content_disposition(@attachment.filename), - :type => detect_content_type(@attachment), + :type => file_type, :disposition => 'attachment' #inline can open in browser end @@ -130,11 +132,7 @@ class AttachmentsController < ApplicationController def download # modify by nwb # 下载添加权限设置 - if (params[:type] && params[:type] == "wechat" ) - candown = true - else - candown = attachment_candown @attachment - end + candown = attachment_candown @attachment if candown || User.current.admin? || User.current.id == @attachment.author_id if stale?(:etag => @attachment.digest) diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 5e0ef4638..fe707ac5b 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -32,6 +32,13 @@ class CoursesController < ApplicationController before_filter :require_login, :only => [:join, :unjoin] #before_filter :allow_join, :only => [:join] + # 邀请码停用/启用 + def set_invite_code_halt + if User.current.allowed_to?(:as_teacher, @course) || User.current.admin? + @course.update_attribute('invite_code_halt', @course.invite_code_halt == 0 ? 1 : 0) + end + end + #查找组织 def search_public_orgs_not_in_course condition = '%%' diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 3c0469e9b..f579090e6 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -7,7 +7,7 @@ class StudentWorkController < ApplicationController require "base64" before_filter :find_homework, :only => [:new, :index, :create, :student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :program_test,:program_test_ex, :set_score_rule,:forbidden_anonymous_comment,:delete_work,:new_student_work_project,:student_work_project,:cancel_relate_project, - :search_course_students,:work_canrepeat,:add_group_member] + :search_course_students,:work_canrepeat,:add_group_member,:change_project] before_filter :find_work, :only => [:edit, :update, :show, :destroy, :add_score, :praise_student_work,:retry_work,:revise_attachment] before_filter :member_of_course, :only => [:new, :create, :show, :add_score, :praise_student_work] before_filter :author_of_work, :only => [:edit, :update, :destroy] @@ -1060,7 +1060,7 @@ class StudentWorkController < ApplicationController end def forbidden_anonymous_comment - @homework.update_column('anonymous_comment', 1) + @homework.update_column('anonymous_comment', @homework.anonymous_comment == 0 ? 1 : 0) homework_detail_manual = @homework.homework_detail_manual homework_detail_programing = @homework.homework_detail_programing if homework_detail_programing @@ -1092,6 +1092,7 @@ class StudentWorkController < ApplicationController respond_to do |format| format.js end + @homework = @work.homework_common end def new_student_work_project @@ -1138,6 +1139,26 @@ class StudentWorkController < ApplicationController end end + # 作品更换关联项目 + def change_project + work = @homework.student_works.has_committed.where("user_id = #{User.current.id}").first + project = Project.find params[:projectName].to_i + if work && project + relate_user_ids = work.student_work_projects.map{|pro| pro.user_id} + member_ids = project.members.map{|mem| mem.user_id} + if (relate_user_ids & member_ids) == relate_user_ids + work.student_work_projects.update_all(:project_id => params[:projectName].to_i) + student_works = @homework.student_works.where("user_id in #{'(' + relate_user_ids.join(',') + ')'}") + student_works.update_all(:project_id => params[:projectName].to_i) + else + @remain_user_ids = relate_user_ids - (relate_user_ids & member_ids) + end + end + respond_to do |format| + format.js + end + end + #查找课程的学生 def search_course_students name = "" diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 93ae61d6a..3b63d954c 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -42,7 +42,7 @@ class UsersController < ApplicationController :activity_new_score_index, :influence_new_score_index, :score_new_index,:user_projects_index,:user_resource, :user_courses4show,:user_projects4show,:user_course_activities,:user_project_activities,:user_feedback4show,:user_visitorlist,:user_messages,:edit_brief_introduction, :user_import_homeworks,:user_search_homeworks,:user_import_resource, :user_system_messages,:choose_user_course,:user_courselist,:user_projectlist,:sort_syllabus_list, - :sort_project_list,:my_homeworks,:manage_or_receive_homeworks,:search_m_r_homeworks, :cancel_or_collect,:expand_courses,:homepage, :user_issues] + :sort_project_list,:my_homeworks,:manage_or_receive_homeworks,:search_m_r_homeworks, :cancel_or_collect,:expand_courses,:homepage, :user_issues, :course_community, :project_community] before_filter :auth_user_extension, only: :show #before_filter :rest_user_score, only: :show #before_filter :select_entry, only: :user_projects @@ -433,7 +433,8 @@ class UsersController < ApplicationController render_404 return end - @message_alls = paginateHelper @message_alls,25 + + @message_alls = paginateHelper @message_alls, 25 respond_to do |format| format.html{render :layout=>'new_base_user'} end @@ -1814,22 +1815,140 @@ class UsersController < ApplicationController end def show - #更新用户申请成为课程老师或教辅消息的状态 + if is_current_user + # 自己的主页显示消息 + # 系统消息为管理员发送,我的消息中包含有系统消息 + @message_alls = [] + messages = MessageAll.where("(user_id =? and message_type !=?) or message_type =?" ,@user.id, "SystemMessage", "SystemMessage").includes(:message).order("created_at desc") + messages.each do |message_all| + mess = message_all.message + unless (message_all.message_type == 'CourseMessage' && mess && mess.course && mess.course.is_delete == 1) + @message_alls << mess + end + end + @message_count = @message_alls.count + @message_alls = paginateHelper @message_alls, 20 + # 用户待解决的issue + @unsolved_issues = Issue.where(:assigned_to_id => @user.id, :status_id => [1, 2, 4, 6]) + # 用户待完成的作业 + @my_course = StudentsForCourse.where(:student_id => @user.id) + @unfinished_homework = 1 + # 用户待完成的测验 + @unfinished_test = 1 + # 用户待完成的问卷 + @unfinished_poll = 1 + # 用户待匿评的作业 + @anonymous_evaluation = 1 + # 待评阅的作业 + @unreview_homework = 1 + # 待审批的作业 + @unapproval_homework = 1 + else + # 看别人的主页显示动态 + #更新用户申请成为课程老师或教辅消息的状态 + if params[:course_id] != nil + join_course_messages = CourseMessage.where("course_id =? and course_message_type =? and user_id =? and course_message_id =? and viewed =?", + params[:course_id], 'JoinCourseRequest', User.current.id, @user.id, false) + join_course_messages.update_all(:viewed => true) + end + shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Project'").map(&:shield_id) + shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Course'").map(&:shield_id) + @page = params[:page] ? params[:page].to_i + 1 : 0 + user_project_ids = (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")" + user_course_ids = (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).join(",") + ")" + course_types = "('Message','News','HomeworkCommon','Poll','Course','JournalsForMessage')" + project_types = "('Message','Issue','Project')" + principal_types = "JournalsForMessage" + container_type = '' + act_type = '' + # 他的动态 + sql = "user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}))" + if params[:type].present? + case params[:type] + when "course_homework" + container_type = 'Course' + act_type = 'HomeworkCommon' + when "course_news" + container_type = 'Course' + act_type = 'News' + when "course_message" + container_type = 'Course' + act_type = 'Message' + when "course_poll" + container_type = 'Course' + act_type = 'Poll' + when "course_journals" + container_type = 'Course' + act_type = 'JournalsForMessage' + when "project_issue" + container_type = 'Project' + act_type = 'Issue' + when "project_message" + container_type = 'Project' + act_type = 'Message' + when "user_journals" + container_type = 'Principal' + act_type = 'JournalsForMessage' + when "current_user" + container_type = 'Principal' + act_type = 'Principal' + when "all" + container_type = 'all' + act_type = 'all' + end + end + if container_type != '' && container_type != 'all' + if container_type == 'Course' + sql = "container_type = '#{container_type}' and container_id in #{user_course_ids} and act_type = '#{act_type}'" + elsif container_type == 'Project' + sql = "container_type = '#{container_type}' and container_id in #{user_project_ids} and act_type = '#{act_type}'" + elsif container_type == 'Principal' && act_type == 'JournalsForMessage' + sql = "container_type = '#{container_type}' and act_type= '#{act_type}' and container_id = #{@user.id}" + elsif container_type == 'Principal' && act_type == 'Principal' + sql = "user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}))" + end + if User.current != @user + sql += " and user_id = #{@user.id}" + end + else + if User.current != @user + blog_ids = "("+@user.blog.id.to_s+")" + else + blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" + end + sql = "(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})" + + "or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}) "+ + "or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id}) " + + "or (container_type = 'Blog' and act_type= 'BlogComment' and container_id in #{blog_ids})" + if container_type != 'all' && User.current != @user + sql = "user_id = #{@user.id} and(" + sql + ")" + end + end + @user_activities_count = UserActivity.where("#{sql}").order('updated_at desc').count + @user_activities = UserActivity.where("#{sql}").order('updated_at desc').limit(10).offset(@page * 10) + @type = params[:type] + end + respond_to do |format| + format.js + format.html {render :layout => 'new_base_user'} + end + end + + # 课程社区 + def course_community if params[:course_id] != nil join_course_messages = CourseMessage.where("course_id =? and course_message_type =? and user_id =? and course_message_id =? and viewed =?", params[:course_id], 'JoinCourseRequest', User.current.id, @user.id, false) join_course_messages.update_all(:viewed => true) end - shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Project'").map(&:shield_id) shield_course_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Course'").map(&:shield_id) @page = params[:page] ? params[:page].to_i + 1 : 0 - user_project_ids = (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")" user_course_ids = (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).empty? ? "(-1)" : "(" + (@user.favorite_courses.visible.where("is_delete = 0").map{|course| course.id}-shield_course_ids).join(",") + ")" course_types = "('Message','News','HomeworkCommon','Poll','Course','JournalsForMessage')" - project_types = "('Message','Issue','Project')" principal_types = "JournalsForMessage" container_type = '' act_type = '' + if params[:type].present? case params[:type] when "course_homework" @@ -1847,6 +1966,63 @@ class UsersController < ApplicationController when "course_journals" container_type = 'Course' act_type = 'JournalsForMessage' + when "user_journals" + container_type = 'Principal' + act_type = 'JournalsForMessage' + when "current_user" + container_type = 'Principal' + act_type = 'Principal' + when "all" + container_type = 'all' + act_type = 'all' + end + end + if container_type != '' && container_type != 'all' + if container_type == 'Course' + sql = "container_type = '#{container_type}' and container_id in #{user_course_ids} and act_type = '#{act_type}'" + elsif container_type == 'Principal' && act_type == 'JournalsForMessage' + sql = "container_type = '#{container_type}' and act_type= '#{act_type}' and container_id = #{@user.id}" + elsif container_type == 'Principal' && act_type == 'Principal' + sql = "user_id = #{@user.id} and (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types})" + end + if User.current != @user + sql += " and user_id = #{@user.id}" + end + else + if User.current != @user + blog_ids = "("+@user.blog.id.to_s+")" + else + blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" + end + sql = "(container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types})" + + "or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id}) " + + "or (container_type = 'Blog' and act_type= 'BlogComment' and container_id in #{blog_ids})" + if container_type != 'all' && User.current != @user + sql = "user_id = #{@user.id} and(" + sql + ")" + end + end + @user_activities_count = UserActivity.where("#{sql}").order('updated_at desc').count + @user_activities = UserActivity.where("#{sql}").order('updated_at desc').limit(10).offset(@page * 10) + @type = params[:type] + respond_to do |format| + format.js + format.html {render :layout => 'base_course_community'} + end + end + + # 项目社区 + def project_community + # 看别人的主页显示动态 + #更新用户申请成为课程老师或教辅消息的状态 + shield_project_ids = ShieldActivity.select("shield_id").where("container_type='User' and container_id=#{@user.id} and shield_type='Project'").map(&:shield_id) + @page = params[:page] ? params[:page].to_i + 1 : 0 + user_project_ids = (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).empty? ? "(-1)" : "(" + (@user.favorite_projects.visible.map{|project| project.id}-shield_project_ids).join(",") + ")" + project_types = "('Message','Issue','Project')" + principal_types = "JournalsForMessage" + container_type = '' + act_type = '' + if params[:type].present? + case params[:type] when "project_issue" container_type = 'Project' act_type = 'Issue' @@ -1865,14 +2041,12 @@ class UsersController < ApplicationController end end if container_type != '' && container_type != 'all' - if container_type == 'Course' - sql = "container_type = '#{container_type}' and container_id in #{user_course_ids} and act_type = '#{act_type}'" - elsif container_type == 'Project' + if container_type == 'Project' sql = "container_type = '#{container_type}' and container_id in #{user_project_ids} and act_type = '#{act_type}'" elsif container_type == 'Principal' && act_type == 'JournalsForMessage' sql = "container_type = '#{container_type}' and act_type= '#{act_type}' and container_id = #{@user.id}" elsif container_type == 'Principal' && act_type == 'Principal' - sql = "user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}))" + sql = "user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}))" end if User.current != @user sql += " and user_id = #{@user.id}" @@ -1884,19 +2058,18 @@ class UsersController < ApplicationController blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" end sql = "(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})" + - "or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}) "+ "or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id}) " + "or (container_type = 'Blog' and act_type= 'BlogComment' and container_id in #{blog_ids})" if container_type != 'all' && User.current != @user sql = "user_id = #{@user.id} and(" + sql + ")" end end - + @user_activities_count = UserActivity.where("#{sql}").order('updated_at desc').count @user_activities = UserActivity.where("#{sql}").order('updated_at desc').limit(10).offset(@page * 10) @type = params[:type] respond_to do |format| format.js - format.html {render :layout => 'new_base_user'} + format.html {render :layout => 'base_project_community'} end end @@ -3547,7 +3720,7 @@ class UsersController < ApplicationController # @syllabus = paginateHelper @syllabus,@limit respond_to do |format| - format.html {render :layout => 'new_base_user'} + format.html {render :layout => 'base_course_community'} end end @@ -3691,7 +3864,7 @@ class UsersController < ApplicationController @my_joined_projects_count = @my_joined_projects.count respond_to do |format| - format.html {render :layout => 'new_base_user'} + format.html {render :layout => 'base_project_community'} end end diff --git a/app/controllers/wechats_controller.rb b/app/controllers/wechats_controller.rb index 654f83855..25ce1f83e 100644 --- a/app/controllers/wechats_controller.rb +++ b/app/controllers/wechats_controller.rb @@ -1,4 +1,6 @@ #coding=utf-8 + +require 'base64' class WechatsController < ActionController::Base wechat_responder @@ -105,6 +107,7 @@ class WechatsController < ActionController::Base end on :event, with: 'unsubscribe' do |request| + unBind(request) request.reply.success # user can not receive this message end @@ -272,12 +275,18 @@ class WechatsController < ActionController::Base end end + def unBind(request) + uw = user_binded?(request[:FromUserName]) + uw.try(:subscribe!) + end + def sendBind(request) tmpurl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=#{Wechat.config.appid}&redirect_uri=#{ROOT_URL+'/wechat/user_activities'}&response_type=code&scope=snsapi_base&state=login&connect_redirect=1#wechat_redirect" logger.info "tmpurl!!!!!!!!!!!!!!" logger.info tmpurl news = (1..1).each_with_object([]) { |n, memo| memo << { title: '绑定登录', content: "欢迎使用Trustie创新实践服务平台! -在这里您可以随时了解您的课程和项目动态,随时点赞和回复。 +在这里您可以随时了解您的课程和项目动态,随时点赞和回复。交作业、代码提交等更多功能,请前往 www.trustie.net + 我们将会与微信不断结合,为您提供更有价值的服务。 您还未绑定确实的用户,请先绑定,谢谢!" } } @@ -485,9 +494,33 @@ class WechatsController < ActionController::Base end + # 用于权限跳转 + def auth + state = params[:state] + url = "#{ROOT_URL}/wechat/auth_callback" + authorize_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=#{Wechat.config.appid}&redirect_uri=#{url}&response_type=code&scope=snsapi_base&state=#{state}&connect_redirect=1#wechat_redirect" + redirect_to authorize_url + end + + def auth_callback + path = Base64.urlsafe_decode64(params[:state]) + open_id = get_openid_from_code(params[:code]) + unless open_id + render 'wechats/open_wechat', layout: nil and return + end + + redirect_to "/wechat/user_activities##{path}" + end + + private def get_openid_from_code(code) - return 'oCnvgvz8R7QheXE-R9Kkr39j8Ndg' if code =='only-for-test' + if code =='only-for-test' + openid = 'o3ss_wHOOnHkz1khBJxH8RF4SfPY' + session[:wechat_openid] = openid + return openid + end + openid = session[:wechat_openid] unless openid if code diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 4d1979816..73b5e9b5f 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -37,6 +37,11 @@ module ApplicationHelper # super # end + # 获取多种类型的user用户名 + def user_message_username user + user.try(:show_name) + end + # 超出1w后用k+形式显示 def switch_integer_into_k number number > 10000 ? (number.to_f / 1000).round.to_s + "k" : number @@ -2815,6 +2820,37 @@ module ApplicationHelper end technical_title end + # 用户项目总数 + def user_project_count + @my_projects = @user.projects.select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC") + @my_project_total = @my_projects.count + end + + # 用户的课程总数 + def user_course_count + @my_course_count = @user.syllabuses.count + + sy_courses = @user.courses.visible.not_deleted + syllabus_ids = sy_courses.empty? ? '(-1)' : "(" + sy_courses.map{|course| !course.syllabus_id.nil? && course.syllabus_id}.join(",") + ")" + syllabus_members = SyllabusMember.where("user_id = #{@user.id}") + syllabus_member_ids = syllabus_members.empty? ? "(-1)" : "(" + syllabus_members.map{|syl_mem| syl_mem.syllabus_id}.join(',') + ")" + @join_syllabuses = Syllabus.where("(id in #{syllabus_ids} or id in #{syllabus_member_ids}) and user_id != #{@user.id}") + @my_joined_course_count = @join_syllabuses.count + + @user_course_total = @my_joined_course_count + @my_course_count + end + + # 用户发布的issue数 + def issues_author_is_self_count + @issues = Issue.where( :author_id => @user.id ) + @issues_author_is_self_count = @issues.count + end + + # 用户收到的issue数 + def issues_assigned_is_self_count + @issues = Issue.where( :assigned_to_id => @user.id ) + @issues_assigned_is_self_count = @issues.count + end def get_user_roll user technical_title = "" @@ -3734,7 +3770,9 @@ def get_hw_status homework_common end if Time.parse(homework_common.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") str += '作品提交中' - elsif Time.parse(homework_common.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") + elsif Time.parse(homework_common.end_time.to_s).strftime("%Y-%m-%d") < Time.now.strftime("%Y-%m-%d") && homework_common.anonymous_comment == 1 && User.current.allowed_to?(:as_teacher, homework_common.course) + str += '教师评阅中' + else str += '作品补交中' end elsif homework_common.homework_detail_manual.comment_status == 2 diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 98024954d..879a7bb3c 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -94,13 +94,13 @@ module UsersHelper def pull_request_message_status ma case ma.status when 1 - "创建了PullRequest:" + "创建了PullRequest:" when 2 - "接受了PullRequest:" + "接受了PullRequest:" when 3 - "重新打开了PullRequest:" + "重新打开了PullRequest:" when 4 - "关闭了PullRequest:" + "关闭了PullRequest:" end end @@ -135,11 +135,11 @@ module UsersHelper def applied_project_tip applied_message case applied_message.status when 4 - "拒绝申请加入项目:" + "拒绝申请加入:" when 5,3,2,1,7 - "申请加入项目:" + "申请加入:" when 6 - "同意申请加入项目" + "同意申请加入:" end end @@ -159,6 +159,10 @@ module UsersHelper end end + def is_current_user + is_current_user = (User.current == @user) + end + def applied_project_tip_header applied_message case applied_message.status when 4 diff --git a/app/models/attachment.rb b/app/models/attachment.rb index c83a7bf2a..ff87f533c 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -397,7 +397,7 @@ class Attachment < ActiveRecord::Base end def course - container + Course === container ? container : nil end def visible?(user=User.current) diff --git a/app/models/issue.rb b/app/models/issue.rb index b46e29104..6fdd978f3 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -135,6 +135,10 @@ class Issue < ActiveRecord::Base after_save :after_create_from_copy after_destroy :update_parent_attributes + def user + self.author + end + #动态的更新 def update_activity update_user_activity(self.class, self.id) diff --git a/app/models/message.rb b/app/models/message.rb index 1d76c8ef6..309291183 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -106,6 +106,10 @@ class Message < ActiveRecord::Base end } + def description + self.content + end + def topic? parent_id.nil? end diff --git a/app/models/user_wechat.rb b/app/models/user_wechat.rb index c63411ab3..71221a3d1 100644 --- a/app/models/user_wechat.rb +++ b/app/models/user_wechat.rb @@ -24,4 +24,9 @@ class UserWechat < ActiveRecord::Base BlogComment.where(author_id: old_user).update_all(author_id: u.id) UserActivity.where(user_id: old_user).update_all(user_id: u.id) end + + + def unsubscribe! + self.delete + end end diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 43bdf9e09..c1c5f4f9f 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -584,6 +584,8 @@ class CoursesService @state = 2 elsif course[:is_delete] == 1 @state = 11 + elsif course[:invite_code_halt] == 1 + @state = 14 else if current_user.member_of_course?(course) #如果已经是成员 @state = 3 diff --git a/app/views/comments/create.js.erb b/app/views/comments/create.js.erb index 0814b5f50..970fded22 100644 --- a/app/views/comments/create.js.erb +++ b/app/views/comments/create.js.erb @@ -1,8 +1,8 @@ <% if @course %> - $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'users/course_news', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>"); + $("#activity_post_reply_<%= @user_activity_id%>").html("<%= escape_javascript(render :partial => 'users/course_news_post_reply', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>"); <% elsif @project %> $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'projects/project_news', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>"); <% else %> - $("#user_activity_<%= @user_activity_id%>").replaceWith("<%= escape_javascript(render :partial => 'organizations/org_subfield_news', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>"); + $("#activity_post_reply_<%= @user_activity_id%>").html("<%= escape_javascript(render :partial => 'organizations/course_news_post_reply', :locals => {:activity => @news,:user_activity_id =>@user_activity_id}) %>"); <% end %> sd_create_editor_from_data('<%= @user_activity_id%>',"","100%", "UserActivity"); diff --git a/app/views/courses/_course_activity.html.erb b/app/views/courses/_course_activity.html.erb index a7f99f2b0..8ad3323f6 100644 --- a/app/views/courses/_course_activity.html.erb +++ b/app/views/courses/_course_activity.html.erb @@ -62,17 +62,17 @@ <% when 'HomeworkCommon' %> <%= render :partial => 'users/course_homework', :locals => {:activity => act, :user_activity_id => activity.id, :hw_status => 2} %> <% when 'News' %> - <%= render :partial => 'users/course_news', :locals => {:activity => act, :user_activity_id => activity.id} %> + <%= render :partial => 'users/course_news', :locals => {:activity => act, :user_activity_id => activity.id, :is_course => 1} %> <% when 'Message' %> <%= render :partial => 'users/course_message', :locals => {:activity => act, :user_activity_id => activity.id,:is_course=>1,:is_board=>0} %> <% when 'Poll' %> - <%= render :partial => 'users/course_poll', :locals => {:activity => act, :user_activity_id => activity.id} %> + <%= render :partial => 'users/course_poll', :locals => {:activity => act, :user_activity_id => activity.id, :is_course => 1} %> <% when 'JournalsForMessage' %> - <%= render :partial => 'users/course_journalsformessage', :locals => {:activity => act, :user_activity_id => activity.id} %> + <%= render :partial => 'users/course_journalsformessage', :locals => {:activity => act, :user_activity_id => activity.id, :is_course => 1} %> <% when 'Attachment' %> <%= render :partial => 'users/course_attachment', :locals => {:activity => act, :user_activity_id => activity.id} %> <% when 'Course' %> - <%= render :partial => 'users/course_create', :locals => {:activity => act, :user_activity_id => activity.id} %> + <%= render :partial => 'users/course_create', :locals => {:activity => act, :user_activity_id => activity.id, :is_course => 1} %> <% end %> <% end %> <% end %> diff --git a/app/views/courses/_course_activity_users.html.erb b/app/views/courses/_course_activity_users.html.erb index cffd383e6..692be98e9 100644 --- a/app/views/courses/_course_activity_users.html.erb +++ b/app/views/courses/_course_activity_users.html.erb @@ -4,9 +4,9 @@

        <% if (User.current.logged? && course.open_student == 1) || (User.current.member_of_course?(course)) || User.current.admin? %> - <%= link_to "班级活跃度", course_member_path(course, :role => 2, :sort_type => 'act_score'), :class => 'fontGrey3' %> + <%= link_to "活跃度", course_member_path(course, :role => 2, :sort_type => 'act_score'), :class => 'fontGrey3' %> <% else %> - 班级活跃度 + 活跃度 <% end %> 积分规则
        diff --git a/app/views/courses/_course_heroes.html.erb b/app/views/courses/_course_heroes.html.erb index b6bf0daa0..4f89bde76 100644 --- a/app/views/courses/_course_heroes.html.erb +++ b/app/views/courses/_course_heroes.html.erb @@ -3,9 +3,9 @@

          <% if (User.current.logged? && course.open_student == 1) || (User.current.member_of_course?(course)) || User.current.admin? %> - <%= link_to "班级英雄榜", course_member_path(course, :role => 2), :class => 'fontGrey3' %> + <%= link_to "英雄榜", course_member_path(course, :role => 2), :class => 'fontGrey3' %> <% else %> - 班级英雄榜 + 英雄榜 <% end %> 积分规则

          diff --git a/app/views/courses/_course_teacher.html.erb b/app/views/courses/_course_teacher.html.erb index f9e540021..dfa8c0876 100644 --- a/app/views/courses/_course_teacher.html.erb +++ b/app/views/courses/_course_teacher.html.erb @@ -1,23 +1,26 @@ -
          -
          - 加入时间 - 角色 -
          +
          +
          +
          + 姓名 + 加入时间 + 角色 +
          +
          +
          <% members.each do |member| %> -
          - <%= link_to image_tag(url_to_avatar(member.user), :width => "32", :height => "32", :style => "display:block;"), user_path(member.user_id),:target => '_blank', :class => 'st_img' ,:alt => "用户头像" %> - <%= l(:label_username)%> - <%= link_to(member.user.show_name, user_path(member.user),:class => "ml10 c_blue02") %> - <%= format_date(member.created_on)%> - <%= zh_course_role(h member.roles.sort.collect(&:to_s).first)%> +
          + <%= link_to image_tag(url_to_avatar(member.user), :width => "50", :height => "50", :style => "display:block;", :class =>'teacher_member_img'), user_path(member.user_id), :class => 'fl' ,:alt => "用户头像" %> +
          + <%= link_to(member.user.show_name, user_path(member.user),:class => "ml10 mt5 mb10 link-blue db") %> + <%= l(:label_username)%><%= member.user.login%> +
          + <%= format_date(member.created_on)%> + <%= zh_course_role(h member.roles.sort.collect(&:to_s).first)%>
          <% end%> - -
            - <%#= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%> -
          +
          \ No newline at end of file diff --git a/app/views/courses/_join_private_course.html.erb b/app/views/courses/_join_private_course.html.erb index a159886fd..ff094c1ff 100644 --- a/app/views/courses/_join_private_course.html.erb +++ b/app/views/courses/_join_private_course.html.erb @@ -10,7 +10,6 @@
        • -
        • @@ -18,14 +17,13 @@ 教师 助教 学生 -
        • -
        • +

          请至少选择一个身份

          +
        • - 确  定 + 确  定 取  消 -
        @@ -33,6 +31,16 @@

      + + + + + + +
      +
      + +
      +
      +
      +
      + <% if hidden_unproject_infos %> +
        +
      • + <%= link_to '班级',{:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list" %> + <%= link_to '全部',{:controller => "users", :action => "user_courselist", :id => @user}, :style => "color:#aaa;" %> + <% courses = @user.favorite_courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10) %> +
        + <%=render :partial => 'layouts/homepage_left_course_list', :locals => {:courses => courses} %> +
        +
      • + <% if is_current_user %> +
      • + <%= link_to "新建课程", new_syllabus_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "新建班级", new_course_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "加入班级",join_private_courses_courses_path,:remote => true, :method => "post", :style => "font-size:14px;" %> +
      • + <% end %> +
      + <% end %> +
        + <% if @user == User.current %> +
      • + <%=link_to '我的作业', my_homeworks_user_path(@user), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "题库", user_homeworks_user_path(User.current), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "资源库", user_resource_user_path(User.current, :type => 1), :target => "_blank",:style => "font-size:14px;" %> +
      • + <% end %> +
      +
      +
      +
        +
      • + <%= link_to '留言', feedback_path(@user, :host=> Setting.host_user)%> +
      • +
      +
      + <%# 更新访问数,刷新的时候更新访问次数 %> + <% update_visiti_count @user %> +
      访问计数 <%= @user.visits.to_i %> (自2016年5月)
      +
      +
      + <%= yield %> +
      +
      +
      +
      +<%= render :partial => 'layouts/footer' %> +
      + + + + + + \ No newline at end of file diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb index 957f720be..9ede327af 100644 --- a/app/views/layouts/base_courses.html.erb +++ b/app/views/layouts/base_courses.html.erb @@ -147,7 +147,7 @@ <%# 课程英雄榜 %> <%= render :partial => 'courses/course_heroes', :locals => {:course => @course} %>
      -

      班级推荐

      +

      推荐

      <%= render :partial => 'courses/recommendation', :locals => {:course => @course} %>
      <%# 更新访问数,刷新的时候更新访问次数 %> @@ -279,10 +279,19 @@ function delete_confirm(){ var htmlvalue = '

      提示

      '+ - '

      您确认要退出该班级吗?

      确  定'+ + '

      您确认要退出该班级吗?

      '+ + '确  定'+ '取  消
      '; pop_box_new(htmlvalue, 300, 140); } + + function alert_halt_code(){ + var htmlvalue = '

      提示

      '+ + '

      邀请码停用后,用户不能主动加入该班级了

      您是否确认停用

      '+ + '确  定'+ + '取  消
      '; + pop_box_new(htmlvalue, 400, 180); + } \ No newline at end of file diff --git a/app/views/layouts/base_project_community.html.erb b/app/views/layouts/base_project_community.html.erb new file mode 100644 index 000000000..f1b2e20ba --- /dev/null +++ b/app/views/layouts/base_project_community.html.erb @@ -0,0 +1,96 @@ + + + + + <%= h html_title %> + + + <%= csrf_meta_tag %> + <%= favicon %> + <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','css/common', 'css/structure','css/public', 'prettify','css/project','css/courses','css/popup','syllabus','css/moduel', 'css/user', :media => 'all' %> + <%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %> + <%= javascript_heads %> + <%= javascript_include_tag "bootstrap","avatars","new_user",'attachments','prettify'%> + <%= heads_for_theme %> + <%= call_hook :view_layouts_base_html_head %> + <%= yield :header_tags -%> + + + + + + + + +
      +
      + +
      +
      +
      +
      +
        +
      • + <%= link_to '项目',{:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list'%> + <%= link_to '全部',{:controller => "users", :action => "user_projectlist", :id => @user}, :style => "color:#aaa;" %> + <% projects = @user.favorite_projects.visible.select("projects.*, (SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10)%> +
        + <%=render :partial => 'layouts/homepage_left_project_list', :locals => {:projects => projects} %> +
        +
      • + <% if is_current_user %> +
      • + <%= link_to "新建项目", new_project_path(:host=> Setting.host_name), :target => "_blank", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "加入项目", applied_join_project_path, :remote => true, :method => "post", :style => "font-size:14px;" %> +
      • +
      • + <%= link_to "我的Issue", user_issues_user_path(@user), :target => "_blank", :style => "font-size:14px;" %> +
      • + <% end %> +
      +
        +
      • + <%= link_to '留言', feedback_path(@user, :host=> Setting.host_user)%> +
      • +
      +
      + <%# 更新访问数,刷新的时候更新访问次数 %> + <% update_visiti_count @user %> +
      访问计数 <%= @user.visits.to_i %> (自2016年5月)
      +
      +
      + <%= yield %> +
      +
      +
      +
      +<%= render :partial => 'layouts/footer' %> +
      + + + + + + \ No newline at end of file diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb index d55da37b2..32b587767 100644 --- a/app/views/layouts/new_base_user.html.erb +++ b/app/views/layouts/new_base_user.html.erb @@ -7,7 +7,7 @@ <%= csrf_meta_tag %> <%= favicon %> - <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','css/common', 'css/structure','css/public', 'prettify','css/project','css/courses','css/popup','syllabus','css/moduel',:media => 'all' %> + <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','css/common', 'css/structure','css/public', 'prettify','css/project','css/courses','css/popup','syllabus','css/moduel', 'css/user', :media => 'all' %> <%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %> <%= javascript_heads %> <%= javascript_include_tag "bootstrap","avatars","new_user",'attachments','prettify'%> @@ -88,7 +88,7 @@
      - -
      - <% if hidden_unproject_infos %> -
        -
      • - <%= link_to '班级',{:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list" %> - <%= link_to '全部',{:controller => "users", :action => "user_courselist", :id => @user}, :style => "color:#aaa;" %> - <% courses = @user.favorite_courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10) %> -
        - <%=render :partial => 'layouts/homepage_left_course_list', :locals => {:courses => courses} %> -
        -
      • - <% if is_current_user %> -
      • - <%= link_to "新建课程", new_syllabus_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %> -
      • -
      • - <%= link_to "新建班级", new_course_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %> -
      • -
      • - <%= link_to "加入班级",join_private_courses_courses_path,:remote => true, :method => "post", :style => "font-size:14px;" %> -
      • - <% if @user == User.current %> -
      • - <%=link_to '我的作业', my_homeworks_user_path(@user), :target => "_blank", :style => "font-size:14px;" %> + <% if is_current_user %> +
        +

        + <%= link_to "课程社区", user_course_community_path(User.current), :class => "fl" %> +

        + <%# if hidden_unproject_infos %> +
          +
        • + <%= link_to user_course_count > 0 ? "课程#{user_course_count}".html_safe : "课程", + {:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list", :class => "fl" %> + +
        • +
        • + <%=link_to '我的作业', my_homeworks_user_path(@user), :target => "_blank", :class => "fl" %> +
        • +
        • + <%= link_to "题库", user_homeworks_user_path(User.current), :target => "_blank", :class => "fl" %> +
        • +
        • + <%= link_to "资源库", user_resource_user_path(User.current, :type => 1), :target => "_blank", :class => "fl" %> +
        • +
        + <%# end %> +
        -
          -
        • - <%= link_to '项目',{:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list'%> - <%= link_to '全部',{:controller => "users", :action => "user_projectlist", :id => @user}, :style => "color:#aaa;" %> - <% projects = @user.favorite_projects.visible.select("projects.*, (SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10)%> -
          - <%=render :partial => 'layouts/homepage_left_project_list', :locals => {:projects => projects} %> -
          -
        • - <% if is_current_user %> -
        • - <%= link_to "新建项目", new_project_path(:host=> Setting.host_name), :target => "_blank", :style => "font-size:14px;" %> +
          +

          + <%= link_to "项目社区", user_project_community_path(User.current), :class => "fl" %> +

          +
            +
          • + <%= link_to user_project_count > 0 ? "项目#{user_project_count}".html_safe : "项目", + {:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list', :class => "fl" %> +
          • -
          • - <%= link_to "加入项目", applied_join_project_path, :remote => true, :method => "post", :style => "font-size:14px;" %> +
          • + <%= link_to issues_author_is_self_count > 0 ? "我发布的issue#{issues_author_is_self_count}".html_safe : "我发布的issue", + user_issues_user_path(@user), :class => "fl" %>
          • -
          • - <%= link_to "我的Issue", user_issues_user_path(@user), :style => "font-size:14px;" %> +
          • + <%= link_to issues_assigned_is_self_count > 0 ? "我收到的issue#{issues_assigned_is_self_count}".html_safe : "我收到的issue", + user_issues_user_path(@user), :class => "fl" %>
          • - <% end %> -
          +
        +
      + <% else %> +
      +

      Ta在确实 + <%= time_tag(@user.created_on).html_safe %> +

      +
        +
      • + <%= link_to user_course_count > 0 ? "课程#{user_course_count}".html_safe : "课程", + {:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list", :class => "fl" %> +
      • +
      • + <%= link_to user_project_count > 0 ? "项目#{user_project_count}".html_safe : "项目", + {:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list', :class => "fl" %> +
      • +
      +
      + <% end %> +
      • <%= link_to '留言', feedback_path(@user, :host=> Setting.host_user)%>
      -
      +
      <%# 更新访问数,刷新的时候更新访问次数 %> <% update_visiti_count @user %> @@ -281,4 +328,4 @@ } - + \ No newline at end of file diff --git a/app/views/projects/_project_attachment.html.erb b/app/views/projects/_project_attachment.html.erb index 580e5bee2..7f5a6a2cf 100644 --- a/app/views/projects/_project_attachment.html.erb +++ b/app/views/projects/_project_attachment.html.erb @@ -9,10 +9,10 @@
      <%= link_to activity.try(:author).show_name, user_path(activity.author_id), :class => "newsBlue mr15" %> TO - <%= link_to activity.project.name.to_s+" | 项目资源", project_files_path(activity.project), :class => "newsBlue ml15" %> + <%= link_to activity.project.name.to_s+" | 项目资源", project_files_path(activity.course), :class => "newsBlue ml15" %>
      - <%= link_to activity.filename, project_files_path(activity.project), :class => "postGrey" %> + <%= link_to activity.filename, project_files_path(activity.course), :class => "postGrey" %>
      diff --git a/app/views/projects/_project_issue_contents.html.erb b/app/views/projects/_project_issue_contents.html.erb index 87e977024..a7ea27f9a 100644 --- a/app/views/projects/_project_issue_contents.html.erb +++ b/app/views/projects/_project_issue_contents.html.erb @@ -7,17 +7,26 @@ <% parents_rely = get_reply_parents parents_rely, comment %> <% length = parents_rely.length %>
      - <% if length <= 2 %> + <% if length <= 5 %> <%=render :partial => 'projects/project_issue_comments_reply', :locals => {:comment => comment.parent, :user_activity_id => user_activity_id, :parent_id => comment.id} %> <% else %>
      - <%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[length - 1], :user_activity_id => user_activity_id, :parent_id => comment.id} %> -
      -
      - - 已经隐藏<%=(length - 2).to_s %>个楼层 - <%= link_to '[点击展开]', show_all_replies_users_path(:comment => comment, :type => 'is_project_issue', :user_activity_id => user_activity_id, :parent_id => comment.id), :remote=>true, :class => 'linkBlue2' %> +
      +
      +
      + <%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[length - 1], :user_activity_id => user_activity_id, :parent_id => comment.id} %> +
      +
      + + 已经隐藏<%=(length - 5).to_s %>个楼层 + <%= link_to '[点击展开]', show_all_replies_users_path(:comment => comment, :type => 'is_project_issue', :user_activity_id => user_activity_id, :parent_id => comment.id), :remote=>true, :class => 'linkBlue2' %> +
      + <%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[3], :user_activity_id => user_activity_id, :parent_id => comment.id} %> +
      + <%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[2], :user_activity_id => user_activity_id, :parent_id => comment.id} %> +
      + <%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[1], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
      <%=render :partial => 'projects/project_issue_comments_reply_detail', :locals => {:comment => parents_rely[0], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
      diff --git a/app/views/projects/_project_message_contents.html.erb b/app/views/projects/_project_message_contents.html.erb index 9d99e4c83..e1bcedc51 100644 --- a/app/views/projects/_project_message_contents.html.erb +++ b/app/views/projects/_project_message_contents.html.erb @@ -7,17 +7,26 @@ <% parents_rely = get_reply_parents_no_root parents_rely, comment %> <% length = parents_rely.length %>
      - <% if length <= 2 %> + <% if length <= 5 %> <%=render :partial => 'projects/journal_comment_reply', :locals => {:comment => comment.parent, :user_activity_id => user_activity_id, :parent_id => comment.id} %> <% else %>
      - <%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[length - 1], :user_activity_id => user_activity_id, :parent_id => comment.id} %> -
      -
      - - 已经隐藏<%=(length - 2).to_s %>个楼层 - <%= link_to '[点击展开]', show_all_replies_users_path(:comment => comment, :type => 'is_project_message', :user_activity_id => user_activity_id, :parent_id => comment.id), :remote=>true, :class => 'linkBlue2' %> +
      +
      +
      + <%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[length - 1], :user_activity_id => user_activity_id, :parent_id => comment.id} %> +
      +
      + + 已经隐藏<%=(length - 5).to_s %>个楼层 + <%= link_to '[点击展开]', show_all_replies_users_path(:comment => comment, :type => 'is_project_message', :user_activity_id => user_activity_id, :parent_id => comment.id), :remote=>true, :class => 'linkBlue2' %> +
      + <%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[3], :user_activity_id => user_activity_id, :parent_id => comment.id} %> +
      + <%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[2], :user_activity_id => user_activity_id, :parent_id => comment.id} %> +
      + <%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[1], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
      <%=render :partial => 'projects/comment_reply_detail', :locals => {:comment => parents_rely[0], :user_activity_id => user_activity_id, :parent_id => comment.id} %>
      diff --git a/app/views/student_work/_alert_forbidden_anonymous.html.erb b/app/views/student_work/_alert_forbidden_anonymous.html.erb index d1cdd8d57..328386a04 100644 --- a/app/views/student_work/_alert_forbidden_anonymous.html.erb +++ b/app/views/student_work/_alert_forbidden_anonymous.html.erb @@ -1,16 +1,19 @@ -
      -
      -

      禁用匿评

      -

      - 禁用匿评后学生将不能对作品进行互评,且匿评不能再开启,是否确定禁用匿评? -

      - +
      +
      +

      + 提示 +

      + +
      -
      \ No newline at end of file +
      +

      评分比例将恢复默认值,您可以在评分设置中进行修改

      + <% if @homework.anonymous_comment == 0%> +

      是否确定禁用匿评

      + <% else %> +

      是否确定启用匿评

      + <% end %> + 确定 + 取消 +
      +
      diff --git a/app/views/student_work/_change_project.html.erb b/app/views/student_work/_change_project.html.erb new file mode 100644 index 000000000..d433157a0 --- /dev/null +++ b/app/views/student_work/_change_project.html.erb @@ -0,0 +1,64 @@ +
      +
      +

      更换项目

      + +
      +
      +
      + <%= form_for('new_form',:url =>{:controller => 'student_work',:action => 'change_project',:homework => @homework.id},:method => "post", :remote => true) do |f|%> + +
      + +
        +

        + 确定 + 取消 +
        + <% end %> +
        +
        + \ No newline at end of file diff --git a/app/views/student_work/_evaluation_un_group_member_work.html.erb b/app/views/student_work/_evaluation_un_group_member_work.html.erb index 709c7749b..2f0d5185e 100644 --- a/app/views/student_work/_evaluation_un_group_member_work.html.erb +++ b/app/views/student_work/_evaluation_un_group_member_work.html.erb @@ -5,16 +5,15 @@
        <%= link_to(image_tag(url_to_avatar(st.user),:width =>"40",:height => "40", :style => "display:block;"),user_activities_path(st.user), :class => "fl") %> <% if !is_expand %> - - - (组长) + + <%= link_to st.user.show_name + "(组长)", user_path(st.user), :class => "fl hidden ml5 linkGrey", :style => "max-width:75px;" %> <% else %> - - + + <%= link_to st.user.show_name, user_path(st.user), :class => "fl hidden ml5 linkGrey", :style => "max-width:75px;" %>
      <% end %> + <% if ma.course_message_type == "Comment" && ma.course_message %>
      • @@ -35,7 +36,7 @@
      • <%=link_to User.find(ma.course_message.author_id).show_name, user_path(ma.course_message.author), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">评论了通知: + 评论了通知:
      • <%= link_to ma.course_message.commented.title, {:controller => 'news', :action => 'show', :id => ma.course_message.commented.id }, @@ -50,7 +51,7 @@
        <%= ma.course_message.comments.html_safe %>
        <% end %> -
      • <%= time_tag(ma.created_at).html_safe %>
      • +
      • <%= time_tag(ma.created_at).html_safe %>
      <% end %> <% if ma.course_message_type == "HomeworkCommon" && ma.status.nil? && ma.course_message %> @@ -62,7 +63,7 @@
    • <%=link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">发布了班级作业: + 发布了班级作业:
    • <% if !User.current.allowed_to?(:as_teacher, ma.course_message.course) && cur_user_works_for_homework(ma.course_message).nil? %> @@ -114,7 +115,7 @@

      <% end %> -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% if ma.course_message_type == "HomeworkCommon" && ma.status == 1 && ma.course_message %> @@ -122,7 +123,7 @@
    • <%=link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user), :target => '_blank' %>
    • <%=link_to ma.course_message.user.lastname + ma.course_message.user.firstname + '老师', user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :title => "#{ma.course_message.user.lastname + ma.course_message.user.firstname}老师", :target => '_blank' %> - ">发布的作业:
    • + 发布的作业:
    • <%= link_to "作业标题:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.id), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -148,7 +149,7 @@ <% end %>
    •    截止时间快到啦
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -160,7 +161,7 @@
    • <%= link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">启动了作业匿评: + 启动了作业匿评:
    • <%= link_to "作业标题:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.id), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", @@ -183,7 +184,7 @@

      例如,您缺评了两份作品,则您的最终成绩将被扣除 <%= ma.course_message.homework_detail_manual.absence_penalty %> * 2 = <%= ma.course_message.homework_detail_manual.absence_penalty * 2 %>分

      <% end%> -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -192,7 +193,8 @@
    • <%=link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user), :target => '_blank' %>
    • <%=link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", - user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %>">关闭了作业匿评:
    • + user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> + 关闭了作业匿评:
    • <%= link_to "作业标题:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.id), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -214,7 +216,7 @@

      祝您的教学活动高效、顺利、愉快!

      <% end %> -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -226,7 +228,7 @@
    • <%= link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">启动作业匿评失败 + 启动作业匿评失败:
    • <%= link_to truncate(ma.course_message.name,:length=>25)+'(失败原因:提交作品的人数低于2人)', student_work_index_path(:homework => ma.course_message.id), :class => "#{ma.viewed == 0 ? "c_red" : "newsGrey "}", :target => '_blank' %> @@ -245,7 +247,7 @@
    • 提交截止:<%= ma.course_message.end_time%>  23:59
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% if ma.course_message_type == "HomeworkCommon" && ma.status == 5 %> @@ -293,7 +295,7 @@ -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% if ma.course_message_type == "Poll" && ma.course_message %> @@ -305,7 +307,7 @@
    • <%=link_to ma.course_message.user.try(:show_name), user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">发布了问卷: + 发布了问卷:
    • <%= link_to format_activity_title(" #{ma.course_message.polls_name.nil? ? "未命名问卷" : ma.course_message.polls_name}"), poll_path(ma.course_message.id), @@ -316,7 +318,7 @@ -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% if ma.course_message_type == "Message" && !ma.nil? && !ma.course_message.nil? %> @@ -328,7 +330,7 @@
    • <%=link_to ma.course_message.author.try(:show_name), user_path(ma.course_message.author), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - "> + <%= ma.course_message.parent_id.nil? ? "发布了班级帖子:" : "评论了班级帖子:" %>
    • <% if ma.course_message.parent_id.nil? %>
    • @@ -359,7 +361,7 @@ <% end %> <% end %> -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -410,7 +412,7 @@

      <% end %> -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% if ma.course_message_type == "JournalsForMessage" && ma.course_message %> @@ -424,7 +426,7 @@
    • <%= link_to ma.course_message.user.try(:show_name), user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">在班级中留言了: + 在班级中留言了:
    • <%= link_to message_content(ma.course_message.notes), course_feedback_path(:id => ma.course_id), @@ -436,7 +438,7 @@ -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% elsif ma.course_message.jour_type == 'HomeworkCommon' %> @@ -452,7 +454,7 @@ <% if ma.course_message.m_parent_id.nil? %> 回复了您的作业: <% else %> - 在作业中回复了您: + 在作业中回复了您: <% end %> @@ -466,7 +468,7 @@ -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% else %>
      -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% end %> @@ -547,7 +549,7 @@
    • <%= link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "同学", user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">重新提交了作品: + 重新提交了作品:
    • <%= link_to "作业标题:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.homework_common_id, :show_work_id => ma.course_message_id), @@ -556,7 +558,7 @@
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -568,7 +570,7 @@
    • <%= link_to ma.course_message.user.show_name+ "同学", user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">追加新附件了: + 追加新附件了:
    • <%= link_to "作业标题:" + ma.course_message.homework_common.name, student_work_index_path(:homework => ma.course_message.homework_common_id, :show_work_id => ma.course_message_id), @@ -576,7 +578,7 @@
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -587,7 +589,7 @@
    • 系统提示 - ">您成功创建了班级: + 您成功创建了班级:
    • <%= link_to "班级名称:" + ma.course_message.name, course_path(ma.course_message), @@ -612,7 +614,7 @@

      您的班级是私有的,非班级成员不能访问您的班级。如果想设置为公开,您可以在配置中设置。

      <% end %> -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -650,7 +652,7 @@
      <%= Course.find(ma.course_id).description.nil? ? "" : Course.find(ma.course_id).description.html_safe %>

      申请职位:<%= ma.content == '9' ? "教师" : "教辅"%>

      -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -662,7 +664,7 @@
    • <%=link_to User.find(ma.course_message_id).show_name, user_path(User.find(ma.course_message_id)), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">将您加入了班级: + 将您加入了班级:
    • <%= link_to ma.course.name, course_member_path(ma.course), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -684,7 +686,7 @@

      <% end %> -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -696,7 +698,7 @@
    • 系统提示 - ">您增加了新的班级成员: + 您增加了新的班级成员:
    • <%= link_to User.find(ma.course_message_id).login+"("+(User.find(ma.course_message_id).realname ? User.find(ma.course_message_id).realname : User.find(ma.course_message_id).login) +")", {:controller => 'courses', :action => 'settings', :id => ma.course_id, :tab=>'member'}, :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -718,7 +720,7 @@

      <% end %> -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -730,7 +732,7 @@
    • <%=link_to User.find(ma.course_message_id).show_name, user_path(User.find(ma.course_message_id)), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">将您移出了班级: + 将您移出了班级:
    • <%= link_to ma.course.name, member_course_path(ma.course), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -753,7 +755,7 @@

      <% end %> -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -763,7 +765,9 @@
    • <%=link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user), :target => '_blank' %>
    • <%=link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", - user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %>">发布了班级测验 :
    • + user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> + 发布了班级测验: +
    • <%= link_to "测验题目:" + ma.course_message.exercise_name, exercise_path(:id => ma.course_message.id), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -790,7 +794,7 @@ <% end %> -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -800,7 +804,8 @@
    • <%=link_to image_tag(url_to_avatar(ma.course_message.user), :width => "30", :height => "30"), user_path(ma.course_message.user), :target => '_blank' %>
    • <%=link_to ma.course_message.user.lastname + ma.course_message.user.firstname + "老师", - user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %>">发布的测验:
    • + user_path(ma.course_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> + 发布的测验:
    • <%= link_to "测验题目:" + ma.course_message.exercise_name, exercise_path(:id => ma.course_message.id), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -823,7 +828,7 @@
    • 截止时间快到啦
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_forge.html.erb b/app/views/users/_user_message_forge.html.erb index 10a14ffa9..b3e058a82 100644 --- a/app/views/users/_user_message_forge.html.erb +++ b/app/views/users/_user_message_forge.html.erb @@ -3,11 +3,11 @@ <% if ma.forge_message_type == "AppliedProject" %> <% end %> @@ -27,7 +27,7 @@
    • <%=link_to User.find(ma.forge_message_id).show_name, user_path(User.find(ma.forge_message_id)), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">将您加入了项目: + 将您加入了项目:
    • <%= link_to ma.project, project_member_path(ma.project), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -35,7 +35,7 @@
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% end %> @@ -48,7 +48,7 @@
    • <%=link_to User.find(ma.forge_message_id).show_name, user_path(User.find(ma.forge_message_id)), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">将您移出了项目: + 将您移出了项目:
    • <%= link_to ma.project, member_project_path(ma.project), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -56,7 +56,7 @@
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% end %> @@ -123,7 +123,7 @@
    • <%=link_to User.find(ma.forge_message.author_id).show_name, user_path(ma.forge_message.author), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - "> + <%= ma.forge_message.tracker_id == 5 ? "发布了周报:":"指派了问题给你:"%>
    • @@ -133,7 +133,7 @@ -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% end %> @@ -146,8 +146,7 @@
    • <%= link_to User.find(ma.forge_message.user_id).show_name, user_path(ma.forge_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - "> - 更新了问题状态: + 更新了问题状态:
    • <%= link_to ma.forge_message.journalized.subject, @@ -156,21 +155,21 @@
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% if ma.forge_message_type == "Message" %> <% end %> <% if ma.forge_message_type == "Comment" %> @@ -183,7 +182,7 @@
    • <%=link_to ma.forge_message.author.try(:show_name), user_path(ma.forge_message.author), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - ">评论了新闻: + 评论了新闻:
    • <%= link_to "#{ma.forge_message.commented.title}", @@ -191,7 +190,7 @@
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> @@ -216,7 +215,7 @@ :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_org.html.erb b/app/views/users/_user_message_org.html.erb index 13c62318f..3d56f4b4a 100644 --- a/app/views/users/_user_message_org.html.erb +++ b/app/views/users/_user_message_org.html.erb @@ -6,21 +6,22 @@
    • <%=link_to ma.organization.name, organization_path(ma.organization_id), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - '>申请子域名: + 申请子域名:
    • <%= ma.content %>
    • -
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%=link_to (Secdomain.where("sub_type=2 and pid=?", ma.organization.id).count == 0 || (Secdomain.where("sub_type=2 and pid=?", ma.organization.id).count > 0 && Secdomain.where("sub_type=2 and pid=?", ma.organization.id).first.subname != ma.content)) ? "同意申请":"申请已批准", agree_apply_subdomain_organizations_path( :organization_id => ma.organization_id, :org_domain => ma.content, :user_id => ma.sender_id, :act_id => ma.id ), :id => "agree_apply_subdomain_#{ma.id}", :method => 'post', :remote => true, - :class => "green_btn_cir ml10", - :style => "color:#fff" %> + :class => 'link-blue fr' + %>
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • + <% end %> <% if ma.message_type == 'AgreeApplySubdomain'%> @@ -29,12 +30,12 @@
    • - '>管理员同意了您的子域名申请: + 管理员同意了您的子域名申请:
    • <%= ma.content %>
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_system.html.erb b/app/views/users/_user_message_system.html.erb index 6bc8f28f3..46e83a4e1 100644 --- a/app/views/users/_user_message_system.html.erb +++ b/app/views/users/_user_message_system.html.erb @@ -5,9 +5,9 @@
    • - Trustie平台发布新消息: + 系统消息: +
    • - 【系统消息】
    • <%= link_to ma.subject.blank? ? (ma.content.nil? ? ma.description.html_safe : ma.content.html_safe) : ma.subject, user_system_messages_path(User.current, :anchor => "position_#{ma.id}"), @@ -15,7 +15,7 @@
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <%# end %> <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_userfeedaback.html.erb b/app/views/users/_user_message_userfeedaback.html.erb index 00fa78eeb..664058461 100644 --- a/app/views/users/_user_message_userfeedaback.html.erb +++ b/app/views/users/_user_message_userfeedaback.html.erb @@ -9,7 +9,7 @@
    • <%=link_to User.find(ma.journals_for_message.user_id).show_name, user_path(ma.journals_for_message.user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %> - "> + <%= ma.journals_for_message.reply_id == 0 ? "给你留言了:" : "回复了你的留言:" %>
    • @@ -26,7 +26,7 @@
      <%= ma.journals_for_message.notes.html_safe %>
      <% end %> -
    • <%= time_tag(ma.journals_for_message.created_on).html_safe %>
    • +
    • <%= time_tag(ma.journals_for_message.created_on).html_safe %>
    • <% end %> <% end %> \ No newline at end of file diff --git a/app/views/users/_user_programing_attr.html.erb b/app/views/users/_user_programing_attr.html.erb index d819ab59f..cc9ed5cdc 100644 --- a/app/views/users/_user_programing_attr.html.erb +++ b/app/views/users/_user_programing_attr.html.erb @@ -48,8 +48,8 @@ } if (inputs.length == outputs.length) { for (var i=0; i var text = document.getElementById("textarea_input_test"); var text2 = document.getElementById("textarea_output_test"); - autoTextarea2(text,text2); - autoTextarea2(text2,text); + autoTextarea2(text,text2, 0, 140); + autoTextarea2(text2,text, 0, 140); + <% else %> + var inputs = document.getElementsByName("program[input][]"); + var outputs = document.getElementsByName("program[output][]"); + if (inputs.length == outputs.length) { + for (var i=0; i \ No newline at end of file diff --git a/app/views/users/course_community.html.erb b/app/views/users/course_community.html.erb new file mode 100644 index 000000000..2a066c86b --- /dev/null +++ b/app/views/users/course_community.html.erb @@ -0,0 +1,39 @@ + + +
      +
      消息动态
      +
        +
      • +
          +
        • +
            + <% if hidden_unproject_infos %> +
          • <%= link_to "全部动态", {:controller => "users", :action => "course_community", :type => "all"}, :class => "homepagePostTypeAll postTypeGrey" %>
          • +
          • <%= link_to @user == User.current ? "我的动态" : "他的动态", {:controller => "users", :action => "course_community", :type => "current_user"}, :class => "homepagePostTypeMine postTypeGrey" %>
          • +
          • <%= link_to "作业动态", {:controller => "users", :action => "course_community", :type => "course_homework"}, :class => "homepagePostTypeAssignment postTypeGrey" %>
          • +
          • <%= link_to "通知动态", {:controller => "users", :action => "course_community", :type => "course_news"}, :class => "homepagePostTypeNotice postTypeGrey" %>
          • +
          • <%= link_to "论坛动态", {:controller => "users", :action => "course_community", :type => "course_message"}, :class => "homepagePostTypeForum postTypeGrey" %>
          • +
          • <%= link_to "问卷动态", {:controller => "users", :action => "course_community", :type => "course_poll"}, :class => "homepagePostTypeQuiz postTypeGrey" %>
          • +
          • <%= link_to "班级留言", {:controller => "users", :action => "course_community", :type => "course_journals"}, :class => "homepagePostTypeMessage postTypeGrey" %>
          • +
          • <%= link_to "个人留言", {:controller => "users", :action => "course_community", :type => "user_journals"}, :class => "homepagePostTypeMessage postTypeGrey" %>
          • + <% end %> +
          +
        • +
        +
      • +
      +
      + + +<%# if @user.blog.homepage_id and BlogComment.where("id=?", @user.blog.homepage_id).count > 0 %> + <%# homepage = BlogComment.find(@user.blog.homepage_id) %> + <%#= render :partial => 'blogs/homepage', :locals => {:activity => homepage, :user_activity_id => homepage.id} %> +<%# end %> + <% if @user_activities_count > 0 %> + <%= render :partial => 'users/user_activities', :locals => {:user_activities => @user_activities, :page => 0, :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), :action => params[:action] } %> + <% else %> +
      + <%= render :partial => 'users/no_data' %> +
      + <% end %> diff --git a/app/views/users/course_community.js.erb b/app/views/users/course_community.js.erb new file mode 100644 index 000000000..be78ac849 --- /dev/null +++ b/app/views/users/course_community.js.erb @@ -0,0 +1,6 @@ +$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'users/user_activities', + :locals => {:user_activities => @user_activities, + :page => @page, + :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), + :action => "course_community"} )%>"); \ No newline at end of file diff --git a/app/views/users/project_community.html.erb b/app/views/users/project_community.html.erb new file mode 100644 index 000000000..ce0129dae --- /dev/null +++ b/app/views/users/project_community.html.erb @@ -0,0 +1,37 @@ + + +
      +
      消息动态
      +
        +
      • +
          +
        • +
            + <% if hidden_unproject_infos %> +
          • <%= link_to "全部动态", {:controller => "users", :action => "project_community", :type => "all"}, :class => "homepagePostTypeAll postTypeGrey" %>
          • +
          • <%= link_to @user == User.current ? "我的动态" : "他的动态", {:controller => "users", :action => "project_community", :type => "current_user"}, + :class => "homepagePostTypeMine postTypeGrey" %>
          • +
          • <%= link_to "问题动态", {:controller => "users", :action => "project_community", :type => "project_issue"}, :class => "homepagePostTypeQuestion postTypeGrey"%>
          • +
          • <%= link_to "论坛动态", {:controller => "users", :action => "project_community", :type => "project_message"}, :class => "homepagePostTypeForum postTypeGrey"%>
          • +
          • <%= link_to "个人留言", {:controller => "users", :action => "project_community", :type => "user_journals"}, :class => "homepagePostTypeMessage postTypeGrey" %>
          • + <% end %> +
          +
        • +
        +
      • +
      +
      + + +<%# if @user.blog.homepage_id and BlogComment.where("id=?", @user.blog.homepage_id).count > 0 %> +<%# homepage = BlogComment.find(@user.blog.homepage_id) %> +<%#= render :partial => 'blogs/homepage', :locals => {:activity => homepage, :user_activity_id => homepage.id} %> +<%# end %> +<% if @user_activities_count > 0 %> + <%= render :partial => 'users/user_activities', :locals => { :user_activities => @user_activities, :page => 0, :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), :action => params[:action] } %> +<% else %> +
      + <%= render :partial => 'users/no_data' %> +
      +<% end %> diff --git a/app/views/users/project_community.js.erb b/app/views/users/project_community.js.erb new file mode 100644 index 000000000..aeebef08e --- /dev/null +++ b/app/views/users/project_community.js.erb @@ -0,0 +1,6 @@ +$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'users/user_activities', + :locals => {:user_activities => @user_activities, + :page => @page, + :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), + :action => "project_community"} )%>"); \ No newline at end of file diff --git a/app/views/users/project_community.js.erb.BASE.erb b/app/views/users/project_community.js.erb.BASE.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/users/project_community.js.erb.LOCAL.erb b/app/views/users/project_community.js.erb.LOCAL.erb new file mode 100644 index 000000000..aeebef08e --- /dev/null +++ b/app/views/users/project_community.js.erb.LOCAL.erb @@ -0,0 +1,6 @@ +$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'users/user_activities', + :locals => {:user_activities => @user_activities, + :page => @page, + :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), + :action => "project_community"} )%>"); \ No newline at end of file diff --git a/app/views/users/project_community.js.erb.REMOTE.erb b/app/views/users/project_community.js.erb.REMOTE.erb new file mode 100644 index 000000000..aeebef08e --- /dev/null +++ b/app/views/users/project_community.js.erb.REMOTE.erb @@ -0,0 +1,6 @@ +$("#show_more_activities").replaceWith("<%= escape_javascript( render :partial => 'users/user_activities', + :locals => {:user_activities => @user_activities, + :page => @page, + :type => @type, + :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id), + :action => "project_community"} )%>"); \ No newline at end of file diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index 66aafcf46..43a86a930 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -1,51 +1,106 @@ - -
      -
      最新动态
      -
        -
      • -
          -
        • -
            - <% if hidden_unproject_infos %> -
          • 班级动态
          • -
          • <%= link_to "作业动态", {:controller => "users", :action => "show", :type => "course_homework"}, :class => "homepagePostTypeAssignment postTypeGrey"%> -
          • -
          • <%= link_to "通知动态", {:controller => "users", :action => "show", :type => "course_news"}, :class => "homepagePostTypeNotice postTypeGrey"%> - -
          • <%= link_to "论坛动态", {:controller => "users", :action => "show", :type => "course_message"}, :class => "homepagePostTypeForum postTypeGrey"%> -
          • <%= link_to "问卷动态", {:controller => "users", :action => "show", :type => "course_poll"}, :class => "homepagePostTypeQuiz postTypeGrey"%> -
          • <%= link_to "班级留言", {:controller => "users", :action => "show", :type => "course_journals"}, :class =>"homepagePostTypeMessage postTypeGrey"%> - - - <% end %> -
          -
        • -
        • -
            -
          • 项目动态
          • -
          • <%= link_to "问题动态", {:controller => "users", :action => "show", :type => "project_issue"}, :class => "homepagePostTypeQuestion postTypeGrey"%> -
          • <%= link_to "论坛动态", {:controller => "users", :action => "show", :type => "project_message"}, :class => "homepagePostTypeForum postTypeGrey"%> - -
          -
        • -
        • -
            -
          • 更多
          • -
          • <%= link_to "个人留言", {:controller => "users", :action => "show", :type => "user_journals"}, :class =>"homepagePostTypeMessage postTypeGrey"%> -
          • <%= link_to @user == User.current ? "我的动态" : "他的动态", {:controller => "users", :action => "show", :type => "current_user"}, :class =>"homepagePostTypeMine postTypeGrey"%> -
          • <%= link_to "全部动态", {:controller => "users", :action => "show", :type => "all"}, :class =>"homepagePostTypeAll postTypeGrey"%> -
          -
        • -
        -
      • -
      -
      + +<% if is_current_user %> +
      +
      +
      +
    • 248
    • + 待解决Issue
      +
      +
      +
    • 21
    • + 待完成作业
      +
      +
      +
    • 18
    • + 待完成测验
      +
      +
      +
    • 11
    • + 待完成问卷
      +
      +
      +
    • 16
    • + 待匿评作业
      +
      +
      +
    • 13
    • + 待评阅作业
      +
      +
      +
    • 16
    • + 待审批申请
      +
      +
      +
      +
      +
      + 消息动态 +
      + + 共 <%= @message_count %> 个消息 + +
      +
      +
      + <%= render :partial => 'users/new_user_message', :locals => { :message_alls => @message_alls } %> +
      +
      - +<% else %> +
      +
      Ta的动态
      + +
      + + <%# if @user.blog.homepage_id and BlogComment.where("id=?", @user.blog.homepage_id).count > 0 %> <%# homepage = BlogComment.find(@user.blog.homepage_id) %> <%#= render :partial => 'blogs/homepage', :locals => {:activity => homepage, :user_activity_id => homepage.id} %> <%# end %> -<%= render :partial => 'users/user_activities', :locals => {:user_activities => @user_activities,:page => 0,:type => @type, :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id)} %> + <% if @user_activities_count > 0 %> + <%= render :partial => 'users/user_activities', :locals => {:user_activities => @user_activities, :page => 0, :type => @type, :user_id => (@user.type == "AnonymousUser" ? User.current.id : @user.id)} %> + <% else %> +
      + <%= render :partial => 'users/no_data' %> +
      + <% end %> +<% end %> \ No newline at end of file diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb index b1ae0aff2..73f0dfc0e 100644 --- a/app/views/users/user_messages.html.erb +++ b/app/views/users/user_messages.html.erb @@ -14,32 +14,7 @@ <% unless @message_alls.nil? %> - <% @message_alls.each do |ma| %> - <%# 系统消息 %> - <%= render :partial => 'users/user_message_system', :locals => {:ma => ma} %> - - <%= render :partial => 'users/user_at_message', :locals => {:ma => ma} %> - - <%# 课程消息 %> - <%= render :partial => 'users/user_message_course', :locals => {:ma => ma} %> - - - <%= render :partial => 'users/user_message_forge', :locals => {:ma => ma} %> - - - <%= render :partial => 'users/user_message_forum', :locals => {:ma => ma} %> - - - <%= render :partial => 'users/user_message_userfeedaback', :locals => {:ma => ma} %> - - <%= render :partial => 'users/user_message_org', :locals => {:ma => ma} %> - - <%# 申请类消息 %> - <%= render :partial => 'users/user_message_applied', :locals => {:ma => ma} %> - <% end %> -
        - <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%> -
      + <%= render :partial => 'users/new_user_message', :locals => { :message_alls => @message_alls } %> <% end %> <% else %> diff --git a/config/application.rb b/config/application.rb index 4b25d4278..88c6a43df 100644 --- a/config/application.rb +++ b/config/application.rb @@ -57,7 +57,7 @@ module RedmineApp #disable [deprecated] I18n.enforce_available_locales will default to true in the future. # If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false # to avoid this message. - #I18n.config.enforce_available_locales = false + I18n.config.enforce_available_locales = false # Configure sensitive parameters which will be filtered from the log file. config.filter_parameters += [:password] diff --git a/config/initializers/mini_profiler.rb b/config/initializers/mini_profiler.rb new file mode 100644 index 000000000..ecd0fc45c --- /dev/null +++ b/config/initializers/mini_profiler.rb @@ -0,0 +1,4 @@ +if Rails.env.development? + Rack::MiniProfiler.config.position = 'right' + Rack::MiniProfiler.config.start_hidden = true +end \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 6d96eb82b..1fb72ee58 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -335,6 +335,7 @@ RedmineApp::Application.routes.draw do collection do post 'add_score_reply' post 'student_work_project' + post 'change_project' get 'new_student_work_project' get 'search_user_projects' get 'search_course_students' @@ -564,6 +565,9 @@ RedmineApp::Application.routes.draw do match 'courses/:course_id/news/new', :to => 'news#new', :via => [:get, :post] match 'users/:user_id/homepage/articles/:id', :to => 'article_homepages#show', :as => "user_homepage_show" + match 'users/:id/courses', :to => 'users#course_community', :as => "user_course_community" + match 'users/:id/projects', :to => 'users#project_community', :as => "user_project_community" + scope ":username" do resources :posts end @@ -1256,6 +1260,7 @@ RedmineApp::Application.routes.draw do post 'add_members' get 'delete_member' get 'archive_course' + get 'set_invite_code_halt' end collection do match 'join_private_courses', :via => [:get, :post] @@ -1417,6 +1422,8 @@ RedmineApp::Application.routes.draw do post :bind post :get_bind post :is_bind + get :auth + get :auth_callback end end diff --git a/db/migrate/20161208015939_add_column_to_course.rb b/db/migrate/20161208015939_add_column_to_course.rb new file mode 100644 index 000000000..f336a90c0 --- /dev/null +++ b/db/migrate/20161208015939_add_column_to_course.rb @@ -0,0 +1,5 @@ +class AddColumnToCourse < ActiveRecord::Migration + def change + add_column :courses, :invite_code_halt, :integer, :limit => 1, :default => 0 + end +end diff --git a/db/schema.rb b/db/schema.rb index bd3645e2c..6dd41fa00 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20161128072528) do +ActiveRecord::Schema.define(:version => 20161208015939) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -629,6 +629,7 @@ ActiveRecord::Schema.define(:version => 20161128072528) do t.string "invite_code" t.string "qrcode" t.integer "qrcode_expiretime", :default => 0 + t.integer "invite_code_halt", :limit => 1, :default => 0 end add_index "courses", ["invite_code"], :name => "index_courses_on_invite_code", :unique => true @@ -820,11 +821,13 @@ ActiveRecord::Schema.define(:version => 20161128072528) do t.integer "exercise_status" t.integer "user_id" t.integer "time" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.datetime "publish_time" t.datetime "end_time" t.integer "show_result" + t.integer "question_random", :default => 0 + t.integer "choice_random", :default => 0 end create_table "first_pages", :force => true do |t| @@ -864,6 +867,7 @@ ActiveRecord::Schema.define(:version => 20161128072528) do t.datetime "updated_at", :null => false t.string "secret_key" t.integer "status" + t.integer "operate_user_id" end add_index "forge_messages", ["forge_message_id", "forge_message_type"], :name => "index_forge_messages_on_forge_message_id_and_forge_message_type" @@ -939,6 +943,7 @@ ActiveRecord::Schema.define(:version => 20161128072528) do t.integer "quotes", :default => 0 t.integer "is_open", :default => 0 t.datetime "simi_time" + t.integer "score_open", :default => 1 end add_index "homework_commons", ["course_id", "id"], :name => "index_homework_commons_on_course_id_and_id" @@ -964,6 +969,7 @@ ActiveRecord::Schema.define(:version => 20161128072528) do t.integer "homework_common_id" t.datetime "created_at", :null => false t.datetime "updated_at", :null => false + t.integer "no_anon_penalty", :default => 1 end create_table "homework_detail_programings", :force => true do |t| @@ -1538,6 +1544,12 @@ ActiveRecord::Schema.define(:version => 20161128072528) do t.datetime "updated_at", :null => false end + create_table "professional_levels", :force => true do |t| + t.string "level" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + create_table "project_infos", :force => true do |t| t.integer "project_id" t.integer "user_id" @@ -1628,8 +1640,11 @@ ActiveRecord::Schema.define(:version => 20161128072528) do t.integer "pull_request_id" t.integer "gpid" t.integer "user_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + t.integer "status", :default => 0 + t.integer "project_id" + t.string "title" end create_table "quality_analyses", :force => true do |t| diff --git a/lib/tasks/homework_publishtime.rake b/lib/tasks/homework_publishtime.rake index dac3c11af..c18d529e1 100644 --- a/lib/tasks/homework_publishtime.rake +++ b/lib/tasks/homework_publishtime.rake @@ -41,19 +41,19 @@ namespace :homework_publishtime do puts "--------------------------------homework_publish end" end - task :end => :environment do - puts "--------------------------------homework_publish_end start" - Rails.logger.info("log--------------------------------homework_publish_end start") - homework_commons = HomeworkCommon.where("end_time = '#{Date.today}'") - homework_commons.each do |homework| - if homework.anonymous_comment == 1 - homework_detail_manual = homework.homework_detail_manual - if homework_detail_manual.comment_status == 1 - homework_detail_manual.update_column('comment_status', 3) - end - end - end - Rails.logger.info("log--------------------------------homework_publish_end end") - puts "--------------------------------homework_publish_end end" - end + # task :end => :environment do + # puts "--------------------------------homework_publish_end start" + # Rails.logger.info("log--------------------------------homework_publish_end start") + # homework_commons = HomeworkCommon.where("end_time = '#{Date.today}'") + # homework_commons.each do |homework| + # if homework.anonymous_comment == 1 + # homework_detail_manual = homework.homework_detail_manual + # if homework_detail_manual.comment_status == 1 + # homework_detail_manual.update_column('comment_status', 3) + # end + # end + # end + # Rails.logger.info("log--------------------------------homework_publish_end end") + # puts "--------------------------------homework_publish_end end" + # end end \ No newline at end of file diff --git a/public/assets/wechat/app.html b/public/assets/wechat/app.html index 232f07494..53b82c277 100644 --- a/public/assets/wechat/app.html +++ b/public/assets/wechat/app.html @@ -55,7 +55,6 @@ - \ No newline at end of file diff --git a/public/assets/wechat/issue_detail.html b/public/assets/wechat/issue_detail.html index 278b545a5..e5b61cc52 100644 --- a/public/assets/wechat/issue_detail.html +++ b/public/assets/wechat/issue_detail.html @@ -27,6 +27,18 @@
      {{issue.project_name}} - 项目问题{{issue.created_on}}
      + + + + +
      +
      + +
      +
      + 状   态:{{issue.issue_status}} 优先级:{{issue.issue_priority}}
      指派给:{{issue.issue_assigned_to}} @@ -114,7 +126,7 @@
      - +
      @@ -124,4 +136,15 @@
      - \ No newline at end of file + + + +
      +
      +
      + +
      +
        +
      • {{person.name}}

        ({{person.login}})

      • +
      +
      diff --git a/public/images/user/apply_tab.png b/public/images/user/apply_tab.png new file mode 100644 index 0000000000000000000000000000000000000000..e5daa7e5fd8c4d71416319b97a1e844af783d03e GIT binary patch literal 108591 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 literal 0 HcmV?d00001 diff --git a/public/images/user/female.jpg b/public/images/user/female.jpg index 219865572d134fd727a6192ff01f539322e3a780..499d2e5ac08bb640d7b44d18bc414df9796f65fb 100644 GIT binary patch literal 14850 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 E00@K2XaE2J literal 0 HcmV?d00001 diff --git a/public/images/user/home-user-mes.png b/public/images/user/home-user-mes.png new file mode 100644 index 0000000000000000000000000000000000000000..e52dd5b0a1446ef6c0580adb86526b28c35d03fa GIT binary patch literal 107495 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 literal 0 HcmV?d00001 diff --git a/public/images/user/homepage_tab.png b/public/images/user/homepage_tab.png new file mode 100644 index 0000000000000000000000000000000000000000..e3625d9aa90d620505d7322f5c290c9fa7ed4c90 GIT binary patch literal 110856 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 literal 0 HcmV?d00001 diff --git a/public/images/user/male.jpg b/public/images/user/male.jpg index 46d58f26ee38288c5bf2df069e6a7d25bf5ef099..bd2597dd2a623d59dea9b37ed4452281a69496d3 100644 GIT binary patch literal 2756 zcmbVN3s6&68a~Ml1Tpeh&_zMLhV_96$qh*$DUSdF1qa0-!dm2Ea)lU@8 zcd&ykQe8DFTk0xLi^8nnD$vSSs}{TX1aUxlDCHqOW>vuK&CP>$%XD`3Ofvb;|9{{A zI{!H_-8c0BuNbX#3jlF(%YhS^TBaf3F3cCp3IGXEaCImErXC2((P)%>21B6^%#vW6 z(LgaKXK1sO3?z`r0HG0DWtLcmYT(Uiwp0;DAHCQ_hozD*dI~3jnV^hDbEKC!F(f*{o*JVFIF&h0!C;QQ_2tL^v8# zp)e;fC_v0a5SYsiMA#fI7g+(bmQZGy7n%0&qltxmk zFgl*8r3AS$A;Io=+HT3^=DG;9S|dWI(wG*lUSFU@86s4T<*URf4)?W@@!tJ*ATtop zhQC%N#SbMbSBQ!8<)}gvCk&(GmOzPA!Vf`0f}%M>HY+M9Him=XjASE17J|fZBH2OFksJ<>&1NCY5LU2_8>difvJ_&}7FUYLwQ_mC z$>m3@&@2t6T90A5wh2hg!8DjU2UEh)NnChYic}%NwyXWj$788hh^nO9P)V!`lfy)R z`O<0P<0BKzVsUw#ST>$Hf`o9R*-=r^ypUifD=I2DmTu)r{-2&P@MIX~;rQ9G*i`rg znnnBQ;~V?sK^6FoQQ=p^Gy+_Rfd`Ui{0fpxonQ}eq);dh6h{XK#~F_Jcczo0qti^9 zv-3=6XPO(0SZ*{IS2tG|numv{r-z4+x3{;?Li-|7snl7tSzc~#Uh`(V&z@&D{I7zk z8Mr%vTi_N%atCC0668)YT>-g(WLZ;B2#Erb9h^v{DUC&P17tFZOmTo93S`lc$dLOY z3KF^QcUgJ6L>`~hSy8?Yf2|ElYWdOA{a1Wb2cSVDJT&AEBEY22fBU!Y-KNt!5Rcif zEF{5H6w(*Q>~upq5ZFIJ2QAFCIV=8xF!JMTzk;`HTjB`-h7|7d10w2DBG@>aPXJ2YH> zZL=b^_<1j(17ri45Zw0UHdge#iM!m}(CzwV@w&L2;&0M{IWE5D2G_<9ZfWw{5;P`I zT2$8NP%`9oYrm>}earRK4T}NLny#i$S6*%3mi(T30y)8h3`BXhUN6YiuG_h>M0rW@ zuK2N);;5fE+EI7mhxlc*wv|OkVc4v?sm@T zF(*BGI>9n4&elIu&O@WVLoc{jd%myp%-Hda+zF)FrQ5S z+C~6sJreg|&XbUy$+L66TSC1pO8QiCAr6gTE;GZRq7nTuX?>Y&M)iVJuQG=@orO<+w_pVm^6t{JK3py<=WKE$ueE{a$43%RS`tNc6OUpyCgc{q`WnDs*)r zRPFsqid=oSAv7hM)7{+hqHd=E0BT#~vy2ss3*oUROB&yhyoh0#IwL&FJ!)7hGB$F! z7<>7N`?-2O5^9O^yxp z8*a+I3!9creD?3?0~OE>$*DJk1d8w}k3s7`TTodsz9IACqW9No!dJ~omitu?%zrt+ z3!MZ*6taN;1JKj#!X3`3@2h!G<56_rHtp^@z3xeG;bh{*cUN5UN*1>awB+Gn^I((f z(Q~b<{f&=47sx8J)8-kQR6BQ^YAJv}xRjn@ZLZa;Pfcf%c%*pvEJ24KGe?*l-5m{dE0McX?Z{34HtePsdNjbUVH(5f%Q+KgQF+>cRd)J9fP4;_Qpmbf^-n7(k32s_>LuX?lj`O%x_(#qOzyM9^b)f(&XUU((Z(@wSvEe++# z*v>i2YX=+Go;|amVAnz>dq~#0(08I*-*$bs^_{ZA%>s0&zo~ftqPx5U#(aq8UE;g6 JwKT%?;6G!sTH^o! literal 4136 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 X#=BIQwe5HrP^?{gp7sR$-?#riPNQ%> diff --git a/public/images/user/nonews.png b/public/images/user/nonews.png new file mode 100644 index 0000000000000000000000000000000000000000..58abaed3753e1ce3b2c5565fde634481f93f75df GIT binary patch literal 112502 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

      b->I^6dwCr*{ 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 G|NjBB28m+; literal 0 HcmV?d00001 diff --git a/public/images/user/user_navmore_icons.png b/public/images/user/user_navmore_icons.png index 6ecd00566fc2f8b1ca542f5ba038def604edfbe5..5dcd2608ba58ac4497e6ecd49a42804409003fd5 100644 GIT binary patch literal 19619 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 Be>eaD literal 1085 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 kYv$^LC*y|5tK

      ' + str + '

      确定'+ + '

      ' + str + '

      确定'+ '取消
      '; pop_box_new(htmlvalue, 300, 140); } diff --git a/public/javascripts/course.js b/public/javascripts/course.js index 779b8805c..d9b1226c6 100644 --- a/public/javascripts/course.js +++ b/public/javascripts/course.js @@ -1446,7 +1446,7 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) { } : function (name) { return getComputedStyle(elem, null)[name]; }, - minHeight = parseFloat(getFirstStyle('height')) + minHeight = parseFloat(getFirstStyle('height')); elem.style.resize = 'none'; elem2.style.resize = 'none'; @@ -1474,8 +1474,6 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) { style2.overflowY = 'auto'; } else { height = elem.scrollHeight - padding; - style.overflowY = 'hidden'; - style2.overflowY = 'hidden'; }; style.height = height + extra + 'px'; style2.height = height + extra + 'px'; @@ -1491,8 +1489,6 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) { style2.overflowY = 'auto'; } else { height = elem2.scrollHeight - padding; - style.overflowY = 'hidden'; - style2.overflowY = 'hidden'; }; style.height = height + extra + 'px'; style2.height = height + extra + 'px'; diff --git a/public/javascripts/homework.js b/public/javascripts/homework.js index b868b25d0..26d1e5bd8 100644 --- a/public/javascripts/homework.js +++ b/public/javascripts/homework.js @@ -477,7 +477,7 @@ $(function(){ //注意\n\ //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ //2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ - //3:该程序每次运行输出的结果最多显示100个字符(多余的不显示),每行末尾的所有空格用□表示\n\ + //3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),每行末尾的所有空格用□表示\n\ import java.io.*;\n\ import java.util.*;\n\ \n\ @@ -501,7 +501,7 @@ class Main\n\ //注意\n\ //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ //2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ - //3:该程序每次运行输出的结果最多显示100个字符(多余的不显示),每行末尾的所有空格用□表示\n\ + //3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),每行末尾的所有空格用□表示\n\ #include \n\ int main()\n\ {\n\ @@ -521,7 +521,7 @@ int main()\n\ //注意\n\ //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ //2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ - //3:该程序每次运行输出的结果最多显示100个字符(多余的不显示),每行末尾的所有空格用□表示\n\ + //3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),每行末尾的所有空格用□表示\n\ #include \n\ using namespace std;\n\ \n\ @@ -543,7 +543,7 @@ int main()\n\ #注意\n\ #1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ #2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ - #3:该程序每次运行输出的结果最多显示100个字符(多余的不显示),空格用□表示\n\ + #3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),空格用□表示\n\ import sys \n\ \n\ #获取参数方式,使用raw_input\n\ diff --git a/public/javascripts/new_user.js b/public/javascripts/new_user.js index 916481818..600662ab1 100644 --- a/public/javascripts/new_user.js +++ b/public/javascripts/new_user.js @@ -632,7 +632,7 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) { } : function (name) { return getComputedStyle(elem, null)[name]; }, - minHeight = parseFloat(getFirstStyle('height')) + minHeight = parseFloat(getFirstStyle('height')); elem.style.resize = 'none'; elem2.style.resize = 'none'; @@ -660,8 +660,6 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) { style2.overflowY = 'auto'; } else { height = elem.scrollHeight - padding; - style.overflowY = 'hidden'; - style2.overflowY = 'hidden'; }; style.height = height + extra + 'px'; style2.height = height + extra + 'px'; @@ -677,8 +675,6 @@ var autoTextarea2 = function (elem,elem2, extra, maxHeight) { style2.overflowY = 'auto'; } else { height = elem2.scrollHeight - padding; - style.overflowY = 'hidden'; - style2.overflowY = 'hidden'; }; style.height = height + extra + 'px'; style2.height = height + extra + 'px'; diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index 00d6bf3bc..385d0fd8f 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -10,6 +10,7 @@ app.constant('config', { app.run(['$rootScope', 'auth', '$location', '$routeParams', function($rootScope, auth, $location, $routeParams){ if(g_redirect_path && g_redirect_path.length>1){ + console.log(g_redirect_path); $location.path(g_redirect_path); g_redirect_path = null; } diff --git a/public/javascripts/wechat/controllers/issue.js b/public/javascripts/wechat/controllers/issue.js index b580da465..917de2990 100644 --- a/public/javascripts/wechat/controllers/issue.js +++ b/public/javascripts/wechat/controllers/issue.js @@ -1,4 +1,58 @@ -app.controller('IssueController', ['$scope', '$http', '$routeParams', 'auth', 'common', function($scope, $http, $routeParams, auth, common){ +app.controller('IssueController', ['$scope', '$http', '$routeParams', 'auth', 'common', + function($scope, $http, $routeParams, auth, common){ + + var vm = $scope; + vm.previewImgUrls = []; + vm.showAtDialog = false; + + var parseAtPersons = function (comment) { + var selectedPersons = []; + var ss = comment.match(/@(.+?)\s+/g); + + for(var i in ss){ + var personName = ss[i].substr(1, ss[i].length-2); + console.log(personName); + + for(var j in vm.at_persons){ + var person = vm.at_persons[j]; + if(person.name == personName){ + selectedPersons.push(person); + } + } + } + + for(var i in selectedPersons){ + var person = selectedPersons[i]; + comment = comment.replace('@'+person.name+' ', + '@'+person.name+'('+person.login+')'+' ' + ); + } + return comment; + }; + + vm.onPostChange = function (newValue, oldValue) { + if(newValue.length > oldValue.length && newValue.match(/@$/)=='@'){ + console.log('@ fire'); + vm.showAtDialog = true; + if(!vm.at_persons){ + $http.get('/at/'+$routeParams.id+'.json?type=Issue').then(function (response) { + vm.at_persons = response.data; + }); + } + } + console.log(vm.issue.comment); + }; + + vm.selectAtPerson = function (index) { + var person = vm.at_persons[index]; + vm.showAtDialog = false; + vm.issue.comment += person.name + ' '; + }; + + vm.cancelAt = function(){ + vm.showAtDialog = false; + } common.init({ id: $routeParams.id, @@ -18,11 +72,28 @@ app.controller('IssueController', ['$scope', '$http', '$routeParams', 'auth', 'c replytype = data.type; page = data.page; + + var parseImgAttachment = function(attachments){ + var urls = []; + if(!attachments){ + return urls; + } + + for(var i = attachments.length-1; i>=0; i--){ + if(attachments[i].filename.match('.jpg$')=='.jpg' || attachments[i].filename.match('.png$')=='.png'){ + urls.push(attachments[i].download_url); + attachments.splice(i, 1); + } + } + return urls; + }; + if (replytype == 0){ if (page == 0){ $scope.issue = data.data; $scope.page = 0; $scope.is_public = data.is_public; + $scope.previewImgUrls = parseImgAttachment($scope.issue.attachments); } else{ $scope.issue.all_children = $scope.issue.all_children.concat(data.data.all_children); @@ -42,6 +113,17 @@ app.controller('IssueController', ['$scope', '$http', '$routeParams', 'auth', 'c } }, replyCallback: function(){ + }, + beforeReplay: function(data){ + return parseAtPersons(data); } }); + + $scope.previewImg = function(index){ + console.log(index); + wx.previewImage({ + current: $scope.previewImgUrls[index], // 当前显示图片的http链接 + urls: $scope.previewImgUrls // 需要预览的图片http链接列表 + }); + } }]); \ No newline at end of file diff --git a/public/javascripts/wechat/others/factory.js b/public/javascripts/wechat/others/factory.js index 190dd36b4..daf8a45f8 100644 --- a/public/javascripts/wechat/others/factory.js +++ b/public/javascripts/wechat/others/factory.js @@ -94,24 +94,17 @@ app.factory('rms', function(){ }); app.factory('common', ['$http', 'auth', '$routeParams','rms','config','wx','$location', function($http, auth, $routeParams,rms,config,wx,$location){ - var addCommonReply = function(id, type, data,args,reply_type, cb){ - //先判断有没有绑定 -// $http.post( -// '/wechat/is_bind', -// {} ///不用传code了,都由服务器来处理 -// ).then(function(response){ -// console.log(response.data); -// if(response.data.status != 0){ -// $location.path("/login_tip"); -// } -// }); - + var addCommonReply = function(id, type, data,args,reply_type, beforeReply, cb){ if(!data.comment || data.comment.length<=0){ return; } var temp = data.comment.replace(/\n/g,'
      '); + if(typeof beforeReply==='function'){ + temp = beforeReply(temp); + } + var userInfo = { type: type, content: temp, @@ -121,6 +114,8 @@ app.factory('common', ['$http', 'auth', '$routeParams','rms','config','wx','$loc //回复按钮禁用 data.disabled = true; + console.log(userInfo); + $http({ method: 'POST', url: apiUrl+ "new_comment/"+id, @@ -308,7 +303,8 @@ app.factory('common', ['$http', 'auth', '$routeParams','rms','config','wx','$loc loadData(args.id,0,0); args.scope.addReply = function(data,reply_type){ console.log(data.comment); - addCommonReply(data.act_id, args.replyType, data,args,reply_type, function(subscribe){ + + addCommonReply(data.act_id, args.replyType, data,args, reply_type, args.beforeReplay, function(subscribe){ // args.scope.formData = {comment: ''}; if(subscribe == 0){ $location.path("/login_tip"); diff --git a/public/stylesheets/css/common.css b/public/stylesheets/css/common.css index 931aeb39e..9c44ea40d 100644 --- a/public/stylesheets/css/common.css +++ b/public/stylesheets/css/common.css @@ -142,6 +142,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/ .ml110{ margin-left:110px;} .ml125 { margin-left:125px;} .ml130 { margin-left:130px;} +.ml140 { margin-left:140px;} .ml150 { margin-left:150px;} .ml160 {margin-left:160px;} .ml250 {margin-left:250px;} @@ -174,6 +175,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/ .mr100 {margin-right:100px !important;} .mr118 {margin-right:118px !important;} .mr130 {margin-right:130px;} +.mr135 {margin-right:135px;} .mr150 {margin-right:150px;} .mw15{margin:0 15px;} .mr90 {margin-right:90px;} @@ -315,6 +317,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/ .H60 {height:60px !important;} .H150{ height:150px;} .p10 {padding-left:10px; padding-right:10px;} +.mw150 {max-width: 150px !important;} .mw220 {max-width: 220px !important;} .mw280 {max-width:280px !important;} .mw360 {max-width: 360px !important;} @@ -323,6 +326,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/ .mh18 {max-height: 18px;} .max_h54 {max-height:54px; } .maxHeight100 {max-height:100px; overflow-x:hidden; overflow-y:auto;} +.maxHeight200 {max-height:200px; overflow-x:hidden; overflow-y:auto;} .W50{ width:50px;} .W120{ width:110px;} @@ -673,6 +677,21 @@ a.sy_btn_grey_mini{ border-radius:3px; } a:hover.sy_btn_grey_mini{ background: #c3c3c3;} +a.btn_grey_mid{ + display:inline-block; + color: #565656; + background: #eaeaea; + text-align: center; + font-size: 12px; + padding:0 10px; + height: 26px; + line-height: 26px; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; +} +a:hover.btn_grey_mid{ background: #c8c8c8;} a.sy_btn_green{ display:inline-block; color: #fff; @@ -805,22 +824,6 @@ a.sy_btn_pink{ } a:hover.sy_btn_pink{ background: #e64c4c;} -/* 我的缺陷列表*/ -.myissues_con{ width:968px; padding:15px; border:1px solid #ddd; background-color:#fff; color:#444; margin: 0 auto; } -.myissues_head{ width: 100%; height: 40px; line-height: 40px; background: #f4f4f4; } -.myissues_head h2{ font-size: 14px;} -select.issues_filter_active { font-weight: bold; color: #333;} -.issues_form_filter select.issues_filter_select_min02{width:60px; } -.issues_form_filter select.issues_filter_select_max{width:90px; } -.issues_list_txt li.issues_list_max{ width:90px } -.btn_newpro_grey{display: inline-block;color: #7b7b7b; border:1px solid #dbdbdb;background:#fff;text-align: center;font-size: 12px; padding:0 15px; height:24px; line-height: 24px; -webkit-border-radius:3px; -moz-border-radius:3px; -o-border-radius:3px; border-radius:3px;} -a:hover.btn_newpro_grey,a:active.btn_newpro_grey{ background: #eaeaea;} - -.my_issues_form_filter{ position: absolute; top:0; right: 0;} -.my_issues_form_filter select{ width:70px; height:30px; border:none; font-size:14px; border:none;border-right:none; color: #888; font-size: 12px; line-height: 30px; text-align:center} -.my_issues_form_filter select.issues_filter_select_min{width:50px; } -.my_issues_form_filter select{appearance:none;-moz-appearance:none;-webkit-appearance:none;} - .ke-block pre{ font-size:9pt; font-family:Courier New,Arial; diff --git a/public/stylesheets/css/courses.css b/public/stylesheets/css/courses.css index 97ba3801f..8c0bbb8f4 100644 --- a/public/stylesheets/css/courses.css +++ b/public/stylesheets/css/courses.css @@ -604,3 +604,5 @@ a:hover.ex_icon_edit{ background:url(/images/course/icons.png) -21px -276px no- .archive_course_notice {width:220px; position:absolute; padding:5px 10px; white-space:nowrap; background-color:#fff; right:-265px; top:-15px; box-shadow:0px 2px 8px rgba(146, 153, 169, 0.5);} .archive_course_notice em {display:block; border-width:10px; position:absolute;top:26px; left:-20px; border-style:dashed solid dashed dashed; border-color:transparent #eaeaea transparent transparent; font-size:0; line-height:0;} .archive_course_notice span {display:block; border-width:10px; position:absolute;top:26px; left:-18px; border-style:dashed solid dashed dashed; border-color:transparent #fff transparent transparent; font-size:0; line-height:0;} + +.teacher_member_img{width:50px; height:50px; border: 1px solid #fff;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;} \ No newline at end of file diff --git a/public/stylesheets/css/project.css b/public/stylesheets/css/project.css index a2506fe3f..54b34896c 100644 --- a/public/stylesheets/css/project.css +++ b/public/stylesheets/css/project.css @@ -1058,4 +1058,19 @@ table.text-file{} .old:hover{ background:#fffaf1; } .new{ background: #eaffea;} .new:hover{ background:#fffaf1; } -.commit_id_value{color: white !important;} \ No newline at end of file +.commit_id_value{color: white !important;} +/* 我的缺陷列表*/ +.myissues_con{ width:968px; padding:15px; border:1px solid #ddd; background-color:#fff; color:#444; margin: 0 auto; } +.myissues_head{ width: 100%; height: 40px; line-height: 40px; background: #f4f4f4; } +.myissues_head h2{ font-size: 14px;} +select.issues_filter_active { font-weight: bold; color: #333;} +.issues_form_filter select.issues_filter_select_min02{width:60px; } +.issues_form_filter select.issues_filter_select_max{width:90px; } +.issues_list_txt li.issues_list_max{ width:90px } +.btn_newpro_grey{display: inline-block;color: #7b7b7b; border:1px solid #dbdbdb;background:#fff;text-align: center;font-size: 12px; padding:0 15px; height:24px; line-height: 24px; -webkit-border-radius:3px; -moz-border-radius:3px; -o-border-radius:3px; border-radius:3px;} +a:hover.btn_newpro_grey,a:active.btn_newpro_grey{ background: #eaeaea;} + +.my_issues_form_filter{ position: absolute; top:0; right: 0;} +.my_issues_form_filter select{ width:70px; height:30px; border:none; font-size:14px; border:none;border-right:none; color: #888; font-size: 12px; line-height: 30px; text-align:center} +.my_issues_form_filter select.issues_filter_select_min{width:50px; } +.my_issues_form_filter select{appearance:none;-moz-appearance:none;-webkit-appearance:none;} \ No newline at end of file diff --git a/public/stylesheets/css/public.css b/public/stylesheets/css/public.css index 7215604c2..8127753c5 100644 --- a/public/stylesheets/css/public.css +++ b/public/stylesheets/css/public.css @@ -738,6 +738,7 @@ a.xls{ margin-left:5px; color:#136b3b;} .st_box ul li{ float:left;} .st_box_top a{ font-weight:bold; color:#7a7a7a; float:left; margin-bottom:5px;} .st_box_top a:hover{ color:#1c9ec7;} +.teacher_st_boxlist{ border-bottom:1px dashed #CCC; height:60px; margin-bottom:10px; } .st_boxlist{ border-bottom:1px dashed #CCC; height:43px; margin-bottom:10px; } .st_boxlist a{ float:left;} .st_boxlist ul{ float:left; width:200px; margin-left:10px;} @@ -1401,7 +1402,7 @@ a:hover.comment_ding_link{ color:#269ac9;} .orig_textarea{width:90%; margin-bottom:10px;} .orig_sub{ float:right; background-color:#269ac9; color:#fff; height:25px; line-height:25px; text-align:center; width:80px; border:none;} .orig_sub:hover{ background:#297fb8;} -.orig_cont_hide{ text-align:center; width:632px; display:block; font-size:14px; color:#333; border-bottom:1px solid #F3DDB3; padding:5px 0;} +.orig_cont_hide{ text-align:center; display:block; font-size:14px; color:#333; border-bottom:1px solid #F3DDB3; padding:5px 0;} .orig_cont_hide_issue{ text-align:center; width:882px; display:block; font-size:14px; color:#333; border-bottom:1px solid #F3DDB3; padding:5px 0;} .orig_icon{ color:#888; margin-right:10px; font-size:14px; font-weight:bold;} @@ -1548,3 +1549,5 @@ a.syllabusbox_a_blue{ .pages_new_404{ margin:160px 209px 0px 209px; height: 580px;} .pages_new_404_txt{ font-size: 16px; color: #888; text-align: center;} .feedbackText{box-shadow:none; width:550px; height:80px; border-color: #DFDFDF; background:#fff; color:#999; padding:3px; font-size:12px;overflow:auto; background-attachment:fixed;border-style:solid;} + +._notice_box{border:solid 1px #f6d0b1; background:#fff9e9; padding:4px; color:#ee4a20;} \ No newline at end of file diff --git a/public/stylesheets/css/structure.css b/public/stylesheets/css/structure.css index b86068a33..6bf675de9 100644 --- a/public/stylesheets/css/structure.css +++ b/public/stylesheets/css/structure.css @@ -94,18 +94,18 @@ div#menu ul ul ul li a{ width:185px; overflow:hidden; white-space: nowrap; text- .newsReadSetting {width:700px; background-color:#f6f6f6; border-bottom:1px solid #eeeeee; margin:10px auto; height:39px; line-height:39px; vertical-align:middle; font-size:14px; color:#7a7a7a; padding-left:10px;} .homepageNewsList {width:710px; height:49px; line-height:49px; vertical-align:middle; border-bottom:1px dashed #eaeaea;} .homepageNewsPortrait {width:40px; display:block; margin-top:7px;} -.homepageNewsPublisher { max-width:100px; font-size:12px; color:#269ac9; display:block; padding-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; float:left; } +.homepageNewsPublisher { max-width:100px; font-size:12px; color:#269ac9; display:block; /*padding-left:5px;*/ overflow:hidden; white-space: nowrap; text-overflow:ellipsis; float:left; } .homepageNewsType {padding-left: 5px; font-size:12px; color:#888888; display:block;} .homepageNewsTypeHomework {width:160px; padding-left: 5px; font-size:12px; color:#888888; display:block; overflow:hidden; height:49px;word-break:break-all; word-wrap:break-word; text-overflow:ellipsis;} -.homepageNewsPubType {width:230px; font-size:12px; color:#888888; display: block;} +.homepageNewsPubType {auto-width:230px; font-size:12px; color:#888888; display: block;} .homepageNewsPubTypeHomework {width:270px; font-size:12px; color:#888888; display: block; white-space:nowrap;} -.homepageNewsContent {width:355px; max-width:365px; margin-right:10px; font-size:12px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } -.homepageSystenMessageContent {width:281px; max-width:291px; margin-right:10px; font-size:12px; color:#4b4b4b; display:block; overflow:hidden;text-overflow:ellipsis;max-height: 49px; } - -.homepageHomeworkContentWarn {width:110px; max-width:365px; margin-right:10px; font-size:12px; color:red; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } -.homepageHomeworkContent {width:235px; max-width:365px; margin-right:10px; font-size:12px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } -.homepageHomeworkContentWarn2 {width:60px; max-width:365px; margin-right:10px; font-size:12px; color:red; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } -.homepageHomeworkContent2 {width:285px; max-width:365px; margin-right:10px; font-size:12px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } +.homepageNewsContent {width:355px; max-width:365px; margin-right:10px; font-size:14px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } +.homepageSystenMessageContent {width:281px; max-width:291px; margin-right:10px; font-size:14px; color:#4b4b4b; display:block; overflow:hidden;text-overflow:ellipsis;max-height: 49px; } +.homepageSystenMessageContent a:link{color:#1b1818;} +.homepageHomeworkContentWarn {width:110px; max-width:365px; margin-right:10px; font-size:14px; color:red; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } +.homepageHomeworkContent {width:235px; max-width:365px; margin-right:10px; font-size:14px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } +.homepageHomeworkContentWarn2 {width:70px; max-width:365px; margin-right:10px; font-size:14px; color:red; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } +.homepageHomeworkContent2 {width:285px; max-width:365px; margin-right:10px; font-size:14px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;max-height: 49px; } .homepageNewsTime {width:75px; font-size:12px; color:#888888; display:block; text-align:right;} .loadMore {font-size:14px;width:748px; text-align:center; display:block; border:1px solid #dddddd; background-color:#ffffff; float:right;padding:5px 0; letter-spacing: 1px;} @@ -119,7 +119,7 @@ div#menu ul ul ul li a{ width:185px; overflow:hidden; white-space: nowrap; text- .ajax-waiting input.upload_filename {background:url(/images/hourglass.png) no-repeat 0px 50%;} .ajax-loading input.upload_filename {background:url(/images/loading.gif) no-repeat 0px 50%;} div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; } -.upload_filename{ background: url(/images/pic_file.png) 0 -22px no-repeat;color: #7f7f7f;width: 270px;border: none; padding-left: 20px;margin-right: 10px;margin-bottom: 5px; white-space: nowrap; text-overflow:ellipsis;} +.upload_filename{ background: url(/images/pic_file.png) 0 -22px no-repeat;color: #7f7f7f;width: 270px;border: none !important; padding-left: 20px;margin-right: 10px;margin-bottom: 5px; white-space: nowrap; text-overflow:ellipsis;} .message_title{border: 1px solid #9C9C9C;padding: 0.6em;margin-left: 1.4em;margin-right: 0.4em;border-radius: 4px;font-family: "Microsoft YaHei";background-size: 100% 100%;margin-bottom: 5px;background-color: #fff; max-width:400px;word-wrap:break-word; word-break:break-all;} .message_title_red{border: 1px solid #484848;padding: 0.6em;margin-left: 1.4em;margin-right: 0.4em;border-radius: 4px;font-family: "Microsoft YaHei";background-size: 100% 100%;margin-bottom: 5px;background-color: #fff;background-image: -moz-linear-gradient(top, #fff, #E0E0E0);} @@ -342,6 +342,7 @@ a.homepageMenuControl {float:left; width:180px;} .homepageLeftLabelContainer {width:238px; border:1px solid #dddddd; background-color:#ffffff; margin-top:10px;} .homepageLabelText {color:#484848; font-size:16px; margin-left:10px; margin-bottom:12px; display:block;} .homepageRightBanner {width:718px; margin:0px auto; float:right; background-color: #ffffff; padding:10px 15px; border:1px solid #dddddd;} +.homepagetopBanner {width:750px; height: 100px; margin:0px auto; float:right; background-color: #90C5EC; border:1px solid #dddddd;} .homepageRightBannerImg{width:1000px; margin:0px auto; height: 60px; margin-top: 10px; background:url(/images/TeachersDay.jpg)} a.homepageWhite {color:#ffffff;} a.homepageWhite:hover {color:#a1ebff} @@ -355,7 +356,7 @@ a.replyGrey1 {color:#888888;} a.replyGrey1:hover {color:#4b4b4b;} a.newsBlue {color:#269ac9;} a.newsBlue:hover {color:#297fb8;} -a.newsBlack {color:#4b4b4b; font-size:13px; font-weight:bold} +a.newsBlack {color:#4b4b4b; font-size:14px; font-weight:bold} a.menuGrey {color:#808080;} a.menuGrey:hover {color:#fe7d68;} .navSearchTypeBox {width:368px; height:35px; position:absolute; border:1px solid #e1e1e1; background-color:#ffffff; padding-left:10px; display:none; color:#3e3e3e; font-size:14px;} @@ -498,6 +499,19 @@ a.user_leftinfo_img { display:block; width:80px; height:80px; margin:15px auto;} .user_atten li a{ color:#333;} .user_atten li a:hover{ color:#3b94d6;} +.flex-container_homepage {display:flex;} +.flex-container_homepage div{ width:68px; float:left; border-right:1px solid #62ACE2; text-align:center; font-size:14px; height: 70px; margin:10px 0px; color: #ffffff;} +.flex-container_homepage div:last-child { border:none; } +.flex-cell_homepage {flex:1; text-align: center} +.homepage_review_tab{ display:block; background:url(/images/user/homepage_tab.png) -15px -185px no-repeat; width:32px; height:32px; } +.homepage_issue_tab { display:block; background:url(/images/user/homepage_tab.png) -15px -12px no-repeat; width:32px; height:32px; } +.homepage_work_tab { display:block; background:url(/images/user/homepage_tab.png) -15px -56px no-repeat; width:32px; height:32px; } +.homepage_test_tab { display:block; background:url(/images/user/homepage_tab.png) -15px -99px no-repeat; width:32px; height:32px; } +.homepage_poll_tab { display:block; background:url(/images/user/homepage_tab.png) -15px -142px no-repeat; width:32px; height:32px; } +.homepage_anonymity_tab { display:block; background:url(/images/user/homepage_tab.png) -15px -228px no-repeat; width:32px; height:32px; } +.homepage_apply_tab { display:block; background:url(/images/user/apply_tab.png) -10px -12px no-repeat; width:32px; height:32px; } + + /* 个人主页左侧导航 */ .user_leftnav{ width:240px;} .users_accordion li > a { diff --git a/public/stylesheets/css/user.css b/public/stylesheets/css/user.css new file mode 100644 index 000000000..5b99b32f2 --- /dev/null +++ b/public/stylesheets/css/user.css @@ -0,0 +1,170 @@ +/*新版头部css byLB20161125*/ +.header-new{ height: 50px; width:100%; background:#3b94d6;} +.header-new-nav{ width: 1000px; margin:0 auto; height: 50px; line-height: 50px; background:#3b94d6;} +.header-new-nav-logo{ display: block; width: 51px; height: 45px; background:url(/images/nav_logo.png) 0 3px no-repeat;} +.header-new-nav-left li{ float: left; height: 50px; line-height: 50px;} +.header-new-nav-left li a{ display: block; padding:0 15px; color: #fff; font-size: 14px; font-weight: normal;} +.header-new-nav-left li a:hover{ background: #fff; color: #3b94d6;} +.header-new-nav-left li a.active{ background: #297ebd; color: #fff;} +.header-new-search{ margin-top: 10px; position: relative;} +.header-new-search-input{ width: 280px; height: 30px; background: #fff; padding:0 5px; border:none;} +.icons-header-search{display: block; width: 20px; height: 20px; background:url(/images/hw/icons_hw.png) 0 -56px no-repeat; position: absolute; right: 5px; top:4px;} +.header-new-nav-right li { float: left; padding:0 10px; } +.icons-header-news{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px 0px no-repeat; } +.icons-header-class{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -37px no-repeat; } +.icons-header-project{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -72px no-repeat; } +.header-users{width:40px; height:40px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;} +.content-new {width:1000px; margin:0 auto; background-color:#eaebed;} +.home-user-left-box{width:240px;} +.home-user-right-box{width:750px;} +/*新版主页左侧css byLB20161125*/ +.home-user-leftnav{ background:#fff; width: 238px; border:1px solid #ddd; margin-bottom: 10px;} +.home-user-leftnav h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +.h3-more{ font-size: 12px; color: #888;} +.home-user-leftnav-li{ height: 45px; line-height: 40px; padding-left: 25px; color: #666;background:url(/images/user/home-user-left.png) 5px 5px no-repeat; font-size: 14px; position: relative; } +.home-user-leftnav-li:hover{ background:#f4f4f4 url(/images/user/home-user-left.png) 5px -35px no-repeat;} +.home-user-leftnav-li a:hover{color: #3b94d6;} +.icons-class{background:url(/images/user/home-user-left.png) 5px 5px no-repeat; } +.icons-class:hover{background:url(/images/user/home-user-left.png) 5px -35px no-repeat; } +.icons-project{background:url(/images/user/home-user-left.png) 5px -70px no-repeat; } +.icons-project:hover{background:url(/images/user/home-user-left.png) 5px -105px no-repeat; } +.icons-homework{background:url(/images/user/home-user-left.png) 5px -140px no-repeat; } +.icons-homework:hover{background:url(/images/user/home-user-left.png) 5px -177px no-repeat; } +.icons-doc{background:url(/images/user/home-user-left.png) 5px -215px no-repeat; } +.icons-doc:hover{background:url(/images/user/home-user-left.png) 5px -257px no-repeat; } +.icons-download{background:url(/images/user/home-user-left.png) 5px -292px no-repeat; } +.icons-download:hover{background:url(/images/user/home-user-left.png) 5px -326px no-repeat; } +.icons-issue{background:url(/images/user/home-user-left.png) 5px -360px no-repeat; } +.icons-issue:hover{background:url(/images/user/home-user-left.png) 5px -393px no-repeat; } +.home-user-grey-tag{ display: block; background-color: #eaeaea;padding: 0px 8px; height:20px; line-height:20px;-webkit-border-radius: 15px; -moz-border-radius: 15px; -o-border-radius: 15px; border-radius: 15px; font-size: 12px;} +.user_navmore_txt02 { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:75px;} +.user_navmore_txt02 li a.user_navmore_li {font-size:12px;color:#888; display:block; width:50px;height:24px;line-height:24px; } +.user_navmore_txt02 li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:50px; } +.user_navmore_txt02 li:hover,.user_navmore_txt02 li a:hover{background-color:#f0f0f0;} +/*新版主页个性签名css byLB20161125*/ +.home-user-intro{ width:728px; border:1px solid #ddd; padding:10px; background: #fff;} +.home-user-intro p{ color: #666; font-size: 14px;} +/*新版主页动态css byLB20161125*/ +.home-user-newsbox{width:748px; border:1px solid #ddd; background: #fff;} +.home-user-newsbox h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +a.btn-grey-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#dedede; border-radius: 3px;color: #333;} +a.btn-blue-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#3b94d6; border-radius: 3px;color: #fff;} +a:hover.btn-grey-small{background:#d0d0d0; } +a:hover.btn-blue-small{background:#297ebd;} +.home-user-news-list{ padding:10px 10px ;border-bottom:1px dashed #ddd;} +.home-user-news-img img{ width: 40px;height: 40px;margin: 5px 0; border-radius: 50px;} +a.home-user-news-name{ display: inline-block; max-width:200px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; color: #3b94d6;} +.home-user-news-grey{ color: #888;} +.home-user-news-list-inner{ width: 675px;} +.home-user-news-txt{max-width:600px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.home-user-news-del{ height: 20px; display: inline-block; width: 20px; background:url(/images/user/home-user-left.png) 0px -514px no-repeat; } +.home-user-nonews{ width: 200px; margin:100px auto; text-align:center; color:#666; min-height: 350px; } +/*新版发现更多css byLB20161125*/ +.content-new-inner{ width: 998px;border:1px solid #ddd; background: #fff; position: relative;} +.content-new-inner h3{height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; font-size: 14px; background: #f6f6f6;} +.content-faxian-list{border-bottom:1px dashed #ddd; padding:10px 0px; width: 100%;} +a.faxian-list-title{ font-size: 14px; color:#333;max-width:720px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +a:hover.faxian-list-title{ color: #3b94d6;} +.syllabus_class_private {color: #ff4a1b; border: 1px solid #ff4a1b;} +.syllabus_class_property {font-size: 12px; padding: 0 5px; border-radius: 3px;line-height: 14px;} +.syllabus_class_open {color: #7dd26c;border: 1px solid #7dd26c;} +a.pro_new_topbtn{ padding: 3px 7px; font-size: 12px; line-height: 20px; color: #333;vertical-align: middle;background-color: #fff; border: 1px solid #ddd; border-left: 0; border-top-right-radius: 3px; border-bottom-right-radius: 3px; color: #333;} +a.pro_new_topbtn_left { padding: 3px 10px; font-size: 12px;line-height: 20px; background-image: linear-gradient(#fcfcfc, #eee); border: 1px solid #d5d5d5;border-radius: 3px;border-top-right-radius: 0;border-bottom-right-radius: 0; color: #333; } +a:hover.pro_new_topbtn_left{background-image: linear-gradient(#ededed, #dddddd);} +.pro_new_topnav ul{border-bottom: 3px solid #fff; height: 30px; line-height: 30px;} +.pro_new_topnav ul li{ float: left; height: 30px; line-height: 30px;text-align: center; padding:0 15px; } +.pro_new_topnav_active{border-bottom: 3px solid #3b94d6; } +.hw_more_box {position:absolute; width:24px; height:15px; right:15px; top:15px;} +.hw_more_box ul li:hover ul {display:block; } +.hw_more_icons {background:url(/images/hw/icons_hw.png) 0px -30px no-repeat; width:24px; height:15px; } +.hw_more_icons:hover {background:url(/images/hw/icons_hw.png) -40px -30px no-repeat;} +.hw_more_txt {width:75px; font-size:12px; color:#616060; background-color:#fff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-40px; top:15px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000;} +.hw_more_txt li a.hw_more_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px;text-align:center; } +.hw_more_txt li a.hw_more_li:hover {background-color:#f0f0f0;} + + + + +/* 个人主页左侧信息 */ +.user_leftinfo{ width:238px;border:1px solid #e5e5e5; background:#fff url(/images/user/user_bg_info.jpg) 0 0 no-repeat; position:relative; } +a.user_leftinfo_img { display:block; width:80px; height:80px; margin:15px auto;} +.user_leftinfo_img img{ width:74px; height:74px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px; border:3px solid #dcdcdc; } +.user_leftinfo_female{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) 5px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_male{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) -25px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_namebox{ text-align:center; height:16px; line-height:16px; } +.user_leftinfo_name{ display: inline-block; max-width:160px; font-size:14px; font-weight:bold; overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.user_cirbtn_yellow{ color:#fff; background:#ffb400; padding:0 5px;-webkit-border-radius:10px;-moz-border-radius:10px;-o-border-radius:10px;border-radius:10px; line-height:16px; } +.user_info_inner{ width:210px; margin:0 15px 15px;} +.user_atten li{ width:68px; float:left; border-right:1px solid #e5e5e5; text-align:center; font-size:14px;} +.user_atten li a{ color:#333;} +.user_atten li a:hover{ color:#3b94d6;} +.user_atten li:last-child{ border:none;} +.user_info_intro{ margin:10px auto; width:210px; color:#888; text-align: center;} +a.user_editinfo{border-top:1px solid #e5e5e5; height:30px; line-height:30px; text-align:center; color:#3b94d6; width:100%; display:inline-block;} +/* 个人主页左侧导航 */ +.user_leftnav{ width:240px;} +.users_accordion li > a {display: block;padding: 0 10px 0 32px;height:49px;line-height:49px;color: #333;font-size:16px;background: #f8f8f8;border:1px solid #e5e5e5;border-bottom:none;} +.users_accordion > li:hover > a{color: #3b94d6;background: #fff;} +.users_accordion > li:target > a, +.users_accordion > li > a.active {color: #3b94d6;background: #fff;border:1px solid #e5e5e5;border-left:3px solid #3b94d6;border-bottom:none;} +.users_accordion li{ position:relative;} +.users_accordion li > a span {margin-top:15px;font-size:12px;padding: 0 10px;background: #dbdbdb;-webkit-border-radius: 15px;-moz-border-radius: 15px;border-radius: 15px;margin-left:10px;color: #333;} +.users_accordion > li:hover > a span, +.users_accordion > li:target > a span, +.users_accordion > li > a.active span {margin-left:10px;color: #333;background: #dbdbdb;} +/* Images */ +.users_accordion > li > a:before {position: absolute;top: 0;left: 0;content: '';width: 24px;height: 50px;margin: 4px 8px;background-repeat: no-repeat;background-image:url(/images/user/icons_user_leftnav.png);background-position: 5px 15px;} +.users_accordion li.user_icons_course > a:before { background-position: 5px 15px; } +.users_accordion li.user_icons_course:hover > a:before, +.users_accordion li.user_icons_course:target > a:before, +.users_accordion li.user_icons_course > a.active:before { background-position: -25px 15px; } +.users_accordion li.user_icons_new > a:before { background-position: 5px -48px; } +.users_accordion li.user_icons_new:hover > a:before, +.users_accordion li.user_icons_new:target > a:before, +.users_accordion li.user_icons_new > a.active:before { background-position: -25px -48px; } +.users_accordion li.user_icons_addclass > a:before { background-position: 5px -87px; } +.users_accordion li.user_icons_addclass:hover > a:before, +.users_accordion li.user_icons_addclass:target > a:before, +.users_accordion li.user_icons_addclass > a.active:before { background-position: -25px -87px; } +.users_accordion li.user_icons_myhw > a:before { background-position: 5px -124px; } +.users_accordion li.user_icons_myhw:hover > a:before, +.users_accordion li.user_icons_myhw:target > a:before, +.users_accordion li.user_icons_myhw > a.active:before { background-position: -25px -124px; } +.users_accordion li.user_icons_project > a:before { background-position: 5px -167px; } +.users_accordion li.user_icons_project:hover > a:before, +.users_accordion li.user_icons_project:target > a:before, +.users_accordion li.user_icons_project > a.active:before { background-position: -25px -167px; } +.users_accordion li.user_icons_addproject > a:before { background-position: 5px -205px; } +.users_accordion li.user_icons_addproject:hover > a:before, +.users_accordion li.user_icons_addproject:target > a:before, +.users_accordion li.user_icons_addproject > a.active:before { background-position: -25px -205px; } +.users_accordion li.user_icons_myissues > a:before { background-position: 5px -246px; } +.users_accordion li.user_icons_myissues:hover > a:before, +.users_accordion li.user_icons_myissues:target > a:before, +.users_accordion li.user_icons_myissues > a.active:before { background-position: -25px -246px; } +.users_accordion li.user_icons_mes > a:before { background-position: 5px -289px; } +.users_accordion li.user_icons_mes:hover > a:before, +.users_accordion li.user_icons_mes:target > a:before, +.users_accordion li.user_icons_mes > a.active:before { background-position: -25px -289px; } +/* Sub Menu */ +.user_sub_menu li a {color: #797979;background: #f8f8f8;height:39px;line-height:39px;font-size:14px;} +.user_sub_menu li a:hover,.user_sub_menu li a:target { color:#3b94d6; background:#fff url(/images/user/user_navmore_icons.png) 0px 0px no-repeat;} +.user_sub_menu li a:hover,.user_sub_menu li a:target{} +.user_sub_menu li:last-child a { } +.users_accordion li > .user_sub_menu {display: none;} +.users_accordion li:target > .user_sub_menu {display: block;} +.user_sub_menu > li > span.user_icons_class {padding:0;border:none;display:block;position: absolute;top:18px;left:10px;width:20px;height:20px;background:url(/images/user/icons_user_leftnav.png) 0px -34px no-repeat;} +a.user_navmorebox{ display:block; width:238px; height:20px; position:relative; background:#f8f8f8;border:1px solid #e5e5e5; border-bottom:none;} +a:hover.user_navmorebox{ background:#fff;} +a.user_navmorebox .user_icons_moreclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) 5px -347px no-repeat;} +a.user_navmorebox .user_icons_closeclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) -25px -347px no-repeat;} +/* 个人主页左侧导航更多功能 */ +.user_navmore_box {position:absolute; width:15px; height:15px; right:13px; top:17px; cursor:pointer;} +.user_navmore_box ul li:hover ul {display:block; } +.user_navmore_icons {background:url(/images/user/icons_user_leftnav.png) -15px -34px no-repeat; width:19px; height:15px; } +.user_navmore_icons:hover {background:url(/images/user/icons_user_leftnav.png) -30px -34px no-repeat;} +.user_navmore_txt { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:115px;} +.user_navmore_txt li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:75px; } +.user_navmore_txt li a.user_navmore_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px; } +.user_navmore_txt li a.user_navmore_add{ width:10px;color:#888; padding:0 5px; } +.user_navmore_txt li:hover,.user_navmore_txt li a:hover{background-color:#f0f0f0;} diff --git a/public/stylesheets/css/user.css.BASE.css b/public/stylesheets/css/user.css.BASE.css new file mode 100644 index 000000000..e69de29bb diff --git a/public/stylesheets/css/user.css.LOCAL.css b/public/stylesheets/css/user.css.LOCAL.css new file mode 100644 index 000000000..5b99b32f2 --- /dev/null +++ b/public/stylesheets/css/user.css.LOCAL.css @@ -0,0 +1,170 @@ +/*新版头部css byLB20161125*/ +.header-new{ height: 50px; width:100%; background:#3b94d6;} +.header-new-nav{ width: 1000px; margin:0 auto; height: 50px; line-height: 50px; background:#3b94d6;} +.header-new-nav-logo{ display: block; width: 51px; height: 45px; background:url(/images/nav_logo.png) 0 3px no-repeat;} +.header-new-nav-left li{ float: left; height: 50px; line-height: 50px;} +.header-new-nav-left li a{ display: block; padding:0 15px; color: #fff; font-size: 14px; font-weight: normal;} +.header-new-nav-left li a:hover{ background: #fff; color: #3b94d6;} +.header-new-nav-left li a.active{ background: #297ebd; color: #fff;} +.header-new-search{ margin-top: 10px; position: relative;} +.header-new-search-input{ width: 280px; height: 30px; background: #fff; padding:0 5px; border:none;} +.icons-header-search{display: block; width: 20px; height: 20px; background:url(/images/hw/icons_hw.png) 0 -56px no-repeat; position: absolute; right: 5px; top:4px;} +.header-new-nav-right li { float: left; padding:0 10px; } +.icons-header-news{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px 0px no-repeat; } +.icons-header-class{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -37px no-repeat; } +.icons-header-project{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -72px no-repeat; } +.header-users{width:40px; height:40px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;} +.content-new {width:1000px; margin:0 auto; background-color:#eaebed;} +.home-user-left-box{width:240px;} +.home-user-right-box{width:750px;} +/*新版主页左侧css byLB20161125*/ +.home-user-leftnav{ background:#fff; width: 238px; border:1px solid #ddd; margin-bottom: 10px;} +.home-user-leftnav h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +.h3-more{ font-size: 12px; color: #888;} +.home-user-leftnav-li{ height: 45px; line-height: 40px; padding-left: 25px; color: #666;background:url(/images/user/home-user-left.png) 5px 5px no-repeat; font-size: 14px; position: relative; } +.home-user-leftnav-li:hover{ background:#f4f4f4 url(/images/user/home-user-left.png) 5px -35px no-repeat;} +.home-user-leftnav-li a:hover{color: #3b94d6;} +.icons-class{background:url(/images/user/home-user-left.png) 5px 5px no-repeat; } +.icons-class:hover{background:url(/images/user/home-user-left.png) 5px -35px no-repeat; } +.icons-project{background:url(/images/user/home-user-left.png) 5px -70px no-repeat; } +.icons-project:hover{background:url(/images/user/home-user-left.png) 5px -105px no-repeat; } +.icons-homework{background:url(/images/user/home-user-left.png) 5px -140px no-repeat; } +.icons-homework:hover{background:url(/images/user/home-user-left.png) 5px -177px no-repeat; } +.icons-doc{background:url(/images/user/home-user-left.png) 5px -215px no-repeat; } +.icons-doc:hover{background:url(/images/user/home-user-left.png) 5px -257px no-repeat; } +.icons-download{background:url(/images/user/home-user-left.png) 5px -292px no-repeat; } +.icons-download:hover{background:url(/images/user/home-user-left.png) 5px -326px no-repeat; } +.icons-issue{background:url(/images/user/home-user-left.png) 5px -360px no-repeat; } +.icons-issue:hover{background:url(/images/user/home-user-left.png) 5px -393px no-repeat; } +.home-user-grey-tag{ display: block; background-color: #eaeaea;padding: 0px 8px; height:20px; line-height:20px;-webkit-border-radius: 15px; -moz-border-radius: 15px; -o-border-radius: 15px; border-radius: 15px; font-size: 12px;} +.user_navmore_txt02 { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:75px;} +.user_navmore_txt02 li a.user_navmore_li {font-size:12px;color:#888; display:block; width:50px;height:24px;line-height:24px; } +.user_navmore_txt02 li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:50px; } +.user_navmore_txt02 li:hover,.user_navmore_txt02 li a:hover{background-color:#f0f0f0;} +/*新版主页个性签名css byLB20161125*/ +.home-user-intro{ width:728px; border:1px solid #ddd; padding:10px; background: #fff;} +.home-user-intro p{ color: #666; font-size: 14px;} +/*新版主页动态css byLB20161125*/ +.home-user-newsbox{width:748px; border:1px solid #ddd; background: #fff;} +.home-user-newsbox h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +a.btn-grey-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#dedede; border-radius: 3px;color: #333;} +a.btn-blue-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#3b94d6; border-radius: 3px;color: #fff;} +a:hover.btn-grey-small{background:#d0d0d0; } +a:hover.btn-blue-small{background:#297ebd;} +.home-user-news-list{ padding:10px 10px ;border-bottom:1px dashed #ddd;} +.home-user-news-img img{ width: 40px;height: 40px;margin: 5px 0; border-radius: 50px;} +a.home-user-news-name{ display: inline-block; max-width:200px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; color: #3b94d6;} +.home-user-news-grey{ color: #888;} +.home-user-news-list-inner{ width: 675px;} +.home-user-news-txt{max-width:600px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.home-user-news-del{ height: 20px; display: inline-block; width: 20px; background:url(/images/user/home-user-left.png) 0px -514px no-repeat; } +.home-user-nonews{ width: 200px; margin:100px auto; text-align:center; color:#666; min-height: 350px; } +/*新版发现更多css byLB20161125*/ +.content-new-inner{ width: 998px;border:1px solid #ddd; background: #fff; position: relative;} +.content-new-inner h3{height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; font-size: 14px; background: #f6f6f6;} +.content-faxian-list{border-bottom:1px dashed #ddd; padding:10px 0px; width: 100%;} +a.faxian-list-title{ font-size: 14px; color:#333;max-width:720px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +a:hover.faxian-list-title{ color: #3b94d6;} +.syllabus_class_private {color: #ff4a1b; border: 1px solid #ff4a1b;} +.syllabus_class_property {font-size: 12px; padding: 0 5px; border-radius: 3px;line-height: 14px;} +.syllabus_class_open {color: #7dd26c;border: 1px solid #7dd26c;} +a.pro_new_topbtn{ padding: 3px 7px; font-size: 12px; line-height: 20px; color: #333;vertical-align: middle;background-color: #fff; border: 1px solid #ddd; border-left: 0; border-top-right-radius: 3px; border-bottom-right-radius: 3px; color: #333;} +a.pro_new_topbtn_left { padding: 3px 10px; font-size: 12px;line-height: 20px; background-image: linear-gradient(#fcfcfc, #eee); border: 1px solid #d5d5d5;border-radius: 3px;border-top-right-radius: 0;border-bottom-right-radius: 0; color: #333; } +a:hover.pro_new_topbtn_left{background-image: linear-gradient(#ededed, #dddddd);} +.pro_new_topnav ul{border-bottom: 3px solid #fff; height: 30px; line-height: 30px;} +.pro_new_topnav ul li{ float: left; height: 30px; line-height: 30px;text-align: center; padding:0 15px; } +.pro_new_topnav_active{border-bottom: 3px solid #3b94d6; } +.hw_more_box {position:absolute; width:24px; height:15px; right:15px; top:15px;} +.hw_more_box ul li:hover ul {display:block; } +.hw_more_icons {background:url(/images/hw/icons_hw.png) 0px -30px no-repeat; width:24px; height:15px; } +.hw_more_icons:hover {background:url(/images/hw/icons_hw.png) -40px -30px no-repeat;} +.hw_more_txt {width:75px; font-size:12px; color:#616060; background-color:#fff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-40px; top:15px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000;} +.hw_more_txt li a.hw_more_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px;text-align:center; } +.hw_more_txt li a.hw_more_li:hover {background-color:#f0f0f0;} + + + + +/* 个人主页左侧信息 */ +.user_leftinfo{ width:238px;border:1px solid #e5e5e5; background:#fff url(/images/user/user_bg_info.jpg) 0 0 no-repeat; position:relative; } +a.user_leftinfo_img { display:block; width:80px; height:80px; margin:15px auto;} +.user_leftinfo_img img{ width:74px; height:74px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px; border:3px solid #dcdcdc; } +.user_leftinfo_female{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) 5px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_male{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) -25px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_namebox{ text-align:center; height:16px; line-height:16px; } +.user_leftinfo_name{ display: inline-block; max-width:160px; font-size:14px; font-weight:bold; overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.user_cirbtn_yellow{ color:#fff; background:#ffb400; padding:0 5px;-webkit-border-radius:10px;-moz-border-radius:10px;-o-border-radius:10px;border-radius:10px; line-height:16px; } +.user_info_inner{ width:210px; margin:0 15px 15px;} +.user_atten li{ width:68px; float:left; border-right:1px solid #e5e5e5; text-align:center; font-size:14px;} +.user_atten li a{ color:#333;} +.user_atten li a:hover{ color:#3b94d6;} +.user_atten li:last-child{ border:none;} +.user_info_intro{ margin:10px auto; width:210px; color:#888; text-align: center;} +a.user_editinfo{border-top:1px solid #e5e5e5; height:30px; line-height:30px; text-align:center; color:#3b94d6; width:100%; display:inline-block;} +/* 个人主页左侧导航 */ +.user_leftnav{ width:240px;} +.users_accordion li > a {display: block;padding: 0 10px 0 32px;height:49px;line-height:49px;color: #333;font-size:16px;background: #f8f8f8;border:1px solid #e5e5e5;border-bottom:none;} +.users_accordion > li:hover > a{color: #3b94d6;background: #fff;} +.users_accordion > li:target > a, +.users_accordion > li > a.active {color: #3b94d6;background: #fff;border:1px solid #e5e5e5;border-left:3px solid #3b94d6;border-bottom:none;} +.users_accordion li{ position:relative;} +.users_accordion li > a span {margin-top:15px;font-size:12px;padding: 0 10px;background: #dbdbdb;-webkit-border-radius: 15px;-moz-border-radius: 15px;border-radius: 15px;margin-left:10px;color: #333;} +.users_accordion > li:hover > a span, +.users_accordion > li:target > a span, +.users_accordion > li > a.active span {margin-left:10px;color: #333;background: #dbdbdb;} +/* Images */ +.users_accordion > li > a:before {position: absolute;top: 0;left: 0;content: '';width: 24px;height: 50px;margin: 4px 8px;background-repeat: no-repeat;background-image:url(/images/user/icons_user_leftnav.png);background-position: 5px 15px;} +.users_accordion li.user_icons_course > a:before { background-position: 5px 15px; } +.users_accordion li.user_icons_course:hover > a:before, +.users_accordion li.user_icons_course:target > a:before, +.users_accordion li.user_icons_course > a.active:before { background-position: -25px 15px; } +.users_accordion li.user_icons_new > a:before { background-position: 5px -48px; } +.users_accordion li.user_icons_new:hover > a:before, +.users_accordion li.user_icons_new:target > a:before, +.users_accordion li.user_icons_new > a.active:before { background-position: -25px -48px; } +.users_accordion li.user_icons_addclass > a:before { background-position: 5px -87px; } +.users_accordion li.user_icons_addclass:hover > a:before, +.users_accordion li.user_icons_addclass:target > a:before, +.users_accordion li.user_icons_addclass > a.active:before { background-position: -25px -87px; } +.users_accordion li.user_icons_myhw > a:before { background-position: 5px -124px; } +.users_accordion li.user_icons_myhw:hover > a:before, +.users_accordion li.user_icons_myhw:target > a:before, +.users_accordion li.user_icons_myhw > a.active:before { background-position: -25px -124px; } +.users_accordion li.user_icons_project > a:before { background-position: 5px -167px; } +.users_accordion li.user_icons_project:hover > a:before, +.users_accordion li.user_icons_project:target > a:before, +.users_accordion li.user_icons_project > a.active:before { background-position: -25px -167px; } +.users_accordion li.user_icons_addproject > a:before { background-position: 5px -205px; } +.users_accordion li.user_icons_addproject:hover > a:before, +.users_accordion li.user_icons_addproject:target > a:before, +.users_accordion li.user_icons_addproject > a.active:before { background-position: -25px -205px; } +.users_accordion li.user_icons_myissues > a:before { background-position: 5px -246px; } +.users_accordion li.user_icons_myissues:hover > a:before, +.users_accordion li.user_icons_myissues:target > a:before, +.users_accordion li.user_icons_myissues > a.active:before { background-position: -25px -246px; } +.users_accordion li.user_icons_mes > a:before { background-position: 5px -289px; } +.users_accordion li.user_icons_mes:hover > a:before, +.users_accordion li.user_icons_mes:target > a:before, +.users_accordion li.user_icons_mes > a.active:before { background-position: -25px -289px; } +/* Sub Menu */ +.user_sub_menu li a {color: #797979;background: #f8f8f8;height:39px;line-height:39px;font-size:14px;} +.user_sub_menu li a:hover,.user_sub_menu li a:target { color:#3b94d6; background:#fff url(/images/user/user_navmore_icons.png) 0px 0px no-repeat;} +.user_sub_menu li a:hover,.user_sub_menu li a:target{} +.user_sub_menu li:last-child a { } +.users_accordion li > .user_sub_menu {display: none;} +.users_accordion li:target > .user_sub_menu {display: block;} +.user_sub_menu > li > span.user_icons_class {padding:0;border:none;display:block;position: absolute;top:18px;left:10px;width:20px;height:20px;background:url(/images/user/icons_user_leftnav.png) 0px -34px no-repeat;} +a.user_navmorebox{ display:block; width:238px; height:20px; position:relative; background:#f8f8f8;border:1px solid #e5e5e5; border-bottom:none;} +a:hover.user_navmorebox{ background:#fff;} +a.user_navmorebox .user_icons_moreclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) 5px -347px no-repeat;} +a.user_navmorebox .user_icons_closeclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) -25px -347px no-repeat;} +/* 个人主页左侧导航更多功能 */ +.user_navmore_box {position:absolute; width:15px; height:15px; right:13px; top:17px; cursor:pointer;} +.user_navmore_box ul li:hover ul {display:block; } +.user_navmore_icons {background:url(/images/user/icons_user_leftnav.png) -15px -34px no-repeat; width:19px; height:15px; } +.user_navmore_icons:hover {background:url(/images/user/icons_user_leftnav.png) -30px -34px no-repeat;} +.user_navmore_txt { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:115px;} +.user_navmore_txt li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:75px; } +.user_navmore_txt li a.user_navmore_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px; } +.user_navmore_txt li a.user_navmore_add{ width:10px;color:#888; padding:0 5px; } +.user_navmore_txt li:hover,.user_navmore_txt li a:hover{background-color:#f0f0f0;} diff --git a/public/stylesheets/css/user.css.REMOTE.css b/public/stylesheets/css/user.css.REMOTE.css new file mode 100644 index 000000000..5b99b32f2 --- /dev/null +++ b/public/stylesheets/css/user.css.REMOTE.css @@ -0,0 +1,170 @@ +/*新版头部css byLB20161125*/ +.header-new{ height: 50px; width:100%; background:#3b94d6;} +.header-new-nav{ width: 1000px; margin:0 auto; height: 50px; line-height: 50px; background:#3b94d6;} +.header-new-nav-logo{ display: block; width: 51px; height: 45px; background:url(/images/nav_logo.png) 0 3px no-repeat;} +.header-new-nav-left li{ float: left; height: 50px; line-height: 50px;} +.header-new-nav-left li a{ display: block; padding:0 15px; color: #fff; font-size: 14px; font-weight: normal;} +.header-new-nav-left li a:hover{ background: #fff; color: #3b94d6;} +.header-new-nav-left li a.active{ background: #297ebd; color: #fff;} +.header-new-search{ margin-top: 10px; position: relative;} +.header-new-search-input{ width: 280px; height: 30px; background: #fff; padding:0 5px; border:none;} +.icons-header-search{display: block; width: 20px; height: 20px; background:url(/images/hw/icons_hw.png) 0 -56px no-repeat; position: absolute; right: 5px; top:4px;} +.header-new-nav-right li { float: left; padding:0 10px; } +.icons-header-news{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px 0px no-repeat; } +.icons-header-class{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -37px no-repeat; } +.icons-header-project{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -72px no-repeat; } +.header-users{width:40px; height:40px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;} +.content-new {width:1000px; margin:0 auto; background-color:#eaebed;} +.home-user-left-box{width:240px;} +.home-user-right-box{width:750px;} +/*新版主页左侧css byLB20161125*/ +.home-user-leftnav{ background:#fff; width: 238px; border:1px solid #ddd; margin-bottom: 10px;} +.home-user-leftnav h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +.h3-more{ font-size: 12px; color: #888;} +.home-user-leftnav-li{ height: 45px; line-height: 40px; padding-left: 25px; color: #666;background:url(/images/user/home-user-left.png) 5px 5px no-repeat; font-size: 14px; position: relative; } +.home-user-leftnav-li:hover{ background:#f4f4f4 url(/images/user/home-user-left.png) 5px -35px no-repeat;} +.home-user-leftnav-li a:hover{color: #3b94d6;} +.icons-class{background:url(/images/user/home-user-left.png) 5px 5px no-repeat; } +.icons-class:hover{background:url(/images/user/home-user-left.png) 5px -35px no-repeat; } +.icons-project{background:url(/images/user/home-user-left.png) 5px -70px no-repeat; } +.icons-project:hover{background:url(/images/user/home-user-left.png) 5px -105px no-repeat; } +.icons-homework{background:url(/images/user/home-user-left.png) 5px -140px no-repeat; } +.icons-homework:hover{background:url(/images/user/home-user-left.png) 5px -177px no-repeat; } +.icons-doc{background:url(/images/user/home-user-left.png) 5px -215px no-repeat; } +.icons-doc:hover{background:url(/images/user/home-user-left.png) 5px -257px no-repeat; } +.icons-download{background:url(/images/user/home-user-left.png) 5px -292px no-repeat; } +.icons-download:hover{background:url(/images/user/home-user-left.png) 5px -326px no-repeat; } +.icons-issue{background:url(/images/user/home-user-left.png) 5px -360px no-repeat; } +.icons-issue:hover{background:url(/images/user/home-user-left.png) 5px -393px no-repeat; } +.home-user-grey-tag{ display: block; background-color: #eaeaea;padding: 0px 8px; height:20px; line-height:20px;-webkit-border-radius: 15px; -moz-border-radius: 15px; -o-border-radius: 15px; border-radius: 15px; font-size: 12px;} +.user_navmore_txt02 { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:75px;} +.user_navmore_txt02 li a.user_navmore_li {font-size:12px;color:#888; display:block; width:50px;height:24px;line-height:24px; } +.user_navmore_txt02 li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:50px; } +.user_navmore_txt02 li:hover,.user_navmore_txt02 li a:hover{background-color:#f0f0f0;} +/*新版主页个性签名css byLB20161125*/ +.home-user-intro{ width:728px; border:1px solid #ddd; padding:10px; background: #fff;} +.home-user-intro p{ color: #666; font-size: 14px;} +/*新版主页动态css byLB20161125*/ +.home-user-newsbox{width:748px; border:1px solid #ddd; background: #fff;} +.home-user-newsbox h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; } +a.btn-grey-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#dedede; border-radius: 3px;color: #333;} +a.btn-blue-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#3b94d6; border-radius: 3px;color: #fff;} +a:hover.btn-grey-small{background:#d0d0d0; } +a:hover.btn-blue-small{background:#297ebd;} +.home-user-news-list{ padding:10px 10px ;border-bottom:1px dashed #ddd;} +.home-user-news-img img{ width: 40px;height: 40px;margin: 5px 0; border-radius: 50px;} +a.home-user-news-name{ display: inline-block; max-width:200px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; color: #3b94d6;} +.home-user-news-grey{ color: #888;} +.home-user-news-list-inner{ width: 675px;} +.home-user-news-txt{max-width:600px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.home-user-news-del{ height: 20px; display: inline-block; width: 20px; background:url(/images/user/home-user-left.png) 0px -514px no-repeat; } +.home-user-nonews{ width: 200px; margin:100px auto; text-align:center; color:#666; min-height: 350px; } +/*新版发现更多css byLB20161125*/ +.content-new-inner{ width: 998px;border:1px solid #ddd; background: #fff; position: relative;} +.content-new-inner h3{height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; font-size: 14px; background: #f6f6f6;} +.content-faxian-list{border-bottom:1px dashed #ddd; padding:10px 0px; width: 100%;} +a.faxian-list-title{ font-size: 14px; color:#333;max-width:720px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +a:hover.faxian-list-title{ color: #3b94d6;} +.syllabus_class_private {color: #ff4a1b; border: 1px solid #ff4a1b;} +.syllabus_class_property {font-size: 12px; padding: 0 5px; border-radius: 3px;line-height: 14px;} +.syllabus_class_open {color: #7dd26c;border: 1px solid #7dd26c;} +a.pro_new_topbtn{ padding: 3px 7px; font-size: 12px; line-height: 20px; color: #333;vertical-align: middle;background-color: #fff; border: 1px solid #ddd; border-left: 0; border-top-right-radius: 3px; border-bottom-right-radius: 3px; color: #333;} +a.pro_new_topbtn_left { padding: 3px 10px; font-size: 12px;line-height: 20px; background-image: linear-gradient(#fcfcfc, #eee); border: 1px solid #d5d5d5;border-radius: 3px;border-top-right-radius: 0;border-bottom-right-radius: 0; color: #333; } +a:hover.pro_new_topbtn_left{background-image: linear-gradient(#ededed, #dddddd);} +.pro_new_topnav ul{border-bottom: 3px solid #fff; height: 30px; line-height: 30px;} +.pro_new_topnav ul li{ float: left; height: 30px; line-height: 30px;text-align: center; padding:0 15px; } +.pro_new_topnav_active{border-bottom: 3px solid #3b94d6; } +.hw_more_box {position:absolute; width:24px; height:15px; right:15px; top:15px;} +.hw_more_box ul li:hover ul {display:block; } +.hw_more_icons {background:url(/images/hw/icons_hw.png) 0px -30px no-repeat; width:24px; height:15px; } +.hw_more_icons:hover {background:url(/images/hw/icons_hw.png) -40px -30px no-repeat;} +.hw_more_txt {width:75px; font-size:12px; color:#616060; background-color:#fff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-40px; top:15px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000;} +.hw_more_txt li a.hw_more_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px;text-align:center; } +.hw_more_txt li a.hw_more_li:hover {background-color:#f0f0f0;} + + + + +/* 个人主页左侧信息 */ +.user_leftinfo{ width:238px;border:1px solid #e5e5e5; background:#fff url(/images/user/user_bg_info.jpg) 0 0 no-repeat; position:relative; } +a.user_leftinfo_img { display:block; width:80px; height:80px; margin:15px auto;} +.user_leftinfo_img img{ width:74px; height:74px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px; border:3px solid #dcdcdc; } +.user_leftinfo_female{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) 5px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_male{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) -25px -378px no-repeat; position:absolute; top:80px; left:160px;} +.user_leftinfo_namebox{ text-align:center; height:16px; line-height:16px; } +.user_leftinfo_name{ display: inline-block; max-width:160px; font-size:14px; font-weight:bold; overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } +.user_cirbtn_yellow{ color:#fff; background:#ffb400; padding:0 5px;-webkit-border-radius:10px;-moz-border-radius:10px;-o-border-radius:10px;border-radius:10px; line-height:16px; } +.user_info_inner{ width:210px; margin:0 15px 15px;} +.user_atten li{ width:68px; float:left; border-right:1px solid #e5e5e5; text-align:center; font-size:14px;} +.user_atten li a{ color:#333;} +.user_atten li a:hover{ color:#3b94d6;} +.user_atten li:last-child{ border:none;} +.user_info_intro{ margin:10px auto; width:210px; color:#888; text-align: center;} +a.user_editinfo{border-top:1px solid #e5e5e5; height:30px; line-height:30px; text-align:center; color:#3b94d6; width:100%; display:inline-block;} +/* 个人主页左侧导航 */ +.user_leftnav{ width:240px;} +.users_accordion li > a {display: block;padding: 0 10px 0 32px;height:49px;line-height:49px;color: #333;font-size:16px;background: #f8f8f8;border:1px solid #e5e5e5;border-bottom:none;} +.users_accordion > li:hover > a{color: #3b94d6;background: #fff;} +.users_accordion > li:target > a, +.users_accordion > li > a.active {color: #3b94d6;background: #fff;border:1px solid #e5e5e5;border-left:3px solid #3b94d6;border-bottom:none;} +.users_accordion li{ position:relative;} +.users_accordion li > a span {margin-top:15px;font-size:12px;padding: 0 10px;background: #dbdbdb;-webkit-border-radius: 15px;-moz-border-radius: 15px;border-radius: 15px;margin-left:10px;color: #333;} +.users_accordion > li:hover > a span, +.users_accordion > li:target > a span, +.users_accordion > li > a.active span {margin-left:10px;color: #333;background: #dbdbdb;} +/* Images */ +.users_accordion > li > a:before {position: absolute;top: 0;left: 0;content: '';width: 24px;height: 50px;margin: 4px 8px;background-repeat: no-repeat;background-image:url(/images/user/icons_user_leftnav.png);background-position: 5px 15px;} +.users_accordion li.user_icons_course > a:before { background-position: 5px 15px; } +.users_accordion li.user_icons_course:hover > a:before, +.users_accordion li.user_icons_course:target > a:before, +.users_accordion li.user_icons_course > a.active:before { background-position: -25px 15px; } +.users_accordion li.user_icons_new > a:before { background-position: 5px -48px; } +.users_accordion li.user_icons_new:hover > a:before, +.users_accordion li.user_icons_new:target > a:before, +.users_accordion li.user_icons_new > a.active:before { background-position: -25px -48px; } +.users_accordion li.user_icons_addclass > a:before { background-position: 5px -87px; } +.users_accordion li.user_icons_addclass:hover > a:before, +.users_accordion li.user_icons_addclass:target > a:before, +.users_accordion li.user_icons_addclass > a.active:before { background-position: -25px -87px; } +.users_accordion li.user_icons_myhw > a:before { background-position: 5px -124px; } +.users_accordion li.user_icons_myhw:hover > a:before, +.users_accordion li.user_icons_myhw:target > a:before, +.users_accordion li.user_icons_myhw > a.active:before { background-position: -25px -124px; } +.users_accordion li.user_icons_project > a:before { background-position: 5px -167px; } +.users_accordion li.user_icons_project:hover > a:before, +.users_accordion li.user_icons_project:target > a:before, +.users_accordion li.user_icons_project > a.active:before { background-position: -25px -167px; } +.users_accordion li.user_icons_addproject > a:before { background-position: 5px -205px; } +.users_accordion li.user_icons_addproject:hover > a:before, +.users_accordion li.user_icons_addproject:target > a:before, +.users_accordion li.user_icons_addproject > a.active:before { background-position: -25px -205px; } +.users_accordion li.user_icons_myissues > a:before { background-position: 5px -246px; } +.users_accordion li.user_icons_myissues:hover > a:before, +.users_accordion li.user_icons_myissues:target > a:before, +.users_accordion li.user_icons_myissues > a.active:before { background-position: -25px -246px; } +.users_accordion li.user_icons_mes > a:before { background-position: 5px -289px; } +.users_accordion li.user_icons_mes:hover > a:before, +.users_accordion li.user_icons_mes:target > a:before, +.users_accordion li.user_icons_mes > a.active:before { background-position: -25px -289px; } +/* Sub Menu */ +.user_sub_menu li a {color: #797979;background: #f8f8f8;height:39px;line-height:39px;font-size:14px;} +.user_sub_menu li a:hover,.user_sub_menu li a:target { color:#3b94d6; background:#fff url(/images/user/user_navmore_icons.png) 0px 0px no-repeat;} +.user_sub_menu li a:hover,.user_sub_menu li a:target{} +.user_sub_menu li:last-child a { } +.users_accordion li > .user_sub_menu {display: none;} +.users_accordion li:target > .user_sub_menu {display: block;} +.user_sub_menu > li > span.user_icons_class {padding:0;border:none;display:block;position: absolute;top:18px;left:10px;width:20px;height:20px;background:url(/images/user/icons_user_leftnav.png) 0px -34px no-repeat;} +a.user_navmorebox{ display:block; width:238px; height:20px; position:relative; background:#f8f8f8;border:1px solid #e5e5e5; border-bottom:none;} +a:hover.user_navmorebox{ background:#fff;} +a.user_navmorebox .user_icons_moreclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) 5px -347px no-repeat;} +a.user_navmorebox .user_icons_closeclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) -25px -347px no-repeat;} +/* 个人主页左侧导航更多功能 */ +.user_navmore_box {position:absolute; width:15px; height:15px; right:13px; top:17px; cursor:pointer;} +.user_navmore_box ul li:hover ul {display:block; } +.user_navmore_icons {background:url(/images/user/icons_user_leftnav.png) -15px -34px no-repeat; width:19px; height:15px; } +.user_navmore_icons:hover {background:url(/images/user/icons_user_leftnav.png) -30px -34px no-repeat;} +.user_navmore_txt { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:115px;} +.user_navmore_txt li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:75px; } +.user_navmore_txt li a.user_navmore_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px; } +.user_navmore_txt li a.user_navmore_add{ width:10px;color:#888; padding:0 5px; } +.user_navmore_txt li:hover,.user_navmore_txt li a:hover{background-color:#f0f0f0;} diff --git a/public/stylesheets/syllabus.css b/public/stylesheets/syllabus.css index 499e4a336..c38e1bd79 100644 --- a/public/stylesheets/syllabus.css +++ b/public/stylesheets/syllabus.css @@ -289,11 +289,10 @@ a.sy_class_option:hover { } .sy_class_id{ width:94px; - height:70px; + height:94px; border:1px solid #f1f1f1; background:#fff; text-align:center; - padding-top:24px; } .sy_class_id p{ font-size:16px; diff --git a/public/stylesheets/weui/weixin.css b/public/stylesheets/weui/weixin.css index aa4cff972..d8c272b93 100644 --- a/public/stylesheets/weui/weixin.css +++ b/public/stylesheets/weui/weixin.css @@ -1,6 +1,8 @@ @charset "utf-8"; /* CSS Document */ +html, body{ margin:0; height:100%; } + /*基本样式*/ body,table,input,textarea,select,button { font-family: "微软雅黑","宋体","Helvetica Neue", Helvetica, Arial, sans-serif;} body, ul, h1,h2,h3,h4,h5,p,pre,input {padding:0px; margin:0px;} @@ -263,4 +265,25 @@ a.underline {text-decoration:underline;} /*资料修改*/ .blank-row {width:100%; height:38px; line-height:38px; vertical-align:middle;} .upload-input-container {width:30px; height:30px; border:1px solid #ddd; position:relative;} -.upload-input {width:30px; height:30px; position:absolute; z-index:1; opacity:0;} \ No newline at end of file +.upload-input {width:30px; height:30px; position:absolute; z-index:1; opacity:0;} +.select-container {position:relative; padding-left:62px;} +.select-text {position:absolute; left:15px;} +.select-model {width:100%; border:none; color:#999; margin-top:8px;} + + +/*附件显示 20161202byLB*/ +.clear:after{clear:both;content:".";display:block;font-size:0;height:0;line-height:0;visibility:hidden} +.clear{clear:both;zoom:1} +.weixin-files{ width:100%; word-break:break-all; word-wrap: break-word;} +.weixin-files ol{-webkit-padding-start: 0px;} +.weixin-files-img{ border:1px solid #eee; padding:2px; width:50px; margin-bottom:5px;} +/*所有人 20161202byLB*/ +.weixin-users-all{ width:100%; background:#fff;} +.weixin-users-all li{ height:40px; line-height:40px; font-size:14px; color:#888; padding:0 15px; border-bottom:1px solid #ccc;} +.weixin-users-all li:hover{ background:#f4f4f4;} + +/*弹出@选择对话框 guange*/ +.wechat-at {position: absolute; z-index: 999; top: 0; left:0; width: 100%; height: 100%; background-color: #ffffff;} + +/*@页面的取消按钮*/ +.cancel-btn-new {position: absolute; font-size: 13px; height: 24px; line-height: 24px; vertical-align: middle; padding: 0 7px; color: #888; background-color: #fff; outline: none; border: none; top: 11px; right: 10px;} From 93cf24cf41d20a48aa9d1717d85bb6c1bb2fa1e7 Mon Sep 17 00:00:00 2001 From: cxt Date: Mon, 12 Dec 2016 15:57:26 +0800 Subject: [PATCH 14/57] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=8F=90=E9=86=92=E3=80=81=E6=B6=88=E6=81=AF=E5=8A=A8=E6=80=81?= =?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/users/_user_message_course.html.erb | 8 +- app/views/users/_user_message_forge.html.erb | 8 +- app/views/users/show.html.erb | 89 ++++++++++++++----- public/stylesheets/css/structure.css | 5 +- 4 files changed, 79 insertions(+), 31 deletions(-) diff --git a/app/views/users/_user_message_course.html.erb b/app/views/users/_user_message_course.html.erb index 189389444..eb42ccc9f 100644 --- a/app/views/users/_user_message_course.html.erb +++ b/app/views/users/_user_message_course.html.erb @@ -148,8 +148,8 @@ <% end %> -
    •    截止时间快到啦
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • 截止时间快到啦
    • <% end %> @@ -535,8 +535,8 @@

      如需获得最终成绩,请您联系主讲老师对您的作品进行单独评分!

      -
    •   您成功提交了作品(但被标记为迟交啦)
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • 迟交作品
    • <% end %> @@ -827,8 +827,8 @@

      请及时完成班级测验,辛苦啦!

      -
    • 截止时间快到啦
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • 截止时间快到啦
    • <% end %> <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_forge.html.erb b/app/views/users/_user_message_forge.html.erb index b3e058a82..66f7884ba 100644 --- a/app/views/users/_user_message_forge.html.erb +++ b/app/views/users/_user_message_forge.html.erb @@ -82,14 +82,14 @@ <% unless User.current.member_of?(ma.project) %> -
    • +
    • <%=link_to "同意加入", {:controller => 'projects', :action => 'member', :id => ma.project_id, :message_id =>ma.id, :key => ma.secret_key}, :value => ma.secret_key, :class => "green_btn_cir ml10", :style => "color:#fff", :target => '_blank' %>
    • <% end %> -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • <% end %> <% if ma.forge_message_type == "Issue" %> @@ -112,8 +112,8 @@ -
    •    截止时间快到了!
    • -
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • <%= time_tag(ma.created_at).html_safe %>
    • +
    • 截止时间快到啦
    • <% else %>