Skip to content
Permalink
Browse files

Release OpenProject 8.3.1

  • Loading branch information...
oliverguenther committed Mar 15, 2019
2 parents 276bc7c + 368c1db commit a233c1c87c86b835fad7c5255b1d6b5f4f456abb
Showing with 1,928 additions and 1,771 deletions.
  1. +49 −38 Dockerfile
  2. +0 −39 Dockerfile.public
  3. +7 −4 Gemfile
  4. +69 −62 Gemfile.lock
  5. +3 −0 app/assets/stylesheets/openproject/_generic.sass
  6. +141 −80 app/controllers/search_controller.rb
  7. +9 −2 app/controllers/work_packages_controller.rb
  8. +0 −20 app/helpers/search_helper.rb
  9. +40 −16 app/models/custom_actions/conditions/role.rb
  10. +1 −2 app/models/mail_handler.rb
  11. +19 −4 app/models/queries/work_packages/filter/attachment_base_filter.rb
  12. +16 −4 app/models/queries/work_packages/filter/comment_filter.rb
  13. +4 −0 app/models/queries/work_packages/filter/or_filter_for_wp_mixin.rb
  14. +8 −2 app/models/queries/work_packages/filter/search_filter.rb
  15. +63 −0 app/models/queries/work_packages/filter/text_filter_on_join_mixin.rb
  16. +6 −1 app/models/query.rb
  17. +14 −1 app/models/query/results.rb
  18. +1 −1 app/views/homescreen/index.html.erb
  19. +1 −1 app/views/projects/form/attributes/_name.html.erb
  20. +11 −4 app/views/search/index.html.erb
  21. +0 −10 app/views/settings/_mail_handler.html.erb
  22. +7 −17 spec/views/search/index.html.erb_spec.rb → config/initializers/05-null_db_fallback.rb
  23. +31 −0 config/initializers/30-open_project_loading.rb
  24. +13 −5 config/initializers/homescreen.rb
  25. +1 −2 config/initializers/{30-redmine.rb → locale_fallbacks.rb}
  26. +10 −8 config/locales/crowdin/af.yml
  27. +56 −58 config/locales/crowdin/ar.yml
  28. +6 −4 config/locales/crowdin/az.yml
  29. +6 −4 config/locales/crowdin/bg.yml
  30. +9 −7 config/locales/crowdin/ca.yml
  31. +28 −26 config/locales/crowdin/cs.yml
  32. +9 −7 config/locales/crowdin/da.yml
  33. +6 −4 config/locales/crowdin/de.yml
  34. +6 −4 config/locales/crowdin/el.yml
  35. +157 −149 config/locales/crowdin/es.yml
  36. +23 −22 config/locales/crowdin/et.yml
  37. +34 −32 config/locales/crowdin/fa.yml
  38. +9 −7 config/locales/crowdin/fi.yml
  39. +6 −4 config/locales/crowdin/fil.yml
  40. +6 −4 config/locales/crowdin/fr.yml
  41. +14 −12 config/locales/crowdin/he.yml
  42. +10 −8 config/locales/crowdin/hi.yml
  43. +8 −6 config/locales/crowdin/hr.yml
  44. +7 −5 config/locales/crowdin/hu.yml
  45. +5 −3 config/locales/crowdin/id.yml
  46. +7 −5 config/locales/crowdin/it.yml
  47. +18 −21 config/locales/crowdin/ja.yml
  48. +3 −3 config/locales/crowdin/js-af.yml
  49. +4 −4 config/locales/crowdin/js-ar.yml
  50. +2 −2 config/locales/crowdin/js-ca.yml
  51. +1 −1 config/locales/crowdin/js-cs.yml
  52. +2 −2 config/locales/crowdin/js-da.yml
  53. +16 −16 config/locales/crowdin/js-es.yml
  54. +17 −17 config/locales/crowdin/js-et.yml
  55. +3 −3 config/locales/crowdin/js-fa.yml
  56. +2 −2 config/locales/crowdin/js-fi.yml
  57. +2 −2 config/locales/crowdin/js-fr.yml
  58. +3 −3 config/locales/crowdin/js-he.yml
  59. +1 −1 config/locales/crowdin/js-hi.yml
  60. +3 −3 config/locales/crowdin/js-hr.yml
  61. +1 −1 config/locales/crowdin/js-id.yml
  62. +9 −9 config/locales/crowdin/js-ja.yml
  63. +14 −14 config/locales/crowdin/js-lol.yml
  64. +3 −3 config/locales/crowdin/js-lt.yml
  65. +45 −45 config/locales/crowdin/js-lv.yml
  66. +6 −6 config/locales/crowdin/js-no.yml
  67. +3 −3 config/locales/crowdin/js-pl.yml
  68. +14 −14 config/locales/crowdin/js-ru.yml
  69. +3 −3 config/locales/crowdin/js-sk.yml
  70. +1 −1 config/locales/crowdin/js-sv-SE.yml
  71. +12 −12 config/locales/crowdin/js-th.yml
  72. +31 −31 config/locales/crowdin/js-tr.yml
  73. +2 −2 config/locales/crowdin/js-uk.yml
  74. +3 −3 config/locales/crowdin/js-vi.yml
  75. +5 −3 config/locales/crowdin/ko.yml
  76. +20 −18 config/locales/crowdin/lol.yml
  77. +8 −6 config/locales/crowdin/lt.yml
  78. +116 −114 config/locales/crowdin/lv.yml
  79. +6 −4 config/locales/crowdin/nl.yml
  80. +27 −25 config/locales/crowdin/no.yml
  81. +15 −13 config/locales/crowdin/pl.yml
  82. +15 −13 config/locales/crowdin/pt-BR.yml
  83. +6 −4 config/locales/crowdin/pt.yml
  84. +11 −9 config/locales/crowdin/ro.yml
  85. +48 −46 config/locales/crowdin/ru.yml
  86. +11 −9 config/locales/crowdin/sk.yml
  87. +9 −7 config/locales/crowdin/sv-SE.yml
  88. +12 −10 config/locales/crowdin/th.yml
  89. +28 −26 config/locales/crowdin/tr.yml
  90. +14 −12 config/locales/crowdin/uk.yml
  91. +6 −4 config/locales/crowdin/vi.yml
  92. +4 −2 config/locales/crowdin/zh-TW.yml
  93. +5 −3 config/locales/crowdin/zh.yml
  94. +2 −2 config/locales/en.yml
  95. +0 −2 config/settings.yml
  96. +0 −3 docker/Procfile
  97. +3 −0 docker/console
  98. +45 −5 docker/entrypoint.sh
  99. +0 −212 docker/nginx.conf.erb
  100. +18 −0 docker/precompile-assets.sh
  101. +1 −1 docker/proxy
  102. +1 −1 docker/proxy.conf.erb
  103. +29 −26 docker/{entrypoint-all-in-one.sh → supervisord}
  104. +40 −23 docker/supervisord.conf
  105. +0 −161 docker/wait-for-it.sh
  106. +0 −1 docker/web
  107. +12 −0 docs/configuration/configuration.md
  108. +1 −0 frontend/src/app/components/op-modals/op-modal.component.ts
  109. +1 −1 frontend/src/app/components/op-modals/op-modal.service.ts
  110. +10 −10 frontend/src/app/components/wp-buttons/wp-timeline-toggle-button/wp-timeline-toggle-button.html
  111. +18 −9 frontend/src/app/components/wp-table/embedded/wp-embedded-table.component.ts
  112. +2 −1 frontend/src/app/components/wp-table/timeline/header/wp-timeline-header.directive.ts
  113. +12 −22 frontend/src/app/modules/global_search/global-search-work-packages.component.ts
  114. +4 −4 frontend/src/app/modules/hal/helpers/hal-resource-builder.ts
  115. +3 −0 lib/api/v3/work_packages/work_package_eager_loading_wrapper.rb
  116. +0 −1 lib/open_project.rb
  117. +10 −2 lib/open_project/configuration.rb
  118. +11 −6 lib/open_project/database.rb
  119. +68 −0 lib/open_project/null_db_fallback.rb
  120. +33 −1 lib/open_project/static/links.rb
  121. +1 −1 lib/open_project/version.rb
  122. +7 −0 lib/redmine/menu_manager/top_menu/help_menu.rb
  123. +7 −1 modules/auth_saml/lib/open_project/auth_saml/engine.rb
  124. +1 −1 modules/avatars/lib/open_project/avatars/patches/avatar_helper_patch.rb
  125. +1 −1 modules/costs/app/controllers/costlog_controller.rb
  126. +9 −1 modules/costs/app/views/cost_objects/_show_variable_cost_object.html.erb
  127. +2 −3 modules/costs/lib/open_project/costs/hooks/work_packages_show_attributes.rb
  128. +2 −2 modules/reporting_engine/lib/widget/table/report_table.rb
  129. +3 −3 spec/controllers/search_controller_spec.rb
  130. +0 −9 spec/helpers/search_helper_spec.rb
  131. +8 −0 spec/lib/database_spec.rb
  132. +20 −0 spec/models/mail_handler_spec.rb
  133. +1 −1 spec/models/queries/work_packages/filter/attachment_content_filter_spec.rb
  134. +7 −5 spec/models/queries/work_packages/filter/search_filter_spec.rb
  135. +9 −0 spec/models/query_spec.rb
