Browse Source

Merge branch 'develop' into cast-boolean-object-attribute

Umar Sheikh 7 years ago
parent
commit
49223a51c7
10 changed files with 263 additions and 181 deletions
  1. 24 9
      .github/ISSUE_TEMPLATE.md
  2. 19 5
      .gitlab-ci.yml
  3. 49 12
      .rubocop.yml
  4. 1 1
      .ruby-version
  5. 2 1
      .travis.yml
  6. 2 2
      CHANGELOG.md
  7. 72 55
      Gemfile
  8. 90 92
      Gemfile.lock
  9. 3 3
      README.md
  10. 1 1
      Rakefile

+ 24 - 9
.github/ISSUE_TEMPLATE.md

@@ -1,6 +1,18 @@
 <!--
-Hi there - thanks for filling an issue. Please ensure the following things before creating an issue - thank you! 🤓
+Hi there - thanks for filing an issue. Please ensure the following things before creating an issue - thank you! 🤓
 
+Since november 15th we handle all requests, except real bugs, at our community board.
+Full explanation: https://community.zammad.org/t/major-change-regarding-github-issues-community-board/21
+
+Please post:
+- Feature requests
+- Development questions
+- Technical questions
+
+on the board -> https://community.zammad.org !
+
+
+If you think you hit a bug, please continue:
 - Search existing issues and the CHANGELOG.md for your issue - there might be a solution already
 - Make sure to use the latest version of Zammad if possible
 - Add the `log/production.log` file from your system. Attention: Make sure no confidential data is in it!
@@ -8,30 +20,33 @@ Hi there - thanks for filling an issue. Please ensure the following things befor
 - Don't remove the template - otherwise we will close the issue without further comments
 - Ask questions about Zammad configuration and usage at our mailinglist. See: https://zammad.org/participate
 
-Note: We always do our best. Unfortunately, sometimes the requests are too much and we can't handle everything at once. If you want to prioritize/escalate your issue, you can do so by means of a support contract (see https://zammad.com/pricing#selfhosted).
+Note: We always do our best. Unfortunately, sometimes there are too many requests and we can't handle everything at once. If you want to prioritize/escalate your issue, you can do so by means of a support contract (see https://zammad.com/pricing#selfhosted).
 
 * The upper textblock will be removed automatically when you submit your issue *
 -->
 
 ### Infos:
 
-* Used Zammad version: 
-* Used Zammad installation source: (source, package, ...)
-* Operating system: 
-* Browser + version: 
+* Used Zammad version:
+* Installation method (source, package, ..):
+* Operating system:
+* Database + version:
+* Elasticsearch version:
+* Browser + version:
 
 
 ### Expected behavior:
 
-* 
+*
 
 
 ### Actual behavior:
 
-* 
+*
 
 
 ### Steps to reproduce the behavior:
 
-* 
+*
 
+Yes I'm sure this is a bug and no feature request or a general question.

+ 19 - 5
.gitlab-ci.yml

@@ -310,7 +310,8 @@ test:integration:es_mysql:
     - ruby -I test/ test/controllers/search_controller_test.rb
     - ruby -I test/ test/integration/report_test.rb
     - ruby -I test/ test/controllers/form_controller_test.rb
-    - ruby -I test/ test/controllers/user_organization_controller_test.rb
+    - ruby -I test/ test/controllers/user_controller_test.rb
+    - ruby -I test/ test/controllers/organization_controller_test.rb
     - rake db:drop
 
 test:integration:es_postgresql:
@@ -328,7 +329,8 @@ test:integration:es_postgresql:
     - ruby -I test/ test/controllers/search_controller_test.rb
     - ruby -I test/ test/integration/report_test.rb
     - ruby -I test/ test/controllers/form_controller_test.rb
-    - ruby -I test/ test/controllers/user_organization_controller_test.rb
+    - ruby -I test/ test/controllers/user_controller_test.rb
+    - ruby -I test/ test/controllers/organization_controller_test.rb
     - rake db:drop
 
 test:integration:zendesk_mysql:
