Merge branch 'release/8.2' into dev

pull/6985/head
Jens Ulferts 6 years ago
commit 9be180f423
No known key found for this signature in database
GPG Key ID: 3CAA4B1182CF5308
  1. 15
      app/assets/stylesheets/content/_attributes_key_value.sass
  2. 11
      app/assets/stylesheets/content/_table.sass
  3. 9
      app/assets/stylesheets/content/editor/_ckeditor.sass
  4. 6
      app/assets/stylesheets/content/work_packages/single_view/_single_view.sass
  5. 6
      app/assets/stylesheets/content/work_packages/timelines/_timelines_header.sass
  6. 2
      app/assets/stylesheets/layout/work_packages/_mobile.sass
  7. 2
      app/cells/members/table_cell.rb
  8. 2
      app/controllers/account_controller.rb
  9. 2
      app/controllers/application_controller.rb
  10. 5
      app/controllers/messages_controller.rb
  11. 2
      app/models/enumeration.rb
  12. 2
      app/models/user.rb
  13. 4
      app/workers/extract_fulltext_job.rb
  14. 5
      frontend/src/app/globals/browser-specific-flags.ts
  15. 4
      modules/reporting/app/models/cost_query/filter/assigned_to_id.rb
  16. 2
      modules/reporting/app/models/cost_query/filter/author_id.rb
  17. 3
      packaging/scripts/backup

@ -27,19 +27,17 @@
//++
.attributes-key-value
@include grid-block
@include grid-layout(2)
@include grid-visible-overflow
display: flex
flex-wrap: wrap
font-size: 0.875rem
line-height: 1.6
.attributes-key-value--key
@extend .form--label
@include grid-size(4)
@include text-shortener
display: flex
flex: 1 0 35%
margin-bottom: 0.1875rem
padding: 0.375rem 0 !important
padding: 0.375rem 0
font-weight: bold
// Ensure that the text is shortened while the help icon will be displayed
> wp-replacement-label
@ -47,12 +45,11 @@
flex: 0 1 auto
.attributes-key-value--value-container
@include grid-content(8)
@include grid-visible-overflow
display: flex
flex: 1 0 65%
margin-bottom: 0.1875rem
padding: 0 !important
align-self: center
overflow: hidden
&.not-editable
padding: 6px

@ -195,12 +195,11 @@ table.generic-table
margin: 0
// Enable sticky headers in chrome
html.-supports-sticky-headers
thead.-sticky th
position: sticky
top: 0
background: white
// Enable sticky headers
thead.-sticky th
position: sticky
top: 0
background: white
.generic-table--footer-outer

@ -59,3 +59,12 @@
.ck.ck-block-toolbar-button
transform: translateX( -15px )
z-index: 1000 !important
// Override fixed position of toolbar
// Otherwise the toolbar will 'disappear' behind the topmenu
.ck.ck-sticky-panel__placeholder
height: 0 !important
.ck.ck-sticky-panel__content
position: unset !important

@ -194,11 +194,9 @@ i
// (b) ugly content wrap (e.g. in the label)
// These values are what matches best at the moment. So be careful when changing them.
.attributes-key-value--key
flex: 0 0 45%
max-width: 45%
flex: 1 0 45%
.attributes-key-value--value-container
flex: 0 0 55%
max-width: 55%
flex: 1 0 55%
// Implement two column layout for WP full screen view
@media screen and (min-width: 92rem), print

@ -1,4 +1,7 @@
.wp-table-timeline--header
// In Safari custom elements have width and height 0 per default
// That is why position: sticky in its children won't work
wp-timeline-header
display: block
height: $generic-table--header-height
width: 100%
position: sticky
@ -39,4 +42,3 @@
font-weight: bold
font-size: 11px
height: 15px

@ -86,7 +86,6 @@
.attributes-key-value--key,
.attributes-key-value--value-container
@include grid-size(6)
font-size: 1rem
margin-bottom: 20px
@ -97,6 +96,7 @@
border: none
.attributes-key-value--key
flex-basis: 30% !important
padding: 0 !important
.work-packages--panel-inner > .attributes-group:first-child

@ -38,7 +38,7 @@ module Members
end
def fix_groups_order(sort_clause)
sort_clause.gsub /groups/, "groups.group_name"
sort_clause.gsub /groups/, "groupalias.group_name"
end
def fix_roles_order(sort_clause)