@@ -1,74 +1,85 @@
FROM ruby:2.6-stretch
MAINTAINER operations@openproject.com

ENV NODE_VERSION="10.15.0"
ENV BUNDLER_VERSION="2.0.1"
ENV NODE_VERSION "10.15.0"
ENV BUNDLER_VERSION "2.0.1"
ENV APP_USER app
ENV APP_PATH /usr/src/app
ENV APP_DATA /var/db/openproject
ENV ATTACHMENTS_STORAGE_PATH /var/db/openproject/files
ENV APP_PATH /app
ENV APP_DATA_PATH /var/openproject/assets
ENV APP_DATA_PATH_LEGACY /var/db/openproject
ENV PGDATA /var/openproject/pgdata
ENV PGDATA_LEGACY /var/lib/postgresql/9.6/main

ENV DATABASE_URL postgres://openproject:openproject@127.0.0.1/openproject
ENV RAILS_ENV production
ENV HEROKU true
ENV RAILS_CACHE_STORE memcache
ENV OPENPROJECT_INSTALLATION__TYPE docker
ENV NEW_RELIC_AGENT_ENABLED false
ENV ATTACHMENTS_STORAGE_PATH $APP_DATA_PATH/files

# Set a default key base, ensure to provide a secure value in production environments!
ENV SECRET_KEY_BASE=OVERWRITE_ME
ENV SECRET_KEY_BASE OVERWRITE_ME