@@ -355,24 +357,36 @@ test:integration:zendesk_postgresql:
     - ruby -I test/ test/integration/zendesk_import_test.rb
     - rake db:drop
 
-test:integration:otrs_5_mysql:
+test:integration:otrs_6_mysql:
   stage: test
   tags:
     - core
     - mysql
   script:
     - export RAILS_ENV=test
-    - export IMPORT_OTRS_ENDPOINT="http://vz1109.demo.znuny.com/otrs/public.pl?Action=ZammadMigrator"
+    - export IMPORT_OTRS_ENDPOINT="http://vz1185.test.znuny.com/otrs/public.pl?Action=ZammadMigrator"
     - rake db:create
     - rake db:migrate
     - ruby -I test/ test/integration/otrs_import_test.rb
     - rake db:drop
 
-test:integration:otrs_5_postgresql:
+test:integration:otrs_6_postgresql:
   stage: test
   tags:
     - core
     - postgresql
+  script:
+    - export RAILS_ENV=test
+    - export IMPORT_OTRS_ENDPOINT="http://vz1185.test.znuny.com/otrs/public.pl?Action=ZammadMigrator"
+    - rake db:create
+    - rake db:migrate
+    - ruby -I test/ test/integration/otrs_import_test.rb
+    - rake db:drop
+
+test:integration:otrs_5:
+  stage: test
+  tags:
+    - core
   script:
     - export RAILS_ENV=test
     - export IMPORT_OTRS_ENDPOINT="http://vz1109.demo.znuny.com/otrs/public.pl?Action=ZammadMigrator"

+ 49 - 12
.rubocop.yml

@@ -45,29 +45,29 @@ Style/TrailingCommaInArguments:
   StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
   Enabled: false
 
-Style/SpaceInsideParens:
+Layout/SpaceInsideParens:
   Description: 'No spaces after ( or before ).'
   StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
   Enabled: false
 
-Style/SpaceAfterMethodName:
+Layout/SpaceAfterMethodName:
   Description: >-
                  Do not put a space between a method name and the opening
                  parenthesis in a method definition.
   StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
   Enabled: false
 
-Style/LeadingCommentSpace:
+Layout/LeadingCommentSpace:
   Description: 'Comments should start with a space.'
   StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-space'
   Enabled: false
 
-Style/MethodCallParentheses:
+Style/MethodCallWithoutArgsParentheses:
   Description: 'Do not use parentheses for method calls with no arguments.'
   StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-args-no-parens'
   Enabled: false
 
-Style/SpaceInsideBrackets:
+Layout/SpaceInsideBrackets:
   Description: 'No spaces after [ or before ].'
   StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
   Enabled: false
@@ -83,19 +83,19 @@ Style/MethodDefParentheses:
   StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
   Enabled: false
 
-Style/EmptyLinesAroundClassBody:
+Layout/EmptyLinesAroundClassBody:
   Description: "Keeps track of empty lines around class bodies."
   Enabled: false
 
-Style/EmptyLinesAroundMethodBody:
+Layout/EmptyLinesAroundMethodBody:
   Description: "Keeps track of empty lines around method bodies."
   Enabled: false
 
-Style/EmptyLinesAroundBlockBody:
+Layout/EmptyLinesAroundBlockBody:
   Description: "Keeps track of empty lines around block bodies."
   Enabled: false
 
-Style/EmptyLinesAroundModuleBody:
+Layout/EmptyLinesAroundModuleBody:
   Description: "Keeps track of empty lines around module bodies."
   Enabled: false
 
@@ -143,17 +143,29 @@ Rails/HasAndBelongsToMany:
 #  StyleGuide: 'https://github.com/bbatsov/rails-style-guide#has-many-through'
   Enabled: false
 
+Rails/SkipsModelValidations:
+  Description: >-
+                 Use methods that skips model validations with caution.
+                 See reference for more information.
+  Reference: 'http://guides.rubyonrails.org/active_record_validations.html#skipping-validations'
+  Enabled: true
+  Exclude:
+    - test/**/*
+
 Style/ClassAndModuleChildren:
   Description: 'Checks style of children classes and modules.'
   Enabled: false
 
