Skip to content

Commit

Permalink
Add missing parentheses to custom sql queries for fields
Browse files Browse the repository at this point in the history
note: redimne default implemenation always uses parentheses
  • Loading branch information
arBmind committed Mar 20, 2024
1 parent ec937a4 commit 5fed4f7
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 11 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -32,6 +32,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

### Fixed
- Asset compilation for Redmine images
- Added missing query parentheses

## [1.2.0] - 2023-02-21

Expand Down
2 changes: 1 addition & 1 deletion app/models/concerns/hourglass/query_base.rb
Expand Up @@ -102,7 +102,7 @@ def date_value(entry)
end

def sql_for_date_field(field, operator, value)
sql_for_field(field, operator, value, queried_class.table_name, 'start')
'(' + sql_for_field(field, operator, value, queried_class.table_name, 'start') + ')'
end

def sql_for_field(field, operator, value, db_table, db_field, is_custom_filter=false)
Expand Down
12 changes: 6 additions & 6 deletions app/models/hourglass/time_booking_query.rb
Expand Up @@ -58,27 +58,27 @@ def base_scope
end

def sql_for_user_id_field(field, operator, value)
sql_for_field(field, operator, value, User.table_name, 'id')
'(' + sql_for_field(field, operator, value, User.table_name, 'id') + ')'
end

def sql_for_project_id_field(field, operator, value)
sql_for_field(field, operator, value, Project.table_name, 'id')
'(' + sql_for_field(field, operator, value, Project.table_name, 'id') + ')'
end

def sql_for_issue_id_field(field, operator, value)
sql_for_field(field, operator, value, Issue.table_name, 'id')
'(' + sql_for_field(field, operator, value, Issue.table_name, 'id') + ')'
end

def sql_for_issue_subject_field(field, operator, value)
sql_for_field(field, operator, value, Issue.table_name, 'subject')
'(' + sql_for_field(field, operator, value, Issue.table_name, 'subject') + ')'
end

def sql_for_fixed_version_id_field(field, operator, value)
sql_for_field(field, operator, value, Issue.table_name, 'fixed_version_id')
'(' + sql_for_field(field, operator, value, Issue.table_name, 'fixed_version_id') + ')'
end

def sql_for_comments_field(field, operator, value)
sql_for_field(field, operator, value, TimeEntry.table_name, 'comments', true)
'(' + sql_for_field(field, operator, value, TimeEntry.table_name, 'comments', true) + ')'
end

def sql_for_activity_id_field(field, operator, value)
Expand Down
4 changes: 2 additions & 2 deletions app/models/hourglass/time_log_query.rb
Expand Up @@ -45,11 +45,11 @@ def base_scope

def sql_for_booked_field(field, operator, _value)
operator_to_use = operator == '=' ? '*' : '!*'
sql_for_field(field, operator_to_use, nil, TimeBooking.table_name, 'id')
'(' + sql_for_field(field, operator_to_use, nil, TimeBooking.table_name, 'id') + ')'
end

def sql_for_comments_field(field, operator, value)
sql_for_field(field, operator, value, TimeLog.table_name, 'comments', true)
'(' + sql_for_field(field, operator, value, TimeLog.table_name, 'comments', true) + ')'
end

def total_for_hours(scope)
Expand Down
4 changes: 2 additions & 2 deletions app/models/hourglass/time_tracker_query.rb
Expand Up @@ -55,7 +55,7 @@ def base_scope
end

def sql_for_fixed_version_id_field(field, operator, value)
sql_for_field(field, operator, value, Issue.table_name, 'fixed_version_id')
'(' + sql_for_field(field, operator, value, Issue.table_name, 'fixed_version_id') + ')'
end

def sql_for_custom_field(*args)
Expand All @@ -67,7 +67,7 @@ def sql_for_custom_field(*args)
end

def sql_for_comments_field(field, operator, value)
sql_for_field(field, operator, value, TimeTracker.table_name, 'comments', true)
'(' + sql_for_field(field, operator, value, TimeTracker.table_name, 'comments', true) + ')'
end

def has_through_associations
Expand Down

0 comments on commit 5fed4f7

Please sign in to comment.