# install node + npm
RUN curl https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz | tar xzf - -C /usr/local --strip-components=1

RUN apt-get update -qq && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
postgresql-client \
mysql-client \
sqlite \
poppler-utils \
unrtf \
tesseract-ocr \
catdoc && \
apt-get clean && rm -rf /var/lib/apt/lists/*
DEBIAN_FRONTEND=noninteractive apt-get install -y \
postgresql-client \
poppler-utils \
unrtf \
tesseract-ocr \
catdoc \
memcached \
postfix \
postgresql \
apache2 \
supervisor && \
apt-get clean && rm -rf /var/lib/apt/lists/*

# Set up pg defaults
RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.6/main/pg_hba.conf
RUN echo "listen_addresses='*'" >> /etc/postgresql/9.6/main/postgresql.conf
RUN echo "data_directory='$PGDATA'" >> /etc/postgresql/9.6/main/postgresql.conf
RUN rm -rf "$PGDATA_LEGACY" && rm -rf "$PGDATA" && mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA"
RUN a2enmod proxy proxy_http && rm -f /etc/apache2/sites-enabled/000-default.conf

# using /home/app since npm cache and other stuff will be put there when running npm install
# we don't want to pollute any locally-mounted directory
RUN useradd -d /home/$APP_USER -m $APP_USER
RUN mkdir -p $APP_PATH $APP_DATA
RUN gem install bundler --version "${bundler_version}" --no-document

WORKDIR $APP_PATH
RUN gem install bundler --version "${bundler_version}" --no-document

COPY Gemfile ./Gemfile
COPY Gemfile.* ./
COPY modules ./modules
# OpenProject::Version is required by module versions in gemspecs
RUN mkdir -p lib/open_project
COPY lib/open_project/version.rb ./lib/open_project/
RUN bundle install --deployment --with="docker opf_plugins" --without="test development" --jobs=8 --retry=3

# Then, npm install node modules
COPY package.json /tmp/npm/package.json
COPY frontend/*.json /tmp/npm/frontend/
RUN cd /tmp/npm/frontend/ && RAILS_ENV=production npm install && mv /tmp/npm/frontend /usr/src/app/
RUN bundle install --deployment --with="docker opf_plugins" --without="test development mysql2" --jobs=8 --retry=3

# Finally, copy over the whole thing
COPY . /usr/src/app
RUN mkdir $APP_PATH/tmp
RUN chown -R $APP_USER:$APP_USER $APP_PATH
RUN cp docker/Procfile .
RUN cp packaging/conf/database.yml config/
COPY . $APP_PATH

RUN sed -i "s|Rails.groups(:opf_plugins)|Rails.groups(:opf_plugins, :docker)|" config/application.rb

# Ensure we can write in /tmp/op_uploaded_files (cf. #29112)
RUN mkdir -p /tmp/op_uploaded_files/
RUN chown -R $APP_USER:$APP_USER /tmp/op_uploaded_files/

# Allow uploading avatars w/ postgres
RUN chown -R $APP_USER:$APP_USER $APP_DATA
RUN mkdir -p /tmp/op_uploaded_files/ && chown -R $APP_USER:$APP_USER /tmp/op_uploaded_files/

# Re-use packager database.yml
COPY packaging/conf/database.yml ./config/database.yml

# Run the npm postinstall manually after it was copied
RUN DATABASE_URL=sqlite3:///tmp/db.sqlite3 RAILS_ENV=production bundle exec rake assets:precompile
# Then, npm install node modules
RUN bash docker/precompile-assets.sh

# Include pandoc
RUN DATABASE_URL=sqlite3:///tmp/db.sqlite3 RAILS_ENV=production bundle exec rails runner "puts ::OpenProject::TextFormatting::Formats::Markdown::PandocDownloader.check_or_download!"
# ports
EXPOSE 80 5432

CMD ["./docker/web"]
# volumes to export
VOLUME ["$PGDATA", "$APP_DATA_PATH"]
ENTRYPOINT ["./docker/entrypoint.sh"]
VOLUME ["$APP_DATA"]
CMD ["./docker/supervisord"]

This file was deleted.

Oops, something went wrong.
11 Gemfile
@@ -33,7 +33,7 @@ ruby '~> 2.6.1'
gem 'actionpack-xml_parser', '~> 2.0.0'
gem 'activemodel-serializers-xml', '~> 1.0.1'
gem 'activerecord-session_store', '~> 1.1.0'
gem 'rails', '~> 5.2.2'
gem 'rails', '~> 5.2.2.1'
gem 'responders', '~> 2.4'

gem 'rdoc', '>= 2.4.2'
@@ -152,7 +152,9 @@ group :production do
# we use dalli as standard memcache client
# requires memcached 1.4+
# see https://github.clientom/mperham/dalli
gem 'dalli', '~> 2.7.6'
gem 'dalli',
git: 'https://github.com/petergoldstein/dalli',
ref: '0ff39199b5e91c6dbdaabc7c085b81938d0f08d2'

# Unicorn worker killer to restart unicorn child workers
gem 'unicorn-worker-killer', require: false
@@ -287,6 +289,9 @@ platforms :mri, :mingw, :x64_mingw do
group :postgres do
gem 'pg', '~> 1.1.0'
end

# Support application loading when no database exists yet.
gem 'activerecord-nulldb-adapter', '~> 0.3.9'
end

group :opf_plugins do
@@ -300,8 +305,6 @@ group :docker, optional: true do
gem 'health_check', require: !!ENV['HEROKU']
gem 'newrelic_rpm', require: !!ENV['HEROKU']
gem 'rails_12factor', require: !!ENV['HEROKU']
# Require specific version of sqlite3 for rails
gem 'sqlite3', '~> 1.3.6', require: false
end

# Load Gemfile.local, Gemfile.plugins, plugins', and custom Gemfiles
Oops, something went wrong.

0 comments on commit a233c1c

Please sign in to comment.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.