-Style/FileName:
+Naming/FileName:
   Description: 'Use snake_case for source file names.'
   StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
   Enabled: true
   Exclude:
     - 'script/websocket-server.rb'
 
+Naming/VariableNumber:
+  Description: 'Use the configured style when numbering variables.'
+  Enabled: false
 
 # 2.0
 
@@ -184,8 +196,23 @@ Metrics/ModuleLength:
   Description: 'Avoid modules longer than 100 lines of code.'
   Enabled: false
 
+Metrics/BlockLength:
+  Enabled: false
+
+Lint/RescueWithoutErrorClass:
+  Enabled: false
+
+Rails/ApplicationRecord:
+  Enabled: false
+
 # TODO
 
+Rails/HasManyOrHasOneDependent:
+  Enabled: false
+
+Style/DateTime:
+  Enabled: false
+
 Style/Documentation:
   Description: 'Document classes and non-namespace modules.'
   Enabled: false
@@ -193,7 +220,7 @@ Style/Documentation:
 Lint/UselessAssignment:
   Enabled: false
 
-Style/ExtraSpacing:
+Layout/ExtraSpacing:
   Description: 'Do not use unnecessary spacing.'
   Enabled: false
 
@@ -215,4 +242,14 @@ Style/NumericPredicate:
   AutoCorrect: false
   Enabled: true
   Exclude:
-    - "**/*_spec.rb"
+    - "**/*_spec.rb"
+
+Lint/AmbiguousBlockAssociation:
+  Description: >-
+                 Checks for ambiguous block association with method when param passed without
+                 parentheses.
+  StyleGuide: '#syntax'
+  Enabled: true
+  Exclude:
+    - "**/*_spec.rb"
+    - "**/*_examples.rb"

+ 1 - 1
.ruby-version

@@ -1 +1 @@
-2.4.1
+2.4.2

+ 2 - 1
.travis.yml

@@ -19,7 +19,7 @@ services:
   - mysql
 language: ruby
 rvm:
-  - 2.4.1
+  - 2.4.2
 before_install:
   - git fetch --unshallow
   - sudo apt-get -qq update
@@ -62,3 +62,4 @@ script:
 after_success:
   - if [ "${DB}" = "mysql" ]; then contrib/travis-ci.org/trigger-docker-build.sh; fi
   - if [ "${DB}" = "mysql" ]; then contrib/travis-ci.org/trigger-docker-compose-build.sh; fi
+  - if [ "${DB}" = "mysql" ]; then contrib/travis-ci.org/trigger-docker-univention-build.sh; fi

+ 2 - 2
CHANGELOG.md

@@ -1,7 +1,7 @@
 # Change Log
 
