From 844303ae7cccf80964d89c3ebbf1c19850173ab6 Mon Sep 17 00:00:00 2001 From: Miha Mencin Date: Fri, 1 Mar 2019 17:47:04 +0100 Subject: [PATCH] SCI-3119 schedule the creaton of template --- app/controllers/users/sessions_controller.rb | 1 + app/models/team.rb | 2 ++ app/services/templates_service.rb | 10 ++++++++++ 3 files changed, 13 insertions(+) diff --git a/app/controllers/users/sessions_controller.rb b/app/controllers/users/sessions_controller.rb index 07437e74d..4e59b097e 100644 --- a/app/controllers/users/sessions_controller.rb +++ b/app/controllers/users/sessions_controller.rb @@ -47,6 +47,7 @@ class Users::SessionsController < Devise::SessionsController def after_sign_in flash[:system_notification_modal] = true + TemplatesService.new.schedule_creation_for_user(current_user) end protected diff --git a/app/models/team.rb b/app/models/team.rb index dd1fa2464..12b7cefd8 100644 --- a/app/models/team.rb +++ b/app/models/team.rb @@ -41,6 +41,8 @@ class Team < ApplicationRecord attr_accessor :without_intro_demo after_create :generate_intro_demo + scope :without_templates, -> { includes(:projects).where("projects.template": nil) } + def default_view_state { 'projects' => { 'cards' => { 'sort' => 'new' }, diff --git a/app/services/templates_service.rb b/app/services/templates_service.rb index a6a025ffc..3235cd4ca 100644 --- a/app/services/templates_service.rb +++ b/app/services/templates_service.rb @@ -55,4 +55,14 @@ class TemplatesService end [updated_counter, processed_counter] end + + def schedule_creation_for_user(user) + user.teams.each do |team| + unless team.projects.where(template: true).any? + TemplatesService.new.delay( + queue: :templates + ).update_team(team) + end + end + end end