@ -93,7 +93,7 @@ class AccountController < ApplicationController
render template: 'account/password_recovery'
elsif request.post?
mail = params[:mail]
user = User.find_by_mail(mail)
user = User.find_by_mail(mail) if mail.present?
# Ensure the same request is sent regardless of which email is entered
# to avoid detecability of mails

@ -644,7 +644,7 @@ class ApplicationController < ActionController::Base
self.logged_user = nil
flash[:warning] = I18n.t('notice_forced_logout', ttl_time: Setting.session_ttl)
redirect_to(controller: 'account', action: 'login', back_url: login_back_url)
redirect_to(controller: '/account', action: 'login', back_url: login_back_url)
end
session[:updated_at] = Time.now
end

@ -152,9 +152,8 @@ class MessagesController < ApplicationController
content << text.to_s.strip.gsub(%r{<pre>((.|\s)*?)</pre>}m, '[...]').gsub('"', '\"').gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n"
respond_to do |format|
format.json do
render json: { subject: subject, content: content }
end
format.json { render json: { subject: subject, content: content } }
format.any { head :not_acceptable }
end
end
end

@ -141,7 +141,7 @@ class Enumeration < ActiveRecord::Base
# Does the +new+ Hash have the same custom values as the previous Enumeration?
def self.same_custom_values?(new, previous)
previous.custom_field_values.each do |custom_value|
if custom_value.value != new['custom_field_values'][custom_value.custom_field_id.to_s]
if new && custom_value.value != new['custom_field_values'][custom_value.custom_field_id.to_s]
return false
end
end

@ -759,7 +759,7 @@ class User < Principal
def self.mail_regexp(mail)
separators = Regexp.escape(Setting.mail_suffix_separators)
recipient, domain = mail.split('@').map { |part| Regexp.escape(part) }
skip_suffix_check = Setting.mail_suffix_separators.empty? || recipient.match?(/.+[#{separators}].+/)
skip_suffix_check = recipient.nil? || Setting.mail_suffix_separators.empty? || recipient.match?(/.+[#{separators}].+/)
regexp = "#{recipient}([#{separators}][^@]+)*@#{domain}"
[skip_suffix_check, regexp]

@ -62,7 +62,7 @@ class ExtractFulltextJob < ApplicationJob
end
rescue => e
Rails.logger.error(
"Failed to extract plaintext from file #{@attachment.id} (On domain #{Setting.host_name}): #{e}: #{e.message}"
"Failed to extract plaintext from file #{@attachment&.id} (On domain #{Setting.host_name}): #{e}: #{e.message}"
)
end
end
@ -83,7 +83,7 @@ class ExtractFulltextJob < ApplicationJob
end
def remote_file?
!@attachment.file.is_a?(LocalFileUploader)
!@attachment&.file.is_a?(LocalFileUploader)
end
def delete_file?

@ -29,10 +29,6 @@
jQuery(function() {
const doc = document.documentElement!;
if (bowser.chrome && bowser.version >= '58' || bowser.firefox && bowser.version >= '59') {
doc.classList.add('-supports-sticky-headers');
}
if (bowser.chrome) {
doc.classList.add('-browser-chrome');
}
@ -61,4 +57,3 @@ jQuery(function() {
doc.classList.add('-browser-mobile');
}
});

@ -25,4 +25,8 @@ class CostQuery::Filter::AssignedToId < CostQuery::Filter::UserId
def self.label
WorkPackage.human_attribute_name(:assigned_to)
end
def self.available_values(*)
CostQuery::Filter::UserId.available_values
end
end

@ -17,7 +17,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#++
class CostQuery::Filter::AuthorId < Report::Filter::Base
class CostQuery::Filter::AuthorId < CostQuery::Filter::UserId
join_table WorkPackage
applies_for :label_work_package_attributes

@ -25,10 +25,11 @@ dump_mysql() {
ruby -ruri -rcgi -e '
uri = URI(ENV["DATABASE_URL"])
password = CGI.unescape(uri.password || "")
params = CGI.parse(uri.query || "")
config=<<CONFIG
[client]
password="#{uri.password}"
password="#{password}"
user="#{uri.user}"
host="#{uri.host}"
port="#{uri.port}"

Loading…
Cancel
Save