-## [2.2.0](https://github.com/zammad/zammad/tree/2.2.0) (2017-xx-xx)
-[Full Changelog](https://github.com/zammad/zammad/compare/2.1.0...2.2.0)
+## [2.4.0](https://github.com/zammad/zammad/tree/2.4.0) (2018-xx-xx)
+[Full Changelog](https://github.com/zammad/zammad/compare/2.3.0...2.4.0)
 
 **Implemented enhancements:**
 

+ 72 - 55
Gemfile

@@ -1,111 +1,131 @@
 source 'https://rubygems.org'
 
-ruby '2.4.1'
-
+# core - base
+ruby '2.4.2'
 gem 'rails', '5.1.4'
-gem 'rails-observers'
-gem 'activerecord-session_store'
-
-# Bundle edge Rails instead:
-#gem 'rails',     :git => 'git://github.com/rails/rails.git'
 
+# core - rails additions
+gem 'activerecord-session_store'
+gem 'composite_primary_keys'
 gem 'json'
+gem 'rails-observers'
+
+# core - application servers
+gem 'puma', group: :puma
+gem 'unicorn', group: :unicorn
 
-# Supported DBs
+# core - supported ORMs
 gem 'activerecord-nulldb-adapter', group: :nulldb
 gem 'mysql2', group: :mysql
 gem 'pg', group: :postgres
 
+# core - asynchrous task execution
+gem 'daemons'
+gem 'delayed_job_active_record'
+
+# core - websocket
+gem 'em-websocket'
+gem 'eventmachine'
+
+# core - password security
+gem 'argon2'
+
+# performance - Memcached
+gem 'dalli'
+
+# asset handling
 group :assets do
-  gem 'sass-rails' #, github: 'rails/sass-rails'
+  # asset handling - coffee-script
   gem 'coffee-rails'
   gem 'coffee-script-source'
 
-  gem 'sprockets'
+  # asset handling - frontend templating
+  gem 'eco'
+
+  # asset handling - SASS
+  gem 'sass-rails'
 
+  # asset handling - pipeline
+  gem 'sprockets'
   gem 'uglifier'
-  gem 'eco'
 end
 
 gem 'autoprefixer-rails'
 
+# asset handling - javascript execution for e.g. linux
+gem 'execjs'
+gem 'libv8'
+gem 'therubyracer'
+
+# authentication - provider
 gem 'doorkeeper'
 gem 'oauth2'
 
+# authentication - third party
 gem 'omniauth'
-gem 'omniauth-oauth2'
 gem 'omniauth-facebook'
 gem 'omniauth-github'
 gem 'omniauth-gitlab'
 gem 'omniauth-google-oauth2'
 gem 'omniauth-linkedin-oauth2'
-gem 'omniauth-twitter'
 gem 'omniauth-microsoft-office365'
+gem 'omniauth-oauth2'
+gem 'omniauth-twitter'
 gem 'omniauth-weibo-oauth2'
 
-gem 'twitter'
-gem 'telegramAPI'
+# channels
 gem 'koala'
-gem 'mail'
-gem 'valid_email2'
-gem 'htmlentities'
+gem 'telegramAPI'
+gem 'twitter'
 
+# channels - email additions
+gem 'htmlentities'
+gem 'mail', '2.6.6'
 gem 'mime-types'
+gem 'valid_email2'
 
+# feature - business hours
 gem 'biz'
 
-gem 'composite_primary_keys'
-gem 'delayed_job_active_record'
-gem 'daemons'
-
-gem 'simple-rss'
-
-# e. g. on linux we need a javascript execution
-gem 'libv8'
-gem 'execjs'
-gem 'therubyracer'
-
-require 'erb'
-require 'yaml'
+# feature - signature diffing
+gem 'diffy'
 
-gem 'net-ldap'
+# feature - excel output
+gem 'writeexcel'
 
-# password security
-gem 'argon2'
+# feature - device logging
+gem 'browser'
 
-gem 'writeexcel'
+# feature - iCal export
 gem 'icalendar'
 gem 'icalendar-recurrence'
-gem 'browser'
 
 # integrations
-gem 'slack-notifier'
 gem 'clearbit'
+gem 'net-ldap'
+gem 'slack-notifier'
 gem 'zendesk_api'
-gem 'viewpoint'
-gem 'rubyntlm', git: 'https://github.com/wimm/rubyntlm.git'
-gem 'autodiscover', git: 'https://github.com/thorsteneckel/autodiscover.git'
 
-# event machine
-gem 'eventmachine'
-gem 'em-websocket'
-
-gem 'diffy'
+# integrations - exchange
+gem 'autodiscover', git: 'https://github.com/thorsteneckel/autodiscover.git'
+gem 'rubyntlm', git: 'https://github.com/wimm/rubyntlm.git'
+gem 'viewpoint'
 
 # Gems used only for develop/test and not required
 # in production environments by default.
 group :development, :test do
 
+  # test frameworks
   gem 'rspec-rails'
   gem 'test-unit'
-  gem 'spring'
-  gem 'spring-commands-rspec'
+
+  # test DB
   gem 'sqlite3'
 
   # code coverage
+  gem 'coveralls', require: false
   gem 'simplecov'
   gem 'simplecov-rcov'
-  gem 'coveralls',         require: false
 
   # UI tests w/ Selenium
   gem 'selenium-webdriver', '2.53.4'
@@ -120,9 +140,9 @@ group :development, :test do
   gem 'guard-symlink', require: false
 
   # code QA
+  gem 'coffeelint'
   gem 'pre-commit'
   gem 'rubocop'
-  gem 'coffeelint'
 
   # changelog generation
   gem 'github_changelog_generator'
@@ -130,17 +150,14 @@ group :development, :test do
   # Setting ENV for testing purposes
   gem 'figaro'
 
-  # Use Factory Girl for generating random test data
-  gem 'factory_girl_rails'
+  # Use Factory Bot for generating random test data
+  gem 'factory_bot_rails'
 
   # mock http calls
   gem 'webmock'
 end
 
-gem 'puma', group: :puma
-gem 'unicorn', group: :unicorn
-
-# load onw gem's
+# load onw gems for development and testing purposes
 local_gemfile = File.join(File.dirname(__FILE__), 'Gemfile.local')
 if File.exist?(local_gemfile)
   eval_gemfile local_gemfile

+ 90 - 92
Gemfile.lock

@@ -65,22 +65,22 @@ GEM
     addressable (2.5.2)
       public_suffix (>= 2.0.2, < 4.0)
     arel (8.0.0)
-    argon2 (1.1.3)
+    argon2 (1.1.4)
       ffi (~> 1.9)
       ffi-compiler (~> 0.1)
     ast (2.3.0)
-    autoprefixer-rails (7.1.3)
+    autoprefixer-rails (7.1.6)
       execjs
     biz (1.7.0)
       clavius (~> 1.0)
       tzinfo
-    browser (2.5.1)
+    browser (2.5.2)
     buftok (0.2.0)
     builder (3.2.3)
-    childprocess (0.7.1)
+    childprocess (0.8.0)
       ffi (~> 1.0, >= 1.0.11)
     clavius (1.0.3)
-    clearbit (0.2.7)
+    clearbit (0.2.8)
       nestful (~> 1.1.0)
     coderay (1.1.2)
     coffee-rails (4.2.2)
@@ -90,22 +90,24 @@ GEM
       coffee-script-source
       execjs
     coffee-script-source (1.12.2)
-    coffeelint (1.16.0)
+    coffeelint (1.16.1)
       coffee-script
       execjs
       json
-    composite_primary_keys (10.0.0)
+    composite_primary_keys (10.0.1)
       activerecord (~> 5.1.0)
     concurrent-ruby (1.0.5)
-    coveralls (0.8.21)
-      json (>= 1.8, < 3)
-      simplecov (~> 0.14.1)
-      term-ansicolor (~> 1.3)
-      thor (~> 0.19.4)
-      tins (~> 1.6)
+    coveralls (0.7.1)
+      multi_json (~> 1.3)
+      rest-client
+      simplecov (>= 0.7)
+      term-ansicolor
+      thor
     crack (0.4.3)
       safe_yaml (~> 1.0.0)
-    daemons (1.2.4)
+    crass (1.0.3)
+    daemons (1.2.5)
+    dalli (2.7.6)
     delayed_job (4.1.3)
       activesupport (>= 3.0, < 5.2)
     delayed_job_active_record (4.1.2)
@@ -127,15 +129,15 @@ GEM
       eventmachine (>= 0.12.9)
       http_parser.rb (~> 0.6.0)
     equalizer (0.0.11)
-    erubi (1.6.1)
+    erubi (1.7.0)
     eventmachine (1.2.5)
     execjs (2.7.0)
-    factory_girl (4.8.0)
+    factory_bot (4.8.2)
       activesupport (>= 3.0.0)
-    factory_girl_rails (4.8.0)
-      factory_girl (~> 4.8.0)
+    factory_bot_rails (4.8.2)
+      factory_bot (~> 4.8.2)
       railties (>= 3.0.0)
-    faraday (0.11.0)
+    faraday (0.12.2)
       multipart-post (>= 1.2, < 3)
     faraday-http-cache (2.0.0)
       faraday (~> 0.8)
@@ -154,7 +156,7 @@ GEM
       rainbow (>= 2.1)
       rake (>= 10.0)
       retriable (~> 2.1)
-    globalid (0.4.0)
+    globalid (0.4.1)
       activesupport (>= 4.2.0)
     guard (2.14.1)
       formatador (>= 0.2.4)
@@ -174,20 +176,21 @@ GEM
     guard-symlink (0.1.1)
       guard
       guard-compat (~> 1.1)
-    hashdiff (0.3.6)
+    hashdiff (0.3.7)
     hashie (3.5.6)
     htmlentities (4.3.4)
-    http (2.2.2)
+    http (3.0.0)
       addressable (~> 2.3)
       http-cookie (~> 1.0)
-      http-form_data (~> 1.0.1)
+      http-form_data (>= 2.0.0.pre.pre2, < 3)
       http_parser.rb (~> 0.6.0)
     http-cookie (1.0.3)
       domain_name (~> 0.5)
-    http-form_data (1.0.3)
+    http-form_data (2.0.0)
     http_parser.rb (0.6.0)
     httpclient (2.8.3)
-    i18n (0.8.6)
+    i18n (0.9.1)
+      concurrent-ruby (~> 1.0)
     icalendar (2.4.1)
     icalendar-recurrence (1.1.2)
       icalendar (~> 2.0)
@@ -210,25 +213,26 @@ GEM
     logging (2.2.2)
       little-plugger (~> 1.1)
       multi_json (~> 1.10)
-    loofah (2.0.3)
+    loofah (2.1.1)
+      crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     lumberjack (1.0.12)
     mail (2.6.6)
       mime-types (>= 1.16, < 4)
     memoizable (0.4.2)
       thread_safe (~> 0.3, >= 0.3.1)
-    method_source (0.8.2)
+    method_source (0.9.0)
     mime-types (2.99.3)
     mini_portile2 (2.3.0)
     minitest (5.10.3)
     multi_json (1.12.2)
     multi_xml (0.6.0)
     multipart-post (2.0.0)
-    mysql2 (0.4.9)
+    mysql2 (0.4.10)
     naught (1.1.0)
     nenv (0.3.0)
-    nestful (1.1.1)
-    net-ldap (0.16.0)
+    nestful (1.1.3)
+    net-ldap (0.16.1)
     netrc (0.11.0)
     nio4r (2.1.0)
     nokogiri (1.8.1)
@@ -246,7 +250,7 @@ GEM
       rack (>= 1.2, < 3)
     octokit (4.7.0)
       sawyer (~> 0.8.0, >= 0.5.3)
-    omniauth (1.6.1)
+    omniauth (1.7.1)
       hashie (>= 3.4.6, < 3.6.0)
       rack (>= 1.6.2, < 3)
     omniauth-facebook (4.0.0)
@@ -280,24 +284,24 @@ GEM
     omniauth-weibo-oauth2 (0.4.5)
       omniauth (~> 1.5)
       omniauth-oauth2 (>= 1.4.0)
-    parser (2.4.0.0)
-      ast (~> 2.2)
+    parallel (1.12.0)
+    parser (2.4.0.2)
+      ast (~> 2.3)
     pg (0.21.0)
     pluginator (1.5.0)
-    power_assert (1.1.0)
+    power_assert (1.1.1)
     powerpack (0.1.1)
-    pre-commit (0.35.0)
+    pre-commit (0.37.0)
       pluginator (~> 1.5)
-    pry (0.10.4)
+    pry (0.11.3)
       coderay (~> 1.1.0)
-      method_source (~> 0.8.1)
-      slop (~> 3.4)
-    public_suffix (3.0.0)
-    puma (3.10.0)
+      method_source (~> 0.9.0)
+    public_suffix (3.0.1)
+    puma (3.11.0)
     rack (2.0.3)
     rack-livereload (0.3.16)
       rack
-    rack-test (0.7.0)
+    rack-test (0.8.2)
       rack (>= 1.0, < 3)
     rails (5.1.4)
       actioncable (= 5.1.4)
@@ -327,7 +331,7 @@ GEM
     rainbow (2.2.2)
       rake
     raindrops (0.19.0)
-    rake (12.1.0)
+    rake (12.3.0)
     rb-fsevent (0.10.2)
     rb-inotify (0.9.10)
       ffi (>= 0.5.0, < 2)
@@ -337,39 +341,40 @@ GEM
       mime-types (>= 1.16, < 3.0)
       netrc (~> 0.7)
     retriable (2.1.0)
-    rspec-core (3.6.0)
-      rspec-support (~> 3.6.0)
-    rspec-expectations (3.6.0)
+    rspec-core (3.7.0)
+      rspec-support (~> 3.7.0)
+    rspec-expectations (3.7.0)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.6.0)
-    rspec-mocks (3.6.0)
+      rspec-support (~> 3.7.0)
+    rspec-mocks (3.7.0)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.6.0)
-    rspec-rails (3.6.1)
+      rspec-support (~> 3.7.0)
+    rspec-rails (3.7.2)
       actionpack (>= 3.0)
       activesupport (>= 3.0)
       railties (>= 3.0)
