From e72476949bfc7f37cce7be1087c37939d72fab12 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 17 Jul 2019 18:40:02 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/api.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/api/mobile/api.rb b/app/api/mobile/api.rb index c631d56f..6e9daea1 100644 --- a/app/api/mobile/api.rb +++ b/app/api/mobile/api.rb @@ -140,7 +140,6 @@ module Mobile # Rails.logger.info("########### host is #{request.host}") if (Rails.env.development? && session[:user_id].blank?) || - (session[:user_id].blank? && request.host.include?("testbdweb")) || params[:action] == "privateGit" session[:user_id] = 12 #116 end From 64d37bd7b7468dd8cce4526aea6f2d20f7bcbd18 Mon Sep 17 00:00:00 2001 From: jingquan huang Date: Wed, 17 Jul 2019 18:49:41 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=B5=81=E9=87=8F=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/managements_controller.rb | 9 +++ app/views/layouts/base_management.html.erb | 1 + .../managements/_user_agent_list.html.erb | 66 +++++++++++++++++++ app/views/managements/user_agents.html.erb | 19 ++++++ config/routes.rb | 1 + 5 files changed, 96 insertions(+) create mode 100644 app/views/managements/_user_agent_list.html.erb create mode 100644 app/views/managements/user_agents.html.erb diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb index 3a66aff4..51e13713 100644 --- a/app/controllers/managements_controller.rb +++ b/app/controllers/managements_controller.rb @@ -28,6 +28,15 @@ class ManagementsController < ApplicationController render :json => {status: 1} end + def user_agents + @user_agents = UserAgent.where("user_agents.key is not null") + @agents_count = @user_agents.count + limit = 20 + @agents_pages = Paginator.new @agents_count, limit, params['page'] || 1 + @offset ||= @agents_pages.offset + @user_agents = paginateHelper @user_agents, limit + end + # 实训课程等级体系 def subject_level_system @levels = SubjectLevelSystem.all diff --git a/app/views/layouts/base_management.html.erb b/app/views/layouts/base_management.html.erb index f0fefec5..3392f099 100644 --- a/app/views/layouts/base_management.html.erb +++ b/app/views/layouts/base_management.html.erb @@ -145,6 +145,7 @@
  • <%= link_to "升级通知", update_notice_managements_path %>
  • <%= link_to "门户banner设置", setting_banner_managements_path %>
  • <%= link_to "培训会", training_2018_managements_path %>
  • +
  • <%= link_to "引流情况", user_agents_managements_path %>
  • diff --git a/app/views/managements/_user_agent_list.html.erb b/app/views/managements/_user_agent_list.html.erb new file mode 100644 index 00000000..43886c8d --- /dev/null +++ b/app/views/managements/_user_agent_list.html.erb @@ -0,0 +1,66 @@ + + + + + + + + + + + + + <% @user_agents.each do |ua| %> + <% user = User.find_by_login(ua.key) %> + <% user_extension = user.extensions %> + <% school = user_extension.school %> + + + + + + + + + + <% end %> + +
    ID代理人登录名代理人姓名学校竞赛报名状态ipip负责人
    <%= ua.id %><%= link_to ua.key, user_path(ua.key), :target => "_blank" %><%= link_to user.try(:show_real_name), user_path(user), target:'_blank' %><%= school.name %><%= "--" %><%= ua.ip %><%= "理由" %>
    +
    +
    +
    +
      + <%= pagination_links_full @agents_pages, @agents_count, :per_page_links => false, :flag => true, :is_new => true %> +
    +
    +
    +
    + \ No newline at end of file diff --git a/app/views/managements/user_agents.html.erb b/app/views/managements/user_agents.html.erb new file mode 100644 index 00000000..d29e7bec --- /dev/null +++ b/app/views/managements/user_agents.html.erb @@ -0,0 +1,19 @@ +<%= form_tag(url_for(departments_part_managements_path),:id=>"department_part_search",:method => "post",:remote=>true) do %> +
    + + 搜索 + 清除 + <%= link_to "关联代理人",add_departments_part_managements_path(),:class => "task-btn task-btn-green fr mt6 mr30" %> + +
    +<% end %> +
    + <%= render :partial => "managements/user_agent_list" %> +
    + \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index a92555c1..427b4744 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -537,6 +537,7 @@ RedmineApp::Application.routes.draw do ## oauth相关 resources :managements do collection do + get 'user_agents' get 'evaluate_simple' get 'hidden_course' match 'training_2018',:via=>[:get,:post] From e17dabc2d468a9b700934c374662a4b2082d6fda Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Wed, 17 Jul 2019 18:54:52 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E6=95=99=E5=AD=A6=E6=A1=88=E4=BE=8B?= =?UTF-8?q?=E7=9A=84=E5=B0=81=E9=9D=A2=E5=9B=BE=E7=89=87=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/application_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 39298061..3145308c 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -4381,7 +4381,7 @@ module ApplicationHelper elsif attachment.container_type == "Bid" && attachment.container && attachment.container.courses course = attachment.container.courses.first candown = User.current.member_of_course?(attachment.container.courses.first) || (course.is_public == 1 && attachment.is_public == 1) - elsif attachment.container_type == "Library" #教学案例允许下载 + elsif attachment.container_type == "Library" || attachment.container.class.to_s == "Library" #教学案例允许下载 candown = true elsif attachment.container_type == "ProjectPackage" #教学案例允许下载 candown = true From 243de8ed7e5a23f84bd9953198aa69f00053e195 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 17 Jul 2019 18:56:02 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E6=B3=A8=E5=86=8C=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/memos.rb | 4 ++-- app/controllers/account_controller.rb | 4 ++++ app/controllers/competition_teams_controller.rb | 6 ++---- app/services/users_service.rb | 4 ---- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/app/api/mobile/apis/memos.rb b/app/api/mobile/apis/memos.rb index 98597f85..4e8f4f97 100644 --- a/app/api/mobile/apis/memos.rb +++ b/app/api/mobile/apis/memos.rb @@ -33,9 +33,9 @@ module Mobile if params[:edu] Rails.logger.info("####11111222##{@env['HTTP_X_REAL_IP']}") ip = @env['HTTP_X_REAL_IP'] - ua = UserAgent.where(:ip => ip, :type => UserAgent::AD) + ua = UserAgent.where(:ip => ip) unless ua - UserAgent.create(:key => params[:edu].strip, :ip => ip, :type => UserAgent::AD) + UserAgent.create!(:key => params[:edu].strip, :ip => ip, :type => UserAgent::AD) end end MemosService.new.show params, current_user diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index 068996b0..849999da 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -377,6 +377,10 @@ class AccountController < ApplicationController else us = UsersService.new @user = us.register user_params.merge(:should_confirmation_password => false) + # 注册时,记录是否是引流用户 + ip = @env['HTTP_X_REAL_IP'] + ua = UserAgent.find_by_id(:ip => ip) + ua.update_column(:type, UserAgent::REGISTER) if ua if !@user.new_record? self.logged_user = @user flash[:notice] = l(:notice_account_activated) diff --git a/app/controllers/competition_teams_controller.rb b/app/controllers/competition_teams_controller.rb index f180bc06..a269d71e 100644 --- a/app/controllers/competition_teams_controller.rb +++ b/app/controllers/competition_teams_controller.rb @@ -349,9 +349,7 @@ class CompetitionTeamsController < ApplicationController def record_agent_user_action # 注册时,记录是否是引流用户 ip = @env['HTTP_X_REAL_IP'] - ua = UserAgent.where(:ip => ip, :type => UserAgent::AD).take - if ua && UserAgent.where(:ip => ip, :type => UserAgent::COMPETITION).blank? - UserAgent.create(:key => ua.key, :ip => ip, :type => UserAgent::COMPETITION, :user_id => User.current.id) - end + ua = UserAgent.find_by_id(:ip => ip) + ua.update_column(:type, UserAgent::COMPETITION) if ua end end diff --git a/app/services/users_service.rb b/app/services/users_service.rb index 17ce88c0..d60de29c 100644 --- a/app/services/users_service.rb +++ b/app/services/users_service.rb @@ -136,10 +136,6 @@ class UsersService ue = @user.user_extensions ||= UserExtensions.new ue.user_id = @user.id ue.save - # 注册时,记录是否是引流用户 - ip = @env['HTTP_X_REAL_IP'] - ua = UserAgent.where(:ip => ip, :type => UserAgent::AD).take - UserAgent.create(:key => ua.key, :ip => ip, :type => UserAgent::REGISTER, :user_id => @user.id) if ua end @user #img_url = url_to_avatar(@user) From a89d34cc5f8740ba3b7f7ed3b47b49852134fb7a Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Wed, 17 Jul 2019 19:05:37 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/application_helper.rb | 2 +- app/views/libraries/_library_list.html.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 3145308c..39298061 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -4381,7 +4381,7 @@ module ApplicationHelper elsif attachment.container_type == "Bid" && attachment.container && attachment.container.courses course = attachment.container.courses.first candown = User.current.member_of_course?(attachment.container.courses.first) || (course.is_public == 1 && attachment.is_public == 1) - elsif attachment.container_type == "Library" || attachment.container.class.to_s == "Library" #教学案例允许下载 + elsif attachment.container_type == "Library" #教学案例允许下载 candown = true elsif attachment.container_type == "ProjectPackage" #教学案例允许下载 candown = true diff --git a/app/views/libraries/_library_list.html.erb b/app/views/libraries/_library_list.html.erb index 2b142b44..fc0e6e62 100644 --- a/app/views/libraries/_library_list.html.erb +++ b/app/views/libraries/_library_list.html.erb @@ -2,7 +2,7 @@ <% if @libraries.present? %> <% @libraries.each do |library| %>
  • - <% image_url = library.cover.present? ? named_attachment_path(library.cover.id, library.cover.filename) : 'educoder/library-default-cover.png' %> + <% image_url = library.cover.present? ? download_attachment_path(library.cover.id) : 'educoder/library-default-cover.png' %> <%= image_tag(image_url, width: 120, height: 90, class: 'mr15 mt3 radius4') %>

    From 396a6eb5fcf26c860256a4c648faa16d1cfa3ea2 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 17 Jul 2019 19:06:26 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E6=8A=A5=E5=90=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/memos.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/api/mobile/apis/memos.rb b/app/api/mobile/apis/memos.rb index 4e8f4f97..89412316 100644 --- a/app/api/mobile/apis/memos.rb +++ b/app/api/mobile/apis/memos.rb @@ -34,7 +34,7 @@ module Mobile Rails.logger.info("####11111222##{@env['HTTP_X_REAL_IP']}") ip = @env['HTTP_X_REAL_IP'] ua = UserAgent.where(:ip => ip) - unless ua + if ua.blank? UserAgent.create!(:key => params[:edu].strip, :ip => ip, :type => UserAgent::AD) end end From f300ff1ae0341815d9dda98fdddab6ebfb8f8887 Mon Sep 17 00:00:00 2001 From: p31729568 Date: Wed, 17 Jul 2019 19:07:03 +0800 Subject: [PATCH 7/9] fix not method id --- app/api/mobile/entities/project_package.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/api/mobile/entities/project_package.rb b/app/api/mobile/entities/project_package.rb index 278e9b85..50d4ff69 100644 --- a/app/api/mobile/entities/project_package.rb +++ b/app/api/mobile/entities/project_package.rb @@ -17,8 +17,8 @@ module Mobile expose :bidding_users_count, if: { type: :index } expose :min_price expose :max_price - expose :contact_name, if: ->(package, opts){ opts[:user].id == package.creator_id || opts[:user].admin? || opts[:user].business? } - expose :contact_phone, if: ->(package, opts){ opts[:user].id == package.creator_id || opts[:user].admin? || opts[:user].business? } + expose :contact_name, if: ->(package, opts){ opts[:user].present? && (opts[:user].id == package.creator_id || opts[:user].admin? || opts[:user].business?) } + expose :contact_phone, if: ->(package, opts){ opts[:user].present? && (opts[:user].id == package.creator_id || opts[:user].admin? || opts[:user].business?) } expose :updated_at do |package, _| package.updated_at.strftime('%Y-%m-%d %H:%M:%S') @@ -65,6 +65,7 @@ module Mobile expose :operation, if: { type: :show } do |package, opts| user = opts[:user] + return {} if user.blank? is_creator = user.id == package.creator_id is_admin = user.admin? || user.business? From 2b9bd22f254ced70aab32d13e74ad2e544bdcaab Mon Sep 17 00:00:00 2001 From: jingquan huang Date: Wed, 17 Jul 2019 19:10:34 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E4=BC=97=E5=8C=85=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/project_packages_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/project_packages_controller.rb b/app/controllers/project_packages_controller.rb index fe2c1c13..6721c1c4 100644 --- a/app/controllers/project_packages_controller.rb +++ b/app/controllers/project_packages_controller.rb @@ -1,7 +1,7 @@ # encoding=utf-8 # For react class ProjectPackagesController < ApplicationController - before_filter :require_login, :except => [:index] + before_filter :require_login, :except => [:index, :show] include ApplicationHelper From d50486693b292eec2df3790a3e07b1cb519af513 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 17 Jul 2019 19:14:54 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E6=8A=A5=E5=90=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/account_controller.rb | 2 +- app/controllers/competition_teams_controller.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index 849999da..d362cde3 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -378,7 +378,7 @@ class AccountController < ApplicationController us = UsersService.new @user = us.register user_params.merge(:should_confirmation_password => false) # 注册时,记录是否是引流用户 - ip = @env['HTTP_X_REAL_IP'] + ip = request.remote_ip ua = UserAgent.find_by_id(:ip => ip) ua.update_column(:type, UserAgent::REGISTER) if ua if !@user.new_record? diff --git a/app/controllers/competition_teams_controller.rb b/app/controllers/competition_teams_controller.rb index a269d71e..092426ef 100644 --- a/app/controllers/competition_teams_controller.rb +++ b/app/controllers/competition_teams_controller.rb @@ -348,7 +348,7 @@ class CompetitionTeamsController < ApplicationController def record_agent_user_action # 注册时,记录是否是引流用户 - ip = @env['HTTP_X_REAL_IP'] + ip = request.remote_ip ua = UserAgent.find_by_id(:ip => ip) ua.update_column(:type, UserAgent::COMPETITION) if ua end