-      rspec-core (~> 3.6.0)
-      rspec-expectations (~> 3.6.0)
-      rspec-mocks (~> 3.6.0)
-      rspec-support (~> 3.6.0)
-    rspec-support (3.6.0)
-    rubocop (0.42.0)
-      parser (>= 2.3.1.1, < 3.0)
+      rspec-core (~> 3.7.0)
+      rspec-expectations (~> 3.7.0)
+      rspec-mocks (~> 3.7.0)
+      rspec-support (~> 3.7.0)
+    rspec-support (3.7.0)
+    rubocop (0.51.0)
+      parallel (~> 1.10)
+      parser (>= 2.3.3.1, < 3.0)
       powerpack (~> 0.1)
-      rainbow (>= 1.99.1, < 3.0)
+      rainbow (>= 2.2.2, < 3.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (~> 1.0, >= 1.0.1)
-    ruby-progressbar (1.8.1)
+    ruby-progressbar (1.9.0)
     ruby_dep (1.5.0)
     rubyzip (1.2.1)
     safe_yaml (1.0.4)
-    sass (3.5.1)
+    sass (3.5.3)
       sass-listen (~> 4.0.0)
     sass-listen (4.0.0)
       rb-fsevent (~> 0.9, >= 0.9.4)
       rb-inotify (~> 0.9, >= 0.9.7)
-    sass-rails (5.0.6)
+    sass-rails (5.0.7)
       railties (>= 4.0.0, < 6)
       sass (~> 3.1)
       sprockets (>= 2.8, < 4.0)
@@ -383,9 +388,8 @@ GEM
       rubyzip (~> 1.0)
       websocket (~> 1.0)
     shellany (0.0.1)
-    simple-rss (1.3.1)
     simple_oauth (0.3.1)
-    simplecov (0.14.1)
+    simplecov (0.15.1)
       docile (~> 1.1.0)
       json (>= 1.8, < 3)
       simplecov-html (~> 0.10.0)
@@ -393,11 +397,6 @@ GEM
     simplecov-rcov (0.2.3)
       simplecov (>= 0.4.1)
     slack-notifier (2.3.1)
-    slop (3.6.0)
-    spring (2.0.2)
-      activesupport (>= 4.2)
-    spring-commands-rspec (1.0.4)
-      spring (>= 0.9.1)
     sprockets (3.7.1)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
@@ -410,26 +409,27 @@ GEM
       rest-client (~> 1.7, >= 1.7.3)
     term-ansicolor (1.6.0)
       tins (~> 1.0)
-    test-unit (3.2.5)
+    test-unit (3.2.6)
       power_assert
     therubyracer (0.12.3)
       libv8 (~> 3.16.14.15)
       ref
-    thor (0.19.4)
+    thor (0.20.0)
     thread_safe (0.3.6)
     tilt (2.0.8)
-    tins (1.15.0)
-    twitter (6.1.0)
-      addressable (~> 2.5)
+    tins (1.15.1)
+    twitter (6.2.0)
+      addressable (~> 2.3)
       buftok (~> 0.2.0)
-      equalizer (= 0.0.11)
-      faraday (~> 0.11.0)
-      http (~> 2.1)
+      equalizer (~> 0.0.11)
+      http (~> 3.0)
+      http-form_data (~> 2.0)
       http_parser.rb (~> 0.6.0)
-      memoizable (~> 0.4.2)
-      naught (~> 1.1)
-      simple_oauth (~> 0.3.1)
-    tzinfo (1.2.3)
+      memoizable (~> 0.4.0)
+      multipart-post (~> 2.0)
+      naught (~> 1.0)
+      simple_oauth (~> 0.3.0)
+    tzinfo (1.2.4)
       thread_safe (~> 0.1)
     uglifier (3.2.0)
       execjs (>= 0.3.0, < 3)
@@ -437,10 +437,10 @@ GEM
       unf_ext
     unf_ext (0.0.7.4)
     unicode-display_width (1.3.0)
-    unicorn (5.3.0)
+    unicorn (5.3.1)
       kgio (~> 2.6)
       raindrops (~> 0.7)
-    valid_email2 (2.0.1)
+    valid_email2 (2.1.0)
       activemodel (>= 3.2)
       mail (~> 2.5)
     viewpoint (1.1.0)
@@ -448,16 +448,16 @@ GEM
       logging
       nokogiri
       rubyntlm
-    webmock (3.0.1)
+    webmock (3.1.1)
       addressable (>= 2.3.6)
       crack (>= 0.3.2)
       hashdiff
-    websocket (1.2.4)
+    websocket (1.2.5)
     websocket-driver (0.6.5)
       websocket-extensions (>= 0.1.0)
-    websocket-extensions (0.1.2)
+    websocket-extensions (0.1.3)
     writeexcel (1.0.5)
-    zendesk_api (1.14.4)
+    zendesk_api (1.16.0)
       faraday (~> 0.9)
       hashie (>= 3.5.2, < 4.0.0)
       inflection
@@ -482,6 +482,7 @@ DEPENDENCIES
   composite_primary_keys
   coveralls
   daemons
+  dalli
   delayed_job_active_record
   diffy
   doorkeeper
@@ -489,7 +490,7 @@ DEPENDENCIES
   em-websocket
   eventmachine
   execjs
-  factory_girl_rails
+  factory_bot_rails
   figaro
   github_changelog_generator
   guard
@@ -501,7 +502,7 @@ DEPENDENCIES
   json
   koala
   libv8
-  mail
+  mail (= 2.6.6)
   mime-types
   mysql2
   net-ldap
@@ -528,12 +529,9 @@ DEPENDENCIES
   rubyntlm!
   sass-rails
   selenium-webdriver (= 2.53.4)
-  simple-rss
   simplecov
   simplecov-rcov
   slack-notifier
-  spring
-  spring-commands-rspec
   sprockets
   sqlite3
   telegramAPI
@@ -549,7 +547,7 @@ DEPENDENCIES
   zendesk_api
 
 RUBY VERSION
-   ruby 2.4.1p111
+   ruby 2.4.2p198
 
 BUNDLED WITH
-   1.15.4
+   1.16.0

+ 3 - 3
README.md

@@ -3,9 +3,9 @@
 Zammad is a web based open source helpdesk/customer support system with many
 features to manage customer communication via several channels like telephone,
 facebook, twitter, chat and e-mails. It is distributed under the GNU AFFERO
-General Public License (AGPL) and tested on Linux, Solaris, AIX, FreeBSD,
-OpenBSD and Mac OS 10.x. Do you receive many e-mails and want to answer them
-with a team of agents?
+General Public License (AGPL).
+
+Do you receive many e-mails and want to answer them with a team of agents?
 
 You're going to love Zammad!
 

+ 1 - 1
Rakefile

@@ -1 +1 @@
-2.2.x
+2.4.x

Some files were not shown because too many files changed in this diff