Merge branch 'dev'
262
.rubocop.yml
|
@ -8,9 +8,21 @@ AllCops:
|
|||
Bundler/DuplicatedGem:
|
||||
Enabled: true
|
||||
|
||||
Bundler/InsecureProtocolSource:
|
||||
Enabled: true
|
||||
|
||||
Bundler/OrderedGems:
|
||||
Enabled: false
|
||||
|
||||
Gemspec/DuplicatedAssignment:
|
||||
Enabled: true
|
||||
|
||||
Gemspec/OrderedDependencies:
|
||||
Enabled: true
|
||||
|
||||
Gemspec/RequiredRubyVersion:
|
||||
Enabled: true
|
||||
|
||||
Layout/AccessModifierIndentation:
|
||||
Enabled: true
|
||||
|
||||
|
@ -24,6 +36,9 @@ Layout/AlignParameters:
|
|||
Enabled: true
|
||||
EnforcedStyle: with_fixed_indentation
|
||||
|
||||
Layout/BlockAlignment:
|
||||
Enabled: false
|
||||
|
||||
Layout/BlockEndNewline:
|
||||
Enabled: true
|
||||
|
||||
|
@ -31,18 +46,30 @@ Layout/CaseIndentation:
|
|||
Enabled: true
|
||||
EnforcedStyle: end
|
||||
|
||||
Layout/ClassStructure:
|
||||
Enabled: false
|
||||
|
||||
Layout/ClosingParenthesisIndentation:
|
||||
Enabled: true
|
||||
|
||||
Layout/CommentIndentation:
|
||||
Enabled: true
|
||||
|
||||
Layout/ConditionPosition:
|
||||
Enabled: false
|
||||
|
||||
Layout/DefEndAlignment:
|
||||
Enabled: false
|
||||
|
||||
Layout/DotPosition:
|
||||
Enabled: true
|
||||
|
||||
Layout/ElseAlignment:
|
||||
Enabled: true
|
||||
|
||||
Layout/EmptyComment:
|
||||
Enabled: true
|
||||
|
||||
Layout/EmptyLineAfterMagicComment:
|
||||
Enabled: true
|
||||
|
||||
|
@ -55,6 +82,9 @@ Layout/EmptyLines:
|
|||
Layout/EmptyLinesAroundAccessModifier:
|
||||
Enabled: true
|
||||
|
||||
Layout/EmptyLinesAroundArguments:
|
||||
Enabled: true
|
||||
|
||||
Layout/EmptyLinesAroundBeginBody:
|
||||
Enabled: true
|
||||
|
||||
|
@ -73,6 +103,10 @@ Layout/EmptyLinesAroundMethodBody:
|
|||
Layout/EmptyLinesAroundModuleBody:
|
||||
Enabled: true
|
||||
|
||||
Layout/EndAlignment:
|
||||
Enabled: true
|
||||
EnforcedStyleAlignWith: variable
|
||||
|
||||
Layout/EndOfLine:
|
||||
Enabled: true
|
||||
EnforcedStyle: lf
|
||||
|
@ -206,9 +240,6 @@ Layout/SpaceInsideArrayPercentLiteral:
|
|||
Layout/SpaceInsideBlockBraces:
|
||||
Enabled: true
|
||||
|
||||
Layout/SpaceInsideBrackets:
|
||||
Enabled: true
|
||||
|
||||
Layout/SpaceInsideHashLiteralBraces:
|
||||
Enabled: true
|
||||
|
||||
|
@ -224,6 +255,9 @@ Layout/SpaceInsidePercentLiteralDelimiters:
|
|||
Layout/SpaceInsideRangeLiteral:
|
||||
Enabled: true
|
||||
|
||||
Layout/SpaceInsideReferenceBrackets:
|
||||
Enabled: true
|
||||
|
||||
Layout/SpaceInsideStringInterpolation:
|
||||
Enabled: true
|
||||
|
||||
|
@ -240,65 +274,58 @@ Lint/AmbiguousBlockAssociation:
|
|||
Enabled: false
|
||||
|
||||
Lint/AmbiguousOperator:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/AmbiguousRegexpLiteral:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/AssignmentInCondition:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/BlockAlignment:
|
||||
Enabled: false
|
||||
Lint/BigDecimalNew:
|
||||
Enabled: true
|
||||
|
||||
Lint/BooleanSymbol:
|
||||
Enabled: true
|
||||
|
||||
Lint/CircularArgumentReference:
|
||||
Enabled: false
|
||||
|
||||
Lint/ConditionPosition:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/Debugger:
|
||||
Enabled: false
|
||||
|
||||
Lint/DefEndAlignment:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/DeprecatedClassMethods:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/DuplicateCaseCondition:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/DuplicateMethods:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/DuplicatedKey:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/EachWithObjectArgument:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/ElseLayout:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/EmptyEnsure:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/EmptyExpression:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/EmptyInterpolation:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/EmptyWhen:
|
||||
Enabled: false
|
||||
|
||||
Lint/EndAlignment:
|
||||
Enabled: true
|
||||
EnforcedStyleAlignWith: variable
|
||||
|
||||
Lint/EndInMethod:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Lint/EnsureReturn:
|
||||
Enabled: false
|
||||
|
@ -321,7 +348,10 @@ Lint/IneffectiveAccessModifier:
|
|||
Lint/InheritException:
|
||||
Enabled: false
|
||||
|
||||
Lint/LiteralInCondition:
|
||||
Lint/InterpolationCheck:
|
||||
Enabled: true
|
||||
|
||||
Lint/LiteralAsCondition:
|
||||
Enabled: false
|
||||
|
||||
Lint/LiteralInInterpolation:
|
||||
|
@ -330,18 +360,30 @@ Lint/LiteralInInterpolation:
|
|||
Lint/Loop:
|
||||
Enabled: false
|
||||
|
||||
Lint/MissingCopEnableDirective:
|
||||
Enabled: true
|
||||
|
||||
Lint/MultipleCompare:
|
||||
Enabled: false
|
||||
|
||||
Lint/NestedMethodDefinition:
|
||||
Enabled: false
|
||||
|
||||
Lint/NestedPercentLiteral:
|
||||
Enabled: true
|
||||
|
||||
Lint/NextWithoutAccumulator:
|
||||
Enabled: false
|
||||
|
||||
Lint/NonLocalExitFromIterator:
|
||||
Enabled: false
|
||||
|
||||
Lint/NumberConversion:
|
||||
Enabled: false
|
||||
|
||||
Lint/OrderedMagicComments:
|
||||
Enabled: true
|
||||
|
||||
Lint/ParenthesesAsGroupedExpression:
|
||||
Enabled: false
|
||||
|
||||
|
@ -354,6 +396,15 @@ Lint/PercentSymbolArray:
|
|||
Lint/RandOne:
|
||||
Enabled: false
|
||||
|
||||
Lint/RedundantWithIndex:
|
||||
Enabled: true
|
||||
|
||||
Lint/RedundantWithObject:
|
||||
Enabled: true
|
||||
|
||||
Lint/RegexpAsCondition:
|
||||
Enabled: true
|
||||
|
||||
Lint/RequireParentheses:
|
||||
Enabled: false
|
||||
|
||||
|
@ -372,6 +423,9 @@ Lint/SafeNavigationChain:
|
|||
Lint/ScriptPermission:
|
||||
Enabled: false
|
||||
|
||||
Lint/ShadowedArgument:
|
||||
Enabled: true
|
||||
|
||||
Lint/ShadowedException:
|
||||
Enabled: false
|
||||
|
||||
|
@ -390,9 +444,15 @@ Lint/UnderscorePrefixedVariableName:
|
|||
Lint/UnifiedInteger:
|
||||
Enabled: false
|
||||
|
||||
Lint/UnneededDisable:
|
||||
Lint/UnneededCopDisableDirective:
|
||||
Enabled: false
|
||||
|
||||
Lint/UnneededCopEnableDirective:
|
||||
Enabled: true
|
||||
|
||||
Lint/UnneededRequireStatement:
|
||||
Enabled: true
|
||||
|
||||
Lint/UnneededSplatExpansion:
|
||||
Enabled: false
|
||||
|
||||
|
@ -477,15 +537,27 @@ Naming/ConstantName:
|
|||
Naming/FileName:
|
||||
Enabled: false
|
||||
|
||||
Naming/HeredocDelimiterCase:
|
||||
Enabled: true
|
||||
|
||||
Naming/HeredocDelimiterNaming:
|
||||
Enabled: false
|
||||
|
||||
Naming/MemoizedInstanceVariableName:
|
||||
Enabled: false
|
||||
|
||||
Naming/MethodName:
|
||||
Enabled: false
|
||||
|
||||
Naming/PredicateName:
|
||||
Enabled: false
|
||||
|
||||
Naming/UncommunicativeBlockParamName:
|
||||
Enabled: true
|
||||
|
||||
Naming/UncommunicativeMethodParamName:
|
||||
Enabled: false
|
||||
|
||||
Naming/VariableName:
|
||||
Enabled: false
|
||||
|
||||
|
@ -522,9 +594,6 @@ Performance/FixedSize:
|
|||
Performance/FlatMap:
|
||||
Enabled: true
|
||||
|
||||
Performance/HashEachMethods:
|
||||
Enabled: false
|
||||
|
||||
Performance/LstripRstrip:
|
||||
Enabled: true
|
||||
|
||||
|
@ -564,20 +633,29 @@ Performance/StringReplacement:
|
|||
Performance/TimesMap:
|
||||
Enabled: true
|
||||
|
||||
Performance/UnfreezeString:
|
||||
Enabled: true
|
||||
|
||||
Performance/UriDefaultParser:
|
||||
Enabled: true
|
||||
|
||||
Rails/ActionFilter:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/ActiveRecordAliases:
|
||||
Enabled: true
|
||||
|
||||
Rails/ActiveSupportAliases:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/ApplicationJob:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/ApplicationRecord:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/Blank:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/CreateTableWithTimestamps:
|
||||
Enabled: false
|
||||
|
@ -589,28 +667,30 @@ Rails/Delegate:
|
|||
Enabled: false
|
||||
|
||||
Rails/DelegateAllowBlank:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/DynamicFindBy:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
Exclude:
|
||||
- "spec/features/**/*.rb"
|
||||
|
||||
Rails/EnumUniqueness:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/EnvironmentComparison:
|
||||
Enabled: false
|
||||
|
||||
Rails/Exit:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/FilePath:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/FindBy:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/FindEach:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/HasAndBelongsToMany:
|
||||
Enabled: false
|
||||
|
@ -619,7 +699,7 @@ Rails/HasManyOrHasOneDependent:
|
|||
Enabled: false
|
||||
|
||||
Rails/HttpPositionalArguments:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/InverseOf:
|
||||
Enabled: false
|
||||
|
@ -637,10 +717,10 @@ Rails/OutputSafety:
|
|||
Enabled: true
|
||||
|
||||
Rails/PluralizationGrammar:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/Presence:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/Present:
|
||||
Enabled: true
|
||||
|
@ -648,23 +728,26 @@ Rails/Present:
|
|||
Rails/ReadWriteAttribute:
|
||||
Enabled: false
|
||||
|
||||
Rails/RedundantReceiverInWithOptions:
|
||||
Enabled: true
|
||||
|
||||
Rails/RelativeDateConstant:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/RequestReferer:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/ReversibleMigration:
|
||||
Enabled: false
|
||||
|
||||
Rails/SafeNavigation:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/SaveBang:
|
||||
Enabled: false
|
||||
|
||||
Rails/ScopeArgs:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/SkipsModelValidations:
|
||||
Enabled: false
|
||||
|
@ -673,13 +756,13 @@ Rails/TimeZone:
|
|||
Enabled: false
|
||||
|
||||
Rails/UniqBeforePluck:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails/UnknownEnv:
|
||||
Enabled: false
|
||||
|
||||
Rails/Validation:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Rails:
|
||||
Enabled: true
|
||||
|
@ -688,16 +771,19 @@ RSpec/Focused:
|
|||
Enabled: true
|
||||
|
||||
Security/Eval:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Security/JSONLoad:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Security/MarshalLoad:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Security/Open:
|
||||
Enabled: true
|
||||
|
||||
Security/YAMLLoad:
|
||||
Enabled: false
|
||||
Enabled: true
|
||||
|
||||
Style/Alias:
|
||||
Enabled: false
|
||||
|
@ -756,6 +842,9 @@ Style/CollectionMethods:
|
|||
Style/ColonMethodCall:
|
||||
Enabled: false
|
||||
|
||||
Style/ColonMethodDefinition:
|
||||
Enabled: true
|
||||
|
||||
Style/CommandLiteral:
|
||||
Enabled: false
|
||||
|
||||
|
@ -777,6 +866,9 @@ Style/DateTime:
|
|||
Style/DefWithParentheses:
|
||||
Enabled: false
|
||||
|
||||
Style/Dir:
|
||||
Enabled: true
|
||||
|
||||
Style/Documentation:
|
||||
Enabled: false
|
||||
|
||||
|
@ -792,12 +884,21 @@ Style/EachForSimpleLoop:
|
|||
Style/EachWithObject:
|
||||
Enabled: false
|
||||
|
||||
Style/EmptyBlockParameter:
|
||||
Enabled: true
|
||||
|
||||
Style/EmptyCaseCondition:
|
||||
Enabled: false
|
||||
|
||||
Style/EmptyElse:
|
||||
Enabled: false
|
||||
|
||||
Style/EmptyLambdaParameter:
|
||||
Enabled: true
|
||||
|
||||
Style/EmptyLineAfterGuardClause:
|
||||
Enabled: false
|
||||
|
||||
Style/EmptyLiteral:
|
||||
Enabled: false
|
||||
|
||||
|
@ -816,6 +917,9 @@ Style/EvalWithLocation:
|
|||
Style/EvenOdd:
|
||||
Enabled: false
|
||||
|
||||
Style/ExpandPathArguments:
|
||||
Enabled: true
|
||||
|
||||
Style/FlipFlop:
|
||||
Enabled: false
|
||||
|
||||
|
@ -840,9 +944,6 @@ Style/GuardClause:
|
|||
Style/HashSyntax:
|
||||
Enabled: false
|
||||
|
||||
Style/HeredocDelimiters:
|
||||
Enabled: false
|
||||
|
||||
Style/IdenticalConditionalBranches:
|
||||
Enabled: false
|
||||
|
||||
|
@ -894,6 +995,9 @@ Style/MethodDefParentheses:
|
|||
Style/MethodMissing:
|
||||
Enabled: false
|
||||
|
||||
Style/MinMax:
|
||||
Enabled: true
|
||||
|
||||
Style/MissingElse:
|
||||
Enabled: false
|
||||
|
||||
|
@ -975,6 +1079,9 @@ Style/OptionalArguments:
|
|||
Style/ParallelAssignment:
|
||||
Enabled: false
|
||||
|
||||
Style/OrAssignment:
|
||||
Enabled: true
|
||||
|
||||
Style/ParenthesesAroundCondition:
|
||||
Enabled: false
|
||||
|
||||
|
@ -1002,6 +1109,9 @@ Style/RandomWithOffset:
|
|||
Style/RedundantBegin:
|
||||
Enabled: false
|
||||
|
||||
Style/RedundantConditional:
|
||||
Enabled: true
|
||||
|
||||
Style/RedundantException:
|
||||
Enabled: false
|
||||
|
||||
|
@ -1026,6 +1136,9 @@ Style/RescueModifier:
|
|||
Style/RescueStandardError:
|
||||
Enabled: false
|
||||
|
||||
Style/ReturnNil:
|
||||
Enabled: false
|
||||
|
||||
Style/SafeNavigation:
|
||||
Enabled: false
|
||||
|
||||
|
@ -1053,6 +1166,12 @@ Style/SpecialGlobalVars:
|
|||
Style/StabbyLambdaParentheses:
|
||||
Enabled: false
|
||||
|
||||
Style/StderrPuts:
|
||||
Enabled: true
|
||||
|
||||
Style/StringHashKeys:
|
||||
Enabled: false
|
||||
|
||||
Style/StringLiterals:
|
||||
Enabled: false
|
||||
|
||||
|
@ -1077,12 +1196,27 @@ Style/SymbolProc:
|
|||
Style/TernaryParentheses:
|
||||
Enabled: false
|
||||
|
||||
Style/TrailingBodyOnClass:
|
||||
Enabled: true
|
||||
|
||||
Style/TrailingBodyOnMethodDefinition:
|
||||
Enabled: true
|
||||
|
||||
Style/TrailingBodyOnModule:
|
||||
Enabled: true
|
||||
|
||||
Style/TrailingCommaInArguments:
|
||||
Enabled: false
|
||||
|
||||
Style/TrailingCommaInLiteral:
|
||||
Style/TrailingCommaInArrayLiteral:
|
||||
Enabled: false
|
||||
|
||||
Style/TrailingCommaInHashLiteral:
|
||||
Enabled: false
|
||||
|
||||
Style/TrailingMethodEndStatement:
|
||||
Enabled: true
|
||||
|
||||
Style/TrailingUnderscoreVariable:
|
||||
Enabled: false
|
||||
|
||||
|
|
6
Gemfile
|
@ -104,8 +104,10 @@ gem 'sanitize-url'
|
|||
gem 'delayed_job_active_record'
|
||||
gem "daemons"
|
||||
gem 'delayed_cron_job'
|
||||
gem "delayed_job_web"
|
||||
|
||||
# FIXME: this is a fork, go back to official version
|
||||
# once https://github.com/ejschmitt/delayed_job_web/issues/101
|
||||
# has been merged and released
|
||||
gem "delayed_job_web", git: 'https://github.com/breckenedge/delayed_job_web.git', branch: 'cve_2017_12097'
|
||||
gem 'select2-rails'
|
||||
|
||||
# PDF Generation
|
||||
|
|
28
Gemfile.lock
|
@ -1,3 +1,13 @@
|
|||
GIT
|
||||
remote: https://github.com/breckenedge/delayed_job_web.git
|
||||
revision: 6bcb10e61ea2b9a44ffa16be8536dff46ad51449
|
||||
branch: cve_2017_12097
|
||||
specs:
|
||||
delayed_job_web (1.4)
|
||||
activerecord (> 3.0.0)
|
||||
delayed_job (> 2.0.3)
|
||||
sinatra (>= 1.4.4)
|
||||
|
||||
GIT
|
||||
remote: https://github.com/hassox/warden.git
|
||||
revision: a4b197e0b28e7b576b0745b0f6aeaed8dbb774a4
|
||||
|
@ -114,7 +124,7 @@ GEM
|
|||
sass (>= 3.3.4)
|
||||
bootstrap-wysihtml5-rails (0.3.3.8)
|
||||
railties (>= 3.0)
|
||||
brakeman (4.1.1)
|
||||
brakeman (4.2.0)
|
||||
browser (2.5.2)
|
||||
builder (3.2.3)
|
||||
byebug (10.0.0)
|
||||
|
@ -172,10 +182,6 @@ GEM
|
|||
delayed_job_active_record (4.1.2)
|
||||
activerecord (>= 3.0, < 5.2)
|
||||
delayed_job (>= 3.0, < 5)
|
||||
delayed_job_web (1.4)
|
||||
activerecord (> 3.0.0)
|
||||
delayed_job (> 2.0.3)
|
||||
sinatra (>= 1.4.4)
|
||||
devise (4.4.1)
|
||||
bcrypt (~> 3.0)
|
||||
orm_adapter (~> 0.1)
|
||||
|
@ -526,7 +532,7 @@ GEM
|
|||
json
|
||||
orm_adapter (0.5.0)
|
||||
parallel (1.12.1)
|
||||
parser (2.5.0.1)
|
||||
parser (2.5.0.3)
|
||||
ast (~> 2.4.0)
|
||||
pdf-core (0.7.0)
|
||||
pg (0.19.0)
|
||||
|
@ -641,9 +647,9 @@ GEM
|
|||
rspec-support (3.7.1)
|
||||
rspec_junit_formatter (0.3.0)
|
||||
rspec-core (>= 2, < 4, != 2.12.0)
|
||||
rubocop (0.52.1)
|
||||
rubocop (0.53.0)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 2.4.0.2, < 3.0)
|
||||
parser (>= 2.5)
|
||||
powerpack (~> 0.1)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
|
@ -671,9 +677,9 @@ GEM
|
|||
scenic (1.4.1)
|
||||
activerecord (>= 4.0.0)
|
||||
railties (>= 4.0.0)
|
||||
scss_lint (0.56.0)
|
||||
scss_lint (0.57.0)
|
||||
rake (>= 0.9, < 13)
|
||||
sass (~> 3.5.3)
|
||||
sass (~> 3.5.5)
|
||||
securecompare (1.0.0)
|
||||
select2-rails (4.0.3)
|
||||
thor (~> 0.14)
|
||||
|
@ -796,7 +802,7 @@ DEPENDENCIES
|
|||
deep_cloneable
|
||||
delayed_cron_job
|
||||
delayed_job_active_record
|
||||
delayed_job_web
|
||||
delayed_job_web!
|
||||
devise
|
||||
dotenv-rails
|
||||
draper
|
||||
|
|
|
@ -129,6 +129,7 @@ Une fois `overmind` lancé, et un breakpoint `byebug` inséré dans le code, il
|
|||
- Faire tourner Brakeman : `bundle exec brakeman`
|
||||
- Linter les fichiers HAML : `bundle exec haml-lint app/views/`
|
||||
- Linter les fichiers SCSS : `bundle exec scss-lint app/assets/stylesheets/`
|
||||
- [AccessLint](http://accesslint.com/) tourne automatiquement sur les PRs
|
||||
|
||||
## Déploiement
|
||||
|
||||
|
|
2
Rakefile
|
@ -1,7 +1,7 @@
|
|||
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
||||
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
||||
|
||||
require File.expand_path('../config/application', __FILE__)
|
||||
require File.expand_path('config/application', __dir__)
|
||||
|
||||
Rails.application.load_tasks
|
||||
|
||||
|
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 542 B After Width: | Height: | Size: 403 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="53" width="318"><g font-size="50" fill="#373c42"><path d="M10.4 37.632c2.496 2.208 5.044 3.36 8.528 3.36 7.02 0 13.208-5.568 13.208-13.392 0-7.968-5.928-13.44-13.052-13.44-3.328 0-6.188 1.152-8.684 3.456V4.992H3.484V40.32H10.4v-2.688zm7.28-17.616c4.576 0 7.488 3.36 7.488 7.536 0 4.368-3.172 7.584-7.488 7.584-4.264 0-7.592-3.024-7.592-7.632 0-4.464 3.172-7.488 7.592-7.488zm40.204 12.816c-1.924 1.728-3.9 2.496-6.864 2.496-3.952 0-7.072-2.112-7.748-5.904h22.256c0-.576.052-.864.052-1.44 0-8.064-5.928-13.824-14.664-13.824-8.892 0-14.352 6.432-14.352 13.392 0 7.488 5.668 13.44 14.456 13.44 5.824 0 9.724-1.728 12.688-5.616l-5.824-2.544zm-14.3-8.448c1.352-3.216 4.004-4.8 7.436-4.8 3.692 0 6.656 1.824 7.592 4.8H43.584zm28.27-9.552H68.32v5.472h3.535V40.32h6.916V20.304h4.11v-5.472h-4.11V5.424h-6.91v9.408zM107.1 40.32h6.916V14.832H107.1v2.784c-2.496-2.304-5.356-3.456-8.684-3.456-7.176 0-13 5.472-13 13.44 0 7.824 6.136 13.392 13.156 13.392 3.484 0 6.084-1.152 8.528-3.36v2.688zm-7.28-20.304c4.368 0 7.592 3.024 7.592 7.488 0 4.656-3.328 7.632-7.592 7.632-4.316 0-7.436-3.216-7.436-7.584 0-4.176 2.86-7.536 7.436-7.536zm24.968 13.632c-2.184 0-4.004 1.584-4.004 3.648 0 2.016 1.82 3.696 4.004 3.696 2.236 0 3.952-1.68 3.952-3.696s-1.768-3.648-3.952-3.648zm38.08-18.816h-6.917v2.784c-2.6-2.256-5.3-3.456-8.73-3.456-7.02 0-12.89 5.184-12.89 13.056 0 7.632 5.83 13.104 13.26 13.104 3.59 0 6.09-1.104 8.37-3.168 0 2.4-.05 4.128-1.71 5.568-1.25 1.056-3.33 1.68-5.87 1.68-2.91 0-4.99-.672-6.4-2.208h-7.64c1.87 5.328 6.71 8.064 14.3 8.064 4.21 0 7.54-.912 10.04-2.832 3.17-2.496 4.21-5.808 4.21-10.752v-21.84zm-14.093 5.184c4.576 0 7.54 3.168 7.54 7.296 0 4.32-3.172 7.152-7.436 7.152-4.32 0-7.6-2.976-7.6-7.2 0-3.936 2.91-7.248 7.49-7.248zm34.068-5.856c-7.54 0-14.3 5.712-14.3 13.44 0 7.488 6.344 13.392 14.352 13.392 8.424 0 14.612-6.048 14.612-13.44 0-7.536-6.604-13.392-14.664-13.392zm.104 6.048c4.524 0 7.592 3.072 7.592 7.392 0 4.464-3.33 7.344-7.6 7.344-4.47 0-7.44-3.072-7.44-7.392 0-4.224 3.12-7.344 7.43-7.344zm20.16 6.288c0 2.112-.105 3.312.26 5.376 1.09 5.952 5.2 9.072 11.855 9.072 3.848 0 6.708-.96 8.892-3.216 2.912-2.976 3.224-6.432 3.224-11.136v-11.76h-6.916v13.584c0 4.32-1.508 6.672-5.2 6.672-3.64 0-5.2-2.4-5.2-6.96V14.832h-6.916v11.664zm40.07 13.824h4.47L259.4 14.832h-7.02l-6.968 15.024-6.968-15.024h-7.072l11.804 25.488zM264.856 35.6q1.228 0 2.057.79.857.766.857 1.873 0 1.108-.857 1.9-.857.763-2.057.763t-2.057-.764q-.83-.79-.83-1.9 0-1.106.83-1.87.85-.792 2.05-.792zm27.108-18.51l-.515 1.74h-4.17l-3.15 11.523q-2.09 7.62-4.2 11.786-3 5.88-6.46 8.12-2.63 1.71-5.26 1.71-1.72 0-2.92-.95-.89-.66-.89-1.72 0-.85.74-1.48.71-.61 1.77-.61.77 0 1.31.45.51.45.51 1.03 0 .58-.6 1.08-.46.37-.46.55 0 .23.2.37.255.18.8.18 1.226 0 2.6-.72 1.34-.71 2.4-2.14 1.054-1.4 1.996-4.06.4-1.11 2.146-7.31l4.97-17.85h-4.97l.4-1.74q2.37 0 3.315-.29.942-.314 1.713-1.16.8-.87 2.056-3.214 1.69-3.16 3.23-4.9 2.11-2.345 4.424-3.506 2.343-1.18 4.4-1.18 2.17 0 3.485 1.027 1.32 1.006 1.32 2.19 0 .926-.658 1.558-.658.63-1.687.63-.89 0-1.46-.47-.54-.475-.54-1.134 0-.42.37-1.03.37-.63.37-.84 0-.37-.26-.553-.37-.266-1.086-.266-1.8 0-3.23 1.058-1.913 1.4-3.43 4.38-.77 1.557-2.824 7.727h4.2z"/><path d="M293.906 17.934l9.855-1.476-4.11 12.814q5-7.884 9.09-11.02 2.32-1.794 3.77-1.794.95 0 1.49.527.55.5.55 1.477 0 1.74-.97 3.322-.68 1.186-1.97 1.186-.65 0-1.14-.395-.45-.396-.57-1.213-.06-.5-.26-.66-.22-.21-.54-.21-.48 0-.91.21-.74.37-2.25 2.057-2.37 2.58-5.14 6.69-1.19 1.74-2.05 3.93-1.2 3-1.37 3.61l-.912 3.32h-4.37l5.28-16.38q.915-2.85.915-4.06 0-.48-.43-.79-.57-.42-1.51-.42-.6 0-2.2.23l-.2-.98z"/></g></svg>
|
||||
<svg height="53" width="318" xmlns="http://www.w3.org/2000/svg"><g fill="#373c42"><path d="m10.4 37.632c2.496 2.208 5.044 3.36 8.528 3.36 7.02 0 13.208-5.568 13.208-13.392 0-7.968-5.928-13.44-13.052-13.44-3.328 0-6.188 1.152-8.684 3.456v-12.624h-6.916v35.328h6.916zm7.28-17.616c4.576 0 7.488 3.36 7.488 7.536 0 4.368-3.172 7.584-7.488 7.584-4.264 0-7.592-3.024-7.592-7.632 0-4.464 3.172-7.488 7.592-7.488zm40.204 12.816c-1.924 1.728-3.9 2.496-6.864 2.496-3.952 0-7.072-2.112-7.748-5.904h22.256c0-.576.052-.864.052-1.44 0-8.064-5.928-13.824-14.664-13.824-8.892 0-14.352 6.432-14.352 13.392 0 7.488 5.668 13.44 14.456 13.44 5.824 0 9.724-1.728 12.688-5.616zm-14.3-8.448c1.352-3.216 4.004-4.8 7.436-4.8 3.692 0 6.656 1.824 7.592 4.8zm28.27-9.552h-3.534v5.472h3.535v20.016h6.916v-20.016h4.11v-5.472h-4.11v-9.408h-6.91v9.408zm35.246 25.488h6.916v-25.488h-6.916v2.784c-2.496-2.304-5.356-3.456-8.684-3.456-7.176 0-13 5.472-13 13.44 0 7.824 6.136 13.392 13.156 13.392 3.484 0 6.084-1.152 8.528-3.36zm-7.28-20.304c4.368 0 7.592 3.024 7.592 7.488 0 4.656-3.328 7.632-7.592 7.632-4.316 0-7.436-3.216-7.436-7.584 0-4.176 2.86-7.536 7.436-7.536zm24.968 13.632c-2.184 0-4.004 1.584-4.004 3.648 0 2.016 1.82 3.696 4.004 3.696 2.236 0 3.952-1.68 3.952-3.696s-1.768-3.648-3.952-3.648zm38.08-18.816h-6.917v2.784c-2.6-2.256-5.3-3.456-8.73-3.456-7.02 0-12.89 5.184-12.89 13.056 0 7.632 5.83 13.104 13.26 13.104 3.59 0 6.09-1.104 8.37-3.168 0 2.4-.05 4.128-1.71 5.568-1.25 1.056-3.33 1.68-5.87 1.68-2.91 0-4.99-.672-6.4-2.208h-7.64c1.87 5.328 6.71 8.064 14.3 8.064 4.21 0 7.54-.912 10.04-2.832 3.17-2.496 4.21-5.808 4.21-10.752v-21.84zm-14.093 5.184c4.576 0 7.54 3.168 7.54 7.296 0 4.32-3.172 7.152-7.436 7.152-4.32 0-7.6-2.976-7.6-7.2 0-3.936 2.91-7.248 7.49-7.248zm34.068-5.856c-7.54 0-14.3 5.712-14.3 13.44 0 7.488 6.344 13.392 14.352 13.392 8.424 0 14.612-6.048 14.612-13.44 0-7.536-6.604-13.392-14.664-13.392zm.104 6.048c4.524 0 7.592 3.072 7.592 7.392 0 4.464-3.33 7.344-7.6 7.344-4.47 0-7.44-3.072-7.44-7.392 0-4.224 3.12-7.344 7.43-7.344zm20.16 6.288c0 2.112-.105 3.312.26 5.376 1.09 5.952 5.2 9.072 11.855 9.072 3.848 0 6.708-.96 8.892-3.216 2.912-2.976 3.224-6.432 3.224-11.136v-11.76h-6.916v13.584c0 4.32-1.508 6.672-5.2 6.672-3.64 0-5.2-2.4-5.2-6.96v-13.296h-6.916v11.664zm40.07 13.824h4.47l11.753-25.488h-7.02l-6.968 15.024-6.968-15.024h-7.072l11.804 25.488zm21.679-4.72q1.228 0 2.057.79.857.766.857 1.873 0 1.108-.857 1.9-.857.763-2.057.763t-2.057-.764q-.83-.79-.83-1.9 0-1.106.83-1.87.85-.792 2.05-.792zm27.108-18.51-.515 1.74h-4.17l-3.15 11.523q-2.09 7.62-4.2 11.786-3 5.88-6.46 8.12-2.63 1.71-5.26 1.71-1.72 0-2.92-.95-.89-.66-.89-1.72 0-.85.74-1.48.71-.61 1.77-.61.77 0 1.31.45.51.45.51 1.03 0 .58-.6 1.08-.46.37-.46.55 0 .23.2.37.255.18.8.18 1.226 0 2.6-.72 1.34-.71 2.4-2.14 1.054-1.4 1.996-4.06.4-1.11 2.146-7.31l4.97-17.85h-4.97l.4-1.74q2.37 0 3.315-.29.942-.314 1.713-1.16.8-.87 2.056-3.214 1.69-3.16 3.23-4.9 2.11-2.345 4.424-3.506 2.343-1.18 4.4-1.18 2.17 0 3.485 1.027 1.32 1.006 1.32 2.19 0 .926-.658 1.558-.658.63-1.687.63-.89 0-1.46-.47-.54-.475-.54-1.134 0-.42.37-1.03.37-.63.37-.84 0-.37-.26-.553-.37-.266-1.086-.266-1.8 0-3.23 1.058-1.913 1.4-3.43 4.38-.77 1.557-2.824 7.727h4.2z"/><path d="m293.906 17.934 9.855-1.476-4.11 12.814q5-7.884 9.09-11.02 2.32-1.794 3.77-1.794.95 0 1.49.527.55.5.55 1.477 0 1.74-.97 3.322-.68 1.186-1.97 1.186-.65 0-1.14-.395-.45-.396-.57-1.213-.06-.5-.26-.66-.22-.21-.54-.21-.48 0-.91.21-.74.37-2.25 2.057-2.37 2.58-5.14 6.69-1.19 1.74-2.05 3.93-1.2 3-1.37 3.61l-.912 3.32h-4.37l5.28-16.38q.915-2.85.915-4.06 0-.48-.43-.79-.57-.42-1.51-.42-.6 0-2.2.23l-.2-.98z"/></g></svg>
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 36 KiB |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none" fill-rule="evenodd"><path d="M0 0h24v24H0z"/><path stroke="#15AD70" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 1C5.928 1 1 5.928 1 12s4.928 11 11 11 11-4.928 11-11S18.072 1 12 1z"/><path stroke="#15AD70" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 12.093L10.182 16 18 8"/></g></svg>
|
||||
<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m0 0h24v24h-24z"/><g stroke="#15ad70" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m12 1c-6.072 0-11 4.928-11 11s4.928 11 11 11 11-4.928 11-11-4.928-11-11-11z"/><path d="m6 12.093 4.182 3.907 7.818-8"/></g></g></svg>
|
Before Width: | Height: | Size: 434 B After Width: | Height: | Size: 371 B |
|
@ -1 +1 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>ic_attach</title><g fill="none" fill-rule="evenodd"><path d="M13.153 6.701l-4.512 7.815a1.638 1.638 0 0 0 .604 2.237 1.638 1.638 0 0 0 2.24-.596l3.324-5.758 1.843-3.193a3.277 3.277 0 0 0-1.207-4.475 3.277 3.277 0 0 0-4.478 1.192L7.642 9.681l-.395.686-2.533 4.387a4.23 4.23 0 0 0 1.557 5.774l.458.265a4.229 4.229 0 0 0 5.779-1.539l6.464-11.196" stroke="#0069CC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M0 0h24v24H0z"/></g></svg>
|
||||
<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m13.153 6.701-4.512 7.815a1.638 1.638 0 0 0 .604 2.237 1.638 1.638 0 0 0 2.24-.596l3.324-5.758 1.843-3.193a3.277 3.277 0 0 0 -1.207-4.475 3.277 3.277 0 0 0 -4.478 1.192l-3.325 5.758-.395.686-2.533 4.387a4.23 4.23 0 0 0 1.557 5.774l.458.265a4.229 4.229 0 0 0 5.779-1.539l6.464-11.196" stroke="#0069cc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="m0 0h24v24h-24z"/></g></svg>
|
Before Width: | Height: | Size: 551 B After Width: | Height: | Size: 530 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none" fill-rule="evenodd"><g stroke="#0069CC" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M11.999 7.104l-2.2-2.25h-6.6c-1.21 0-2.189 1.014-2.189 2.25l-.011 13.5c0 1.238.99 2.25 2.2 2.25h17.6c1.21 0 2.2-1.012 2.2-2.25V9.355c0-1.237-.99-2.25-2.2-2.25"/><path d="M20.877 6.871l1.829-1.829a.994.994 0 0 0 0-1.41l-2.339-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83-1.069 1.07L4.999 15.25V19h3.75L19.807 7.941l1.07-1.07zm-3.608-3.662l3.396 3.542"/></g><path d="M0 0h24v24H0z"/></g></svg>
|
||||
<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g stroke="#0069cc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m11.999 7.104-2.2-2.25h-6.6c-1.21 0-2.189 1.014-2.189 2.25l-.011 13.5c0 1.238.99 2.25 2.2 2.25h17.6c1.21 0 2.2-1.012 2.2-2.25v-11.249c0-1.237-.99-2.25-2.2-2.25"/><path d="m20.877 6.871 1.829-1.829a.994.994 0 0 0 0-1.41l-2.339-2.34a.996.996 0 0 0 -1.41 0l-1.83 1.83-1.069 1.07-11.059 11.058v3.75h3.75l11.058-11.059zm-3.608-3.662 3.396 3.542"/></g><path d="m0 0h24v24h-24z"/></g></svg>
|
Before Width: | Height: | Size: 595 B After Width: | Height: | Size: 594 B |
|
@ -1 +1 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>ic_follow_folder</title><g fill="none" fill-rule="evenodd"><path d="M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2z" stroke="#15AD70" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><g stroke="#15AD70" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 13H7.533M12 10l4 3-4 3"/></g><path d="M0 0h24v24H0z"/></g></svg>
|
||||
<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m20 6h-8l-2-2h-6c-1.1 0-1.99.9-1.99 2l-.01 12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-10c0-1.1-.9-2-2-2z" stroke="#15ad70" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="m15 13h-7.467m4.467-3 4 3-4 3" stroke="#15ad70" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="m0 0h24v24h-24z"/></g></svg>
|
Before Width: | Height: | Size: 494 B After Width: | Height: | Size: 467 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="640.5 640.5 512 512"><path d="M820.864 861.591h151.273v-56.727c0-20.879-7.387-38.705-22.159-53.478-14.773-14.772-32.599-22.159-53.478-22.159s-38.705 7.387-53.477 22.159c-14.773 14.773-22.159 32.599-22.159 53.478v56.727zm245.818 28.364v170.182c0 7.879-2.758 14.575-8.272 20.091-5.516 5.515-12.212 8.272-20.091 8.272H754.682c-7.879 0-14.576-2.758-20.091-8.272-5.515-5.516-8.272-12.212-8.272-20.091V889.955c0-7.879 2.757-14.576 8.272-20.091s12.212-8.273 20.091-8.273h9.455v-56.727c0-36.243 13-67.364 39-93.364s57.121-39 93.364-39c36.242 0 67.363 13 93.363 39s39 57.121 39 93.364v56.727h9.455c7.879 0 14.575 2.758 20.091 8.273 5.514 5.515 8.272 12.212 8.272 20.091z" fill="#999999"/></svg>
|
||||
<svg height="24" viewBox="640.5 640.5 512 512" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m820.864 861.591h151.273v-56.727c0-20.879-7.387-38.705-22.159-53.478-14.773-14.772-32.599-22.159-53.478-22.159s-38.705 7.387-53.477 22.159c-14.773 14.773-22.159 32.599-22.159 53.478zm245.818 28.364v170.182c0 7.879-2.758 14.575-8.272 20.091-5.516 5.515-12.212 8.272-20.091 8.272h-283.637c-7.879 0-14.576-2.758-20.091-8.272-5.515-5.516-8.272-12.212-8.272-20.091v-170.182c0-7.879 2.757-14.576 8.272-20.091s12.212-8.273 20.091-8.273h9.455v-56.727c0-36.243 13-67.364 39-93.364s57.121-39 93.364-39c36.242 0 67.363 13 93.363 39s39 57.121 39 93.364v56.727h9.455c7.879 0 14.575 2.758 20.091 8.273 5.514 5.515 8.272 12.212 8.272 20.091z" fill="#999"/></svg>
|
Before Width: | Height: | Size: 758 B After Width: | Height: | Size: 749 B |
|
@ -1 +1 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>printer</title><g fill="none" fill-rule="evenodd"><path d="M0 0h24v24H0z"/><path d="M3 8v7h18V8H3zm0-2h18a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2zm1 9v2h16v-2H4z" fill="#0069CC" fill-rule="nonzero"/><path d="M7 2h10a2 2 0 0 1 2 2v3H5V4a2 2 0 0 1 2-2z" stroke="#0069CC" stroke-width="2"/><g transform="translate(5 13)"><path d="M0 0h14v7a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V0z" stroke="#0069CC" stroke-width="2"/><rect fill="#0069CC" fill-rule="nonzero" x="2" y="5" width="6" height="1.5" rx=".75"/><rect fill="#0069CC" fill-rule="nonzero" x="2" y="2.5" width="10" height="1.5" rx=".75"/></g></g></svg>
|
||||
<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m0 0h24v24h-24z"/><path d="m3 8v7h18v-7zm0-2h18a2 2 0 0 1 2 2v7a2 2 0 0 1 -2 2h-18a2 2 0 0 1 -2-2v-7a2 2 0 0 1 2-2zm1 9v2h16v-2z" fill="#0069cc" fill-rule="nonzero"/><path d="m7 2h10a2 2 0 0 1 2 2v3h-14v-3a2 2 0 0 1 2-2z" stroke="#0069cc" stroke-width="2"/><g transform="translate(5 13)"><path d="m0 0h14v7a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2-2z" stroke="#0069cc" stroke-width="2"/><g fill="#0069cc" fill-rule="nonzero"><rect height="1.5" rx=".75" width="6" x="2" y="5"/><rect height="1.5" rx=".75" width="10" x="2" y="2.5"/></g></g></g></svg>
|
Before Width: | Height: | Size: 707 B After Width: | Height: | Size: 666 B |
|
@ -1 +1 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>close</title><path d="M12 1C5.928 1 1 5.928 1 12s4.928 11 11 11 11-4.928 11-11S18.072 1 12 1zm3.833 7L8 15.833 15.833 8zm0 7.833L8 8l7.833 7.833z" stroke="#ED1C24" stroke-width="2" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
||||
<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m12 1c-6.072 0-11 4.928-11 11s4.928 11 11 11 11-4.928 11-11-4.928-11-11-11zm3.833 7-7.833 7.833zm0 7.833-7.833-7.833z" fill="none" stroke="#ed1c24" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></svg>
|
Before Width: | Height: | Size: 357 B After Width: | Height: | Size: 311 B |
|
@ -1 +1 @@
|
|||
<svg width="25" height="25" viewBox="0 0 25 25" xmlns="http://www.w3.org/2000/svg"><title>Shape</title><path d="M20.37.5H4.946L.7 6.19l12 18.31 12-18.31L20.37.5zm2.355 5.69l-2.98 4.541c0-.006-.005-.011-.005-.011-.39-.975-.853-2.648-4.215-3.026 0 0-5.351.321-6.377-.563-1.025-.885-2.917-3.132 1.417-4.58 2.635-.885 5.716.377 5.998 3.887h3.488V2.213l2.674 3.977zM8.253 14.49a.148.148 0 0 0-.021.034L5.84 10.877l.005-.01s.912.732 4.232.884c3.32.146 6.25.146 7.158 1.087.912.94-.769 2.704-4.791 2.462-.005 0-2.257-3.606-4.19-.811zM18.311 2.19s.21 1.578-.756 1.972c0 0-.084-.355-1.207-1.972h1.963zm-12.735 0h2.45c-.454.192-3.657 1.989-3.417 6.8v.023L2.759 6.19l2.817-4zm4.073 14.496c.004 0 4.85.715 6.212-.186.059-.04.117-.079.18-.13l-3.299 5.031-3.093-4.715z" fill-rule="nonzero" fill="#0069CC"/></svg>
|
||||
<svg height="25" viewBox="0 0 25 25" width="25" xmlns="http://www.w3.org/2000/svg"><path d="m20.37.5h-15.424l-4.246 5.69 12 18.31 12-18.31zm2.355 5.69-2.98 4.541c0-.006-.005-.011-.005-.011-.39-.975-.853-2.648-4.215-3.026 0 0-5.351.321-6.377-.563-1.025-.885-2.917-3.132 1.417-4.58 2.635-.885 5.716.377 5.998 3.887h3.488v-4.225zm-14.472 8.3a.148.148 0 0 0 -.021.034l-2.392-3.647.005-.01s.912.732 4.232.884c3.32.146 6.25.146 7.158 1.087.912.94-.769 2.704-4.791 2.462-.005 0-2.257-3.606-4.19-.811zm10.058-12.3s.21 1.578-.756 1.972c0 0-.084-.355-1.207-1.972zm-12.735 0h2.45c-.454.192-3.657 1.989-3.417 6.8v.023l-1.85-2.823zm4.073 14.496c.004 0 4.85.715 6.212-.186.059-.04.117-.079.18-.13l-3.299 5.031z" fill="#0069cc"/></svg>
|
Before Width: | Height: | Size: 798 B After Width: | Height: | Size: 720 B |
|
@ -1 +1 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>without-continuation</title><g fill="none" fill-rule="evenodd"><path d="M12 1C5.928 1 1 5.928 1 12s4.928 11 11 11 11-4.928 11-11S18.072 1 12 1z" stroke="#333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><g transform="translate(7 11)" fill-rule="nonzero" fill="#333"><circle cx="1" cy="1" r="1"/><circle cx="5" cy="1" r="1"/><circle cx="9" cy="1" r="1"/></g></g></svg>
|
||||
<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m12 1c-6.072 0-11 4.928-11 11s4.928 11 11 11 11-4.928 11-11-4.928-11-11-11z" stroke="#333" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><g fill="#333" fill-rule="nonzero"><circle cx="8" cy="12" r="1"/><circle cx="12" cy="12" r="1"/><circle cx="16" cy="12" r="1"/></g></g></svg>
|
Before Width: | Height: | Size: 478 B After Width: | Height: | Size: 424 B |
|
@ -1 +1 @@
|
|||
<svg width="96" height="92" viewBox="0 0 96 92" xmlns="http://www.w3.org/2000/svg"><title>08D2E231-4C84-4B79-AC9D-982A43B5F62D</title><g fill="none" fill-rule="evenodd"><path d="M0-2h96v96H0z"/><path d="M35 85.679c3.208 3.278 7.675 5.32 12.624 5.32 4.95 0 9.417-2.043 12.625-5.321-.922-3.106-3.123-6.105-8.248-6.105 0 0-1.634 1.592-4.377 1.592-2.744 0-4.376-1.592-4.376-1.592-5.125 0-7.326 2.999-8.248 6.106zM47.624 74.63c3.783 0 6.854-3.05 6.854-6.811 0-3.768-3.07-6.82-6.854-6.82-3.782 0-6.854 3.052-6.854 6.82 0 3.76 3.073 6.812 6.854 6.812zM1 42.679c3.208 3.278 7.675 5.32 12.625 5.32 4.949 0 9.417-2.043 12.625-5.321-.922-3.106-3.124-6.105-8.249-6.105 0 0-1.634 1.592-4.376 1.592-2.745 0-4.376-1.592-4.376-1.592-5.126 0-7.327 2.999-8.249 6.106zM13.624 31.63c3.783 0 6.854-3.05 6.854-6.811 0-3.768-3.07-6.82-6.854-6.82-3.783 0-6.854 3.052-6.854 6.82 0 3.76 3.074 6.812 6.854 6.812zM69 42.679c3.207 3.278 7.675 5.32 12.624 5.32 4.95 0 9.418-2.043 12.626-5.321-.922-3.106-3.124-6.105-8.249-6.105 0 0-1.635 1.592-4.377 1.592-2.743 0-4.375-1.592-4.375-1.592-5.126 0-7.328 2.999-8.25 6.106zM81.624 31.63c3.784 0 6.855-3.05 6.855-6.811 0-3.768-3.072-6.82-6.855-6.82-3.782 0-6.853 3.052-6.853 6.82 0 3.76 3.073 6.812 6.853 6.812zm-4.089-18.51C69.795 5.622 59.253 1 47.625 1s-22.17 4.622-29.91 12.12m50.143 68.825c10.966-5.859 19.089-16.33 21.788-28.825m-84.043 0c2.736 12.67 11.055 23.255 22.255 29.064" stroke="#FFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></g></svg>
|
||||
<svg height="92" viewBox="0 0 96 92" width="96" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m0-2h96v96h-96z"/><path d="m35 85.679c3.208 3.278 7.675 5.32 12.624 5.32 4.95 0 9.417-2.043 12.625-5.321-.922-3.106-3.123-6.105-8.248-6.105 0 0-1.634 1.592-4.377 1.592-2.744 0-4.376-1.592-4.376-1.592-5.125 0-7.326 2.999-8.248 6.106zm12.624-11.049c3.783 0 6.854-3.05 6.854-6.811 0-3.768-3.07-6.82-6.854-6.82-3.782 0-6.854 3.052-6.854 6.82 0 3.76 3.073 6.812 6.854 6.812zm-46.624-31.951c3.208 3.278 7.675 5.32 12.625 5.32 4.949 0 9.417-2.043 12.625-5.321-.922-3.106-3.124-6.105-8.249-6.105 0 0-1.634 1.592-4.376 1.592-2.745 0-4.376-1.592-4.376-1.592-5.126 0-7.327 2.999-8.249 6.106zm12.624-11.049c3.783 0 6.854-3.05 6.854-6.811 0-3.768-3.07-6.82-6.854-6.82-3.783 0-6.854 3.052-6.854 6.82 0 3.76 3.074 6.812 6.854 6.812zm55.376 11.049c3.207 3.278 7.675 5.32 12.624 5.32 4.95 0 9.418-2.043 12.626-5.321-.922-3.106-3.124-6.105-8.249-6.105 0 0-1.635 1.592-4.377 1.592-2.743 0-4.375-1.592-4.375-1.592-5.126 0-7.328 2.999-8.25 6.106zm12.624-11.049c3.784 0 6.855-3.05 6.855-6.811 0-3.768-3.072-6.82-6.855-6.82-3.782 0-6.853 3.052-6.853 6.82 0 3.76 3.073 6.812 6.853 6.812zm-4.089-18.51c-7.74-7.498-18.282-12.12-29.91-12.12s-22.17 4.622-29.91 12.12m50.143 68.825c10.966-5.859 19.089-16.33 21.788-28.825m-84.043 0c2.736 12.67 11.055 23.255 22.255 29.064" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></g></svg>
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.4 KiB |
|
@ -1 +1 @@
|
|||
<svg width="77" height="95" viewBox="0 0 77 95" xmlns="http://www.w3.org/2000/svg"><title>48989501-DD47-4082-8A9E-1AFAB7A24CFE</title><g fill="none" fill-rule="evenodd"><path d="M-10-1h96v96h-96z"/><path d="M65.917 16a4.917 4.917 0 1 1-9.834 0 4.917 4.917 0 0 1 9.834 0z" stroke="#FFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M74.74 13.84h-3.718a10.153 10.153 0 0 0-1.41-3.395l2.631-2.631a1.26 1.26 0 0 0 0-1.784l-1.272-1.272a1.264 1.264 0 0 0-1.785 0l-2.63 2.632a10.202 10.202 0 0 0-3.395-1.412V2.262C63.161 1.566 62.596 1 61.9 1h-1.798c-.696 0-1.26.566-1.26 1.262v3.716a10.216 10.216 0 0 0-3.396 1.412l-2.632-2.632a1.261 1.261 0 0 0-1.783 0L49.76 6.03a1.26 1.26 0 0 0 0 1.784l2.63 2.63a10.196 10.196 0 0 0-1.412 3.396h-3.717a1.26 1.26 0 0 0-1.26 1.262V16.9a1.26 1.26 0 0 0 1.26 1.26h3.717c.265 1.23.75 2.375 1.411 3.396l-2.63 2.632a1.258 1.258 0 0 0 0 1.782l1.271 1.274a1.261 1.261 0 0 0 1.783 0l2.632-2.631a10.256 10.256 0 0 0 3.395 1.41v3.716c0 .696.565 1.263 1.261 1.263H61.9c.697 0 1.262-.567 1.262-1.263v-3.715a10.242 10.242 0 0 0 3.394-1.411l2.631 2.63a1.264 1.264 0 0 0 1.785 0l1.272-1.273a1.258 1.258 0 0 0 0-1.782l-2.63-2.632a10.153 10.153 0 0 0 1.41-3.395h3.717A1.26 1.26 0 0 0 76 16.9v-1.798a1.26 1.26 0 0 0-1.26-1.262z" stroke="#FFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M45 2H3.727A2.727 2.727 0 0 0 1 4.726v86.545A2.727 2.727 0 0 0 3.727 94h69.546A2.727 2.727 0 0 0 76 91.272V31M1 12h39" stroke="#FFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M8.256 7.028a2 2 0 1 1-4.002-.001 2 2 0 0 1 4.002.001m6 0a2 2 0 1 1-4.002-.001 2 2 0 0 1 4.002.001m6 0a2 2 0 1 1-4.002-.001 2 2 0 0 1 4.002.001" fill="#FFF"/><path d="M66 39H11m55 9H11m55 8H11m55 9H11m31-35H11m31 44H11" stroke="#FFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></g></svg>
|
||||
<svg height="95" viewBox="0 0 77 95" width="77" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m-10-1h96v96h-96z"/><g stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m65.917 16a4.917 4.917 0 1 1 -9.834 0 4.917 4.917 0 0 1 9.834 0z"/><path d="m74.74 13.84h-3.718a10.153 10.153 0 0 0 -1.41-3.395l2.631-2.631a1.26 1.26 0 0 0 0-1.784l-1.272-1.272a1.264 1.264 0 0 0 -1.785 0l-2.63 2.632a10.202 10.202 0 0 0 -3.395-1.412v-3.716c0-.696-.565-1.262-1.261-1.262h-1.798c-.696 0-1.26.566-1.26 1.262v3.716a10.216 10.216 0 0 0 -3.396 1.412l-2.632-2.632a1.261 1.261 0 0 0 -1.783 0l-1.271 1.272a1.26 1.26 0 0 0 0 1.784l2.63 2.63a10.196 10.196 0 0 0 -1.412 3.396h-3.717a1.26 1.26 0 0 0 -1.26 1.262v1.798a1.26 1.26 0 0 0 1.26 1.26h3.717c.265 1.23.75 2.375 1.411 3.396l-2.63 2.632a1.258 1.258 0 0 0 0 1.782l1.271 1.274a1.261 1.261 0 0 0 1.783 0l2.632-2.631a10.256 10.256 0 0 0 3.395 1.41v3.716c0 .696.565 1.263 1.261 1.263h1.799c.697 0 1.262-.567 1.262-1.263v-3.715a10.242 10.242 0 0 0 3.394-1.411l2.631 2.63a1.264 1.264 0 0 0 1.785 0l1.272-1.273a1.258 1.258 0 0 0 0-1.782l-2.63-2.632a10.153 10.153 0 0 0 1.41-3.395h3.717a1.26 1.26 0 0 0 1.259-1.261v-1.798a1.26 1.26 0 0 0 -1.26-1.262z"/><path d="m45 2h-41.273a2.727 2.727 0 0 0 -2.727 2.726v86.545a2.727 2.727 0 0 0 2.727 2.729h69.546a2.727 2.727 0 0 0 2.727-2.728v-60.272m-75-19h39"/></g><path d="m8.256 7.028a2 2 0 1 1 -4.002-.001 2 2 0 0 1 4.002.001m6 0a2 2 0 1 1 -4.002-.001 2 2 0 0 1 4.002.001m6 0a2 2 0 1 1 -4.002-.001 2 2 0 0 1 4.002.001" fill="#fff"/><path d="m66 39h-55m55 9h-55m55 8h-55m55 9h-55m31-35h-31m31 44h-31" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></g></svg>
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.7 KiB |
|
@ -1 +1 @@
|
|||
<svg width="78" height="77" viewBox="0 0 78 77" xmlns="http://www.w3.org/2000/svg"><title>Bubble</title><g fill="none" fill-rule="evenodd"><path d="M1.71 74.123S7.274 57.91 6.97 57.397c-.03-.05-.054-.097-.082-.14A37.27 37.27 0 0 1 1.841 38.5C1.84 17.79 18.628 1 39.335 1c20.712 0 37.5 16.79 37.5 37.5S60.047 76 39.335 76a37.353 37.353 0 0 1-20.765-6.282.213.213 0 0 1 .032.025L1.71 74.123z" stroke="#FFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M25.168 38.917a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0M42.882 38.917a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0M60.597 38.917a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0" fill="#FFF"/></g></svg>
|
||||
<svg height="77" viewBox="0 0 78 77" width="78" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m1.71 74.123s5.564-16.213 5.26-16.726c-.03-.05-.054-.097-.082-.14a37.27 37.27 0 0 1 -5.047-18.757c-.001-20.71 16.787-37.5 37.494-37.5 20.712 0 37.5 16.79 37.5 37.5s-16.788 37.5-37.5 37.5a37.353 37.353 0 0 1 -20.765-6.282.213.213 0 0 1 .032.025z" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="m25.168 38.917a3.75 3.75 0 1 1 -7.5 0 3.75 3.75 0 0 1 7.5 0m17.714 0a3.75 3.75 0 1 1 -7.5 0 3.75 3.75 0 0 1 7.5 0m17.715 0a3.75 3.75 0 1 1 -7.5 0 3.75 3.75 0 0 1 7.5 0" fill="#fff"/></g></svg>
|
Before Width: | Height: | Size: 678 B After Width: | Height: | Size: 653 B |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.8 KiB |
|
@ -1 +1 @@
|
|||
<svg width="94" height="96" viewBox="0 0 94 96" xmlns="http://www.w3.org/2000/svg"><title>usager</title><g fill="none" fill-rule="evenodd"><path d="M17.334 12.334h39" stroke="#0069CC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M26.09 7.316a2 2 0 1 1-4.002-.001 2 2 0 0 1 4.002.001M32.09 7.316a2 2 0 1 1-4.002-.001 2 2 0 0 1 4.002.001M38.09 7.316a2 2 0 1 1-4.002-.001 2 2 0 0 1 4.002.001" fill="#0069CC"/><path d="M82.334 39.334h-55M82.334 48.334h-53M82.334 56.334H34.995M82.334 65.334H39.352M54.334 30.334h-27M58.334 74.334H39.021M37.334 94.334h52.773c1.506 0 2.227-2.268 2.227-3.773V31.334M61.334 2.334H20.561c-1.506 0-3.227.174-3.227 1.68v43.32" stroke="#0069CC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><g><path d="M62.284 30.249s2.225-6.485 2.104-6.69l-.033-.056A14.908 14.908 0 0 1 62.336 16c0-8.284 6.715-15 14.998-15 8.285 0 15 6.716 15 15 0 8.284-6.715 15-15 15-3.072 0-5.926-.929-8.306-2.513.003.001.013.01.013.01l-6.757 1.752z" fill="#D9E9FD"/><path d="M62.284 30.249s2.225-6.485 2.104-6.69l-.033-.056A14.908 14.908 0 0 1 62.336 16c0-8.284 6.715-15 14.998-15 8.285 0 15 6.716 15 15 0 8.284-6.715 15-15 15-3.072 0-5.926-.929-8.306-2.513.003.001.013.01.013.01l-6.757 1.752z" stroke="#0069CC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M71.667 16.167a1.501 1.501 0 1 1-3.002 0 1.501 1.501 0 0 1 3.002 0M78.753 16.167a1.501 1.501 0 1 1-3.002 0 1.501 1.501 0 0 1 3.002 0M85.839 16.167a1.501 1.501 0 1 1-3.002 0 1.501 1.501 0 0 1 3.002 0" fill="#0069CC"/></g><g><path d="M1 87.05c4.277 4.37 10.235 7.094 16.834 7.094s12.555-2.725 16.833-7.096c-1.229-4.143-4.164-8.141-10.997-8.141 0 0-2.18 2.123-5.836 2.123-3.659 0-5.836-2.123-5.836-2.123-6.834 0-9.768 3.998-10.998 8.143" fill="#D9E9FD"/><path d="M1 87.05c4.277 4.37 10.235 7.094 16.834 7.094s12.555-2.725 16.833-7.096c-1.229-4.143-4.164-8.141-10.997-8.141 0 0-2.18 2.123-5.836 2.123-3.659 0-5.836-2.123-5.836-2.123-6.834 0-9.768 3.998-10.998 8.143z" stroke="#0069CC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M17.834 72.32c5.044 0 9.138-4.069 9.138-9.083 0-5.025-4.094-9.094-9.138-9.094s-9.138 4.07-9.138 9.094c0 5.014 4.096 9.082 9.138 9.082" fill="#D9E9FD"/><path d="M17.834 72.32c5.044 0 9.138-4.069 9.138-9.083 0-5.025-4.094-9.094-9.138-9.094s-9.138 4.07-9.138 9.094c0 5.014 4.096 9.082 9.138 9.082z" stroke="#0069CC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></g></g></svg>
|
||||
<svg height="96" viewBox="0 0 94 96" width="94" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m17.334 12.334h39" stroke="#0069cc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="m26.09 7.316a2 2 0 1 1 -4.002-.001 2 2 0 0 1 4.002.001m6 0a2 2 0 1 1 -4.002-.001 2 2 0 0 1 4.002.001m6 0a2 2 0 1 1 -4.002-.001 2 2 0 0 1 4.002.001" fill="#0069cc"/><path d="m82.334 39.334h-55m55 9h-53m53 8h-47.339m47.339 9h-42.982m14.982-35h-27m31 44h-19.313m-1.687 20h52.773c1.506 0 2.227-2.268 2.227-3.773v-59.227m-31-29h-40.773c-1.506 0-3.227.174-3.227 1.68v43.32" stroke="#0069cc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="m62.284 30.249s2.225-6.485 2.104-6.69l-.033-.056a14.908 14.908 0 0 1 -2.019-7.503c0-8.284 6.715-15 14.998-15 8.285 0 15 6.716 15 15s-6.715 15-15 15c-3.072 0-5.926-.929-8.306-2.513.003.001.013.01.013.01z" fill="#d9e9fd"/><path d="m62.284 30.249s2.225-6.485 2.104-6.69l-.033-.056a14.908 14.908 0 0 1 -2.019-7.503c0-8.284 6.715-15 14.998-15 8.285 0 15 6.716 15 15s-6.715 15-15 15c-3.072 0-5.926-.929-8.306-2.513.003.001.013.01.013.01z" stroke="#0069cc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="m71.667 16.167a1.501 1.501 0 1 1 -3.002 0 1.501 1.501 0 0 1 3.002 0m7.086 0a1.501 1.501 0 1 1 -3.002 0 1.501 1.501 0 0 1 3.002 0m7.086 0a1.501 1.501 0 1 1 -3.002 0 1.501 1.501 0 0 1 3.002 0" fill="#0069cc"/><path d="m1 87.05c4.277 4.37 10.235 7.094 16.834 7.094s12.555-2.725 16.833-7.096c-1.229-4.143-4.164-8.141-10.997-8.141 0 0-2.18 2.123-5.836 2.123-3.659 0-5.836-2.123-5.836-2.123-6.834 0-9.768 3.998-10.998 8.143" fill="#d9e9fd"/><path d="m1 87.05c4.277 4.37 10.235 7.094 16.834 7.094s12.555-2.725 16.833-7.096c-1.229-4.143-4.164-8.141-10.997-8.141 0 0-2.18 2.123-5.836 2.123-3.659 0-5.836-2.123-5.836-2.123-6.834 0-9.768 3.998-10.998 8.143z" stroke="#0069cc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="m17.834 72.32c5.044 0 9.138-4.069 9.138-9.083 0-5.025-4.094-9.094-9.138-9.094s-9.138 4.07-9.138 9.094c0 5.014 4.096 9.082 9.138 9.082" fill="#d9e9fd"/><path d="m17.834 72.32c5.044 0 9.138-4.069 9.138-9.083 0-5.025-4.094-9.094-9.138-9.094s-9.138 4.07-9.138 9.094c0 5.014 4.096 9.082 9.138 9.082z" stroke="#0069cc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></g></svg>
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.3 KiB |
|
@ -1 +1 @@
|
|||
<svg width="39" height="31" viewBox="0 0 39 31" xmlns="http://www.w3.org/2000/svg"><title>Slice</title><path d="M14.832 15.96v14.432H0v-10.13c0-3.886.672-7.471 2.016-10.756C3.36 6.222 5.616 3.053 8.784 0l5.472 4.163C10.512 8.05 8.4 11.981 7.92 15.96h6.912zm24.192 0v14.432H24.192v-10.13c0-3.886.672-7.471 2.016-10.756 1.344-3.284 3.6-6.453 6.768-9.506l5.472 4.163c-3.744 3.886-5.856 7.818-6.336 11.796h6.912z" fill="#0069CC" fill-rule="nonzero"/></svg>
|
||||
<svg height="31" viewBox="0 0 39 31" width="39" xmlns="http://www.w3.org/2000/svg"><path d="m14.832 15.96v14.432h-14.832v-10.13c0-3.886.672-7.471 2.016-10.756 1.344-3.284 3.6-6.453 6.768-9.506l5.472 4.163c-3.744 3.887-5.856 7.818-6.336 11.797zm24.192 0v14.432h-14.832v-10.13c0-3.886.672-7.471 2.016-10.756 1.344-3.284 3.6-6.453 6.768-9.506l5.472 4.163c-3.744 3.886-5.856 7.818-6.336 11.796h6.912z" fill="#0069cc"/></svg>
|
Before Width: | Height: | Size: 452 B After Width: | Height: | Size: 420 B |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 2.4 KiB |
|
@ -1 +1 @@
|
|||
<svg width="10" height="6" viewBox="0 0 10 6" xmlns="http://www.w3.org/2000/svg"><title>ic_dropdown</title><g fill="none" fill-rule="evenodd"><path stroke="#333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M1 1l4 4 4-4"/><path d="M-7-9h24v24H-7z"/></g></svg>
|
||||
<svg height="6" viewBox="0 0 10 6" width="10" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m1 1 4 4 4-4" stroke="#333" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="m-7-9h24v24h-24z"/></g></svg>
|
Before Width: | Height: | Size: 281 B After Width: | Height: | Size: 256 B |
|
@ -1 +1 @@
|
|||
<svg width="10" height="6" viewBox="0 0 10 6" xmlns="http://www.w3.org/2000/svg"><title>ic_dropdown</title><g fill="none" fill-rule="evenodd"><path stroke="#333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M1 5l4-4 4 4"/><path d="M-7 15h24V-9H-7z"/></g></svg>
|
||||
<svg height="6" viewBox="0 0 10 6" width="10" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m1 5 4-4 4 4" stroke="#333" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="m-7 15h24v-24h-24z"/></g></svg>
|
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 258 B |
|
@ -34,10 +34,10 @@
|
|||
|
||||
#tps-title {
|
||||
font-family: Arial;
|
||||
font-size: 24px;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
line-height: 28px;
|
||||
margin-top: 17px;
|
||||
line-height: 20px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -349,7 +349,6 @@ $cta-panel-button-border-size: 2px;
|
|||
|
||||
@mixin role-button {
|
||||
@include horizontal-padding(30px);
|
||||
height: 50px;
|
||||
display: inline-block;
|
||||
border-radius: 100px;
|
||||
font-size: 20px;
|
||||
|
|
|
@ -8,7 +8,7 @@ class Admin::AttestationTemplatesController < AdminController
|
|||
def update
|
||||
attestation_template = @procedure.attestation_template
|
||||
|
||||
if attestation_template.update_attributes(activated_attestation_params)
|
||||
if attestation_template.update(activated_attestation_params)
|
||||
flash.notice = "L'attestation a bien été modifiée"
|
||||
else
|
||||
flash.alert = attestation_template.errors.full_messages.join('<br>')
|
||||
|
|
|
@ -19,7 +19,7 @@ class Admin::GestionnairesController < AdminController
|
|||
|
||||
def create
|
||||
email = params[:gestionnaire][:email].downcase
|
||||
@gestionnaire = Gestionnaire.find_by_email(email)
|
||||
@gestionnaire = Gestionnaire.find_by(email: email)
|
||||
procedure_id = params[:procedure_id]
|
||||
|
||||
if @gestionnaire.nil?
|
||||
|
|
|
@ -11,7 +11,7 @@ class Admin::MailTemplatesController < AdminController
|
|||
|
||||
def update
|
||||
mail_template = find_mail_template_by_slug(params[:id])
|
||||
mail_template.update_attributes(update_params)
|
||||
mail_template.update(update_params)
|
||||
redirect_to admin_procedure_mail_templates_path
|
||||
end
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ class Admin::PiecesJustificativesController < AdminController
|
|||
end
|
||||
|
||||
def update
|
||||
if @procedure.update_attributes(update_params)
|
||||
if @procedure.update(update_params)
|
||||
flash.now.notice = 'Modifications sauvegardées'
|
||||
else
|
||||
flash.now.notice = 'Une erreur est survenue'
|
||||
|
|
|
@ -105,7 +105,7 @@ class Admin::ProceduresController < AdminController
|
|||
def update
|
||||
@procedure = current_administrateur.procedures.find(params[:id])
|
||||
|
||||
if !@procedure.update_attributes(procedure_params)
|
||||
if !@procedure.update(procedure_params)
|
||||
flash.now.alert = @procedure.errors.full_messages
|
||||
return render 'edit'
|
||||
end
|
||||
|
@ -132,7 +132,7 @@ class Admin::ProceduresController < AdminController
|
|||
return redirect_to admin_procedures_path
|
||||
end
|
||||
|
||||
procedure_path = ProcedurePath.find_by_path(params[:procedure_path])
|
||||
procedure_path = ProcedurePath.find_by(path: params[:procedure_path])
|
||||
if procedure_path
|
||||
if procedure_path.administrateur_id == current_administrateur.id
|
||||
procedure_path.procedure.archive
|
||||
|
@ -154,7 +154,7 @@ class Admin::ProceduresController < AdminController
|
|||
end
|
||||
|
||||
def transfer
|
||||
admin = Administrateur.find_by_email(params[:email_admin].downcase)
|
||||
admin = Administrateur.find_by(email: params[:email_admin].downcase)
|
||||
|
||||
if admin.nil?
|
||||
render '/admin/procedures/transfer', formats: 'js', status: 404
|
||||
|
|
|
@ -15,7 +15,7 @@ class Admin::TypesDeChampController < AdminController
|
|||
end
|
||||
|
||||
def update
|
||||
@procedure.update_attributes(TypesDeChampService.create_update_procedure_params params)
|
||||
@procedure.update(TypesDeChampService.create_update_procedure_params params)
|
||||
create_facade
|
||||
flash.now.notice = 'Modifications sauvegardées'
|
||||
render 'show', format: :js
|
||||
|
|
|
@ -16,7 +16,7 @@ class Admin::TypesDeChampPrivateController < AdminController
|
|||
end
|
||||
|
||||
def update
|
||||
@procedure.update_attributes(TypesDeChampService.create_update_procedure_params params, true)
|
||||
@procedure.update(TypesDeChampService.create_update_procedure_params params, true)
|
||||
create_facade
|
||||
flash.now.notice = 'Modifications sauvegardées'
|
||||
render 'admin/types_de_champ/show', format: :js
|
||||
|
|
|
@ -13,7 +13,7 @@ class APIController < ApplicationController
|
|||
end
|
||||
|
||||
def current_administrateur
|
||||
@administrateur ||= Administrateur.find_by_api_token(params[:token])
|
||||
@administrateur ||= Administrateur.find_by(api_token: params[:token])
|
||||
end
|
||||
|
||||
def default_format_json
|
||||
|
|
|
@ -9,7 +9,7 @@ class InvitesController < ApplicationController
|
|||
|
||||
email = params[:email].downcase
|
||||
|
||||
user = User.find_by_email(email)
|
||||
user = User.find_by(email: email)
|
||||
invite = class_var.create(dossier: dossier, user: user, email: email, email_sender: email_sender)
|
||||
|
||||
if invite.valid?
|
||||
|
|
|
@ -13,7 +13,7 @@ module NewGestionnaire
|
|||
@avis_a_donner = gestionnaire_avis.without_answer
|
||||
@avis_donnes = gestionnaire_avis.with_answer
|
||||
|
||||
@statut = params[:statut].present? ? params[:statut] : A_DONNER_STATUS
|
||||
@statut = params[:statut].presence || A_DONNER_STATUS
|
||||
|
||||
@avis = case @statut
|
||||
when A_DONNER_STATUS
|
||||
|
@ -32,7 +32,7 @@ module NewGestionnaire
|
|||
end
|
||||
|
||||
def update
|
||||
avis.update_attributes(avis_params)
|
||||
avis.update(avis_params)
|
||||
flash.notice = 'Votre réponse est enregistrée.'
|
||||
redirect_to instruction_gestionnaire_avis_path(avis)
|
||||
end
|
||||
|
|
|
@ -57,13 +57,13 @@ module NewGestionnaire
|
|||
end
|
||||
|
||||
def archive
|
||||
dossier.update_attributes(archived: true)
|
||||
dossier.update(archived: true)
|
||||
current_gestionnaire.unfollow(dossier)
|
||||
redirect_back(fallback_location: gestionnaire_procedures_url)
|
||||
end
|
||||
|
||||
def unarchive
|
||||
dossier.update_attributes(archived: false)
|
||||
dossier.update(archived: false)
|
||||
redirect_back(fallback_location: gestionnaire_procedures_url)
|
||||
end
|
||||
|
||||
|
@ -166,7 +166,7 @@ module NewGestionnaire
|
|||
def update_annotations
|
||||
dossier = current_gestionnaire.dossiers.includes(champs_private: :type_de_champ).find(params[:dossier_id])
|
||||
# FIXME: add attachements validation, cf. Champ#piece_justificative_file_errors
|
||||
dossier.update_attributes(champs_private_params)
|
||||
dossier.update(champs_private_params)
|
||||
redirect_to annotations_privees_gestionnaire_dossier_path(procedure, dossier)
|
||||
end
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ module NewGestionnaire
|
|||
filtered_sorted_ids = sorted_ids
|
||||
end
|
||||
|
||||
page = params[:page].present? ? params[:page] : 1
|
||||
page = params[:page].presence || 1
|
||||
|
||||
filtered_sorted_paginated_ids = Kaminari
|
||||
.paginate_array(filtered_sorted_ids)
|
||||
|
@ -109,11 +109,11 @@ module NewGestionnaire
|
|||
c.to_json
|
||||
end
|
||||
|
||||
procedure_presentation.update_attributes(displayed_fields: fields)
|
||||
procedure_presentation.update(displayed_fields: fields)
|
||||
|
||||
current_sort = procedure_presentation.sort
|
||||
if !values.include?("#{current_sort['table']}/#{current_sort['column']}")
|
||||
procedure_presentation.update_attributes(sort: Procedure.default_sort)
|
||||
procedure_presentation.update(sort: Procedure.default_sort)
|
||||
end
|
||||
|
||||
redirect_back(fallback_location: gestionnaire_procedure_url(procedure))
|
||||
|
@ -136,7 +136,7 @@ module NewGestionnaire
|
|||
'order' => order
|
||||
}.to_json
|
||||
|
||||
procedure_presentation.update_attributes(sort: sort)
|
||||
procedure_presentation.update(sort: sort)
|
||||
|
||||
redirect_back(fallback_location: gestionnaire_procedure_url(procedure))
|
||||
end
|
||||
|
@ -154,7 +154,7 @@ module NewGestionnaire
|
|||
'value' => params[:value]
|
||||
}
|
||||
|
||||
procedure_presentation.update_attributes(filters: filters.to_json)
|
||||
procedure_presentation.update(filters: filters.to_json)
|
||||
end
|
||||
|
||||
redirect_back(fallback_location: gestionnaire_procedure_url(procedure))
|
||||
|
@ -168,7 +168,7 @@ module NewGestionnaire
|
|||
|
||||
filters[statut] = filters[statut] - [filter_to_remove]
|
||||
|
||||
procedure_presentation.update_attributes(filters: filters.to_json)
|
||||
procedure_presentation.update(filters: filters.to_json)
|
||||
|
||||
redirect_back(fallback_location: gestionnaire_procedure_url(procedure))
|
||||
end
|
||||
|
@ -187,7 +187,7 @@ module NewGestionnaire
|
|||
private
|
||||
|
||||
def statut
|
||||
@statut ||= params[:statut].present? ? params[:statut] : 'a-suivre'
|
||||
@statut ||= (params[:statut].presence || 'a-suivre')
|
||||
end
|
||||
|
||||
def procedure
|
||||
|
@ -245,7 +245,6 @@ module NewGestionnaire
|
|||
.includes(filter['table'])
|
||||
.where("#{filter['table'].pluralize}.#{filter['column']} LIKE ?", "%#{filter['value']}%")
|
||||
end
|
||||
|
||||
end.pluck(:id)
|
||||
end.reduce(:&)
|
||||
end
|
||||
|
|
|
@ -170,7 +170,7 @@ class StatsController < ApplicationController
|
|||
end
|
||||
|
||||
def avis_usage
|
||||
[3.week.ago, 2.week.ago, 1.week.ago].map do |min_date|
|
||||
[3.weeks.ago, 2.weeks.ago, 1.week.ago].map do |min_date|
|
||||
max_date = min_date + 1.week
|
||||
|
||||
weekly_dossiers = Dossier.includes(:avis).where(created_at: min_date..max_date).to_a
|
||||
|
@ -189,7 +189,7 @@ class StatsController < ApplicationController
|
|||
end
|
||||
|
||||
def avis_average_answer_time
|
||||
[3.week.ago, 2.week.ago, 1.week.ago].map do |min_date|
|
||||
[3.weeks.ago, 2.weeks.ago, 1.week.ago].map do |min_date|
|
||||
max_date = min_date + 1.week
|
||||
|
||||
average = Avis.with_answer
|
||||
|
@ -203,7 +203,7 @@ class StatsController < ApplicationController
|
|||
end
|
||||
|
||||
def avis_answer_percentages
|
||||
[3.week.ago, 2.week.ago, 1.week.ago].map do |min_date|
|
||||
[3.weeks.ago, 2.weeks.ago, 1.week.ago].map do |min_date|
|
||||
max_date = min_date + 1.week
|
||||
|
||||
weekly_avis = Avis.where(created_at: min_date..max_date)
|
||||
|
@ -222,7 +222,7 @@ class StatsController < ApplicationController
|
|||
end
|
||||
|
||||
def motivation_usage_dossier
|
||||
[3.week.ago, 2.week.ago, 1.week.ago].map do |date|
|
||||
[3.weeks.ago, 2.weeks.ago, 1.week.ago].map do |date|
|
||||
min_date = date.beginning_of_week
|
||||
max_date = date.end_of_week
|
||||
|
||||
|
@ -241,7 +241,7 @@ class StatsController < ApplicationController
|
|||
end
|
||||
|
||||
def motivation_usage_procedure
|
||||
[3.week.ago, 2.week.ago, 1.week.ago].map do |date|
|
||||
[3.weeks.ago, 2.weeks.ago, 1.week.ago].map do |date|
|
||||
min_date = date.beginning_of_week
|
||||
max_date = date.end_of_week
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ class Users::CarteController < UsersController
|
|||
ModuleApiCartoService.save_cadastre! dossier, params[:json_latlngs]
|
||||
end
|
||||
|
||||
dossier.update_attributes(json_latlngs: params[:json_latlngs])
|
||||
dossier.update(json_latlngs: params[:json_latlngs])
|
||||
|
||||
redirect_to modifier_dossier_path(dossier)
|
||||
end
|
||||
|
|
|
@ -88,7 +88,7 @@ class Users::DescriptionController < UsersController
|
|||
flash.notice = 'Nouveaux fichiers envoyés' if flash.alert.nil?
|
||||
end
|
||||
|
||||
return redirect_to users_dossiers_invite_path(id: current_user.invites.find_by_dossier_id(@dossier.id).id) if invite
|
||||
return redirect_to users_dossiers_invite_path(id: current_user.invites.find_by(dossier_id: @dossier.id).id) if invite
|
||||
|
||||
redirect_to users_dossier_recapitulatif_path
|
||||
end
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
class Users::Dossiers::InvitesController < UsersController
|
||||
def authenticate_user!
|
||||
session["user_return_to"] = request.fullpath
|
||||
return redirect_to new_user_registration_path(user_email: params[:email]) if params[:email].present? && User.find_by_email(params[:email]).nil?
|
||||
return redirect_to new_user_registration_path(user_email: params[:email]) if params[:email].present? && User.find_by(email: params[:email]).nil?
|
||||
|
||||
super
|
||||
end
|
||||
|
|
|
@ -110,7 +110,7 @@ class Users::DossiersController < UsersController
|
|||
|
||||
if etablissement_attributes.present?
|
||||
etablissement_attributes = ActionController::Parameters.new(etablissement_attributes).permit!
|
||||
etablissement = @facade.dossier.create_etablissement(etablissement_attributes)
|
||||
etablissement = @facade.dossier.build_etablissement(etablissement_attributes)
|
||||
if etablissement.save
|
||||
Rails.logger.info("etablissement saved, siret: #{siret}, id: #{etablissement.id}")
|
||||
@facade.dossier.mandataire_social!(current_user.france_connect_information)
|
||||
|
@ -156,7 +156,7 @@ class Users::DossiersController < UsersController
|
|||
flash.alert = individual_errors
|
||||
redirect_to users_dossier_path(id: @facade.dossier.id)
|
||||
else
|
||||
if !Dossier.find(@facade.dossier.id).update_attributes update_params_with_formatted_birthdate
|
||||
if !Dossier.find(@facade.dossier.id).update update_params_with_formatted_birthdate
|
||||
flash.alert = @facade.dossier.errors.full_messages
|
||||
|
||||
return redirect_to users_dossier_path(id: @facade.dossier.id)
|
||||
|
@ -259,7 +259,7 @@ class Users::DossiersController < UsersController
|
|||
end
|
||||
|
||||
def update_current_user_siret! siret
|
||||
current_user.update_attributes(siret: siret)
|
||||
current_user.update(siret: siret)
|
||||
end
|
||||
|
||||
def facade id = params[:id]
|
||||
|
|
|
@ -20,7 +20,7 @@ class Users::SessionsController < Sessions::SessionsController
|
|||
try_to_authenticate(Administrateur, remember_me)
|
||||
|
||||
if user_signed_in?
|
||||
current_user.update_attributes(loged_in_with_france_connect: '')
|
||||
current_user.update(loged_in_with_france_connect: '')
|
||||
end
|
||||
|
||||
if user_signed_in?
|
||||
|
@ -44,7 +44,7 @@ class Users::SessionsController < Sessions::SessionsController
|
|||
|
||||
if user_signed_in?
|
||||
connected_with_france_connect = current_user.loged_in_with_france_connect
|
||||
current_user.update_attributes(loged_in_with_france_connect: '')
|
||||
current_user.update(loged_in_with_france_connect: '')
|
||||
|
||||
sign_out :user
|
||||
|
||||
|
@ -78,7 +78,9 @@ class Users::SessionsController < Sessions::SessionsController
|
|||
end
|
||||
|
||||
def try_to_authenticate(klass, remember_me = false)
|
||||
if resource = klass.find_for_database_authentication(email: params[:user][:email])
|
||||
resource = klass.find_for_database_authentication(email: params[:user][:email])
|
||||
|
||||
if resource.present?
|
||||
if resource.valid_password?(params[:user][:password])
|
||||
resource.remember_me = remember_me
|
||||
sign_in resource
|
||||
|
|
|
@ -2,7 +2,7 @@ class EntrepriseDecorator < Draper::Decorator
|
|||
delegate_all
|
||||
|
||||
def raison_sociale_or_name
|
||||
raison_sociale.blank? ? "#{nom} #{prenom}" : raison_sociale
|
||||
raison_sociale.presence || "#{nom} #{prenom}"
|
||||
end
|
||||
|
||||
def effectif
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
class TypeDeChampPrivateDecorator < TypeDeChampDecorator
|
||||
end
|
|
@ -19,4 +19,15 @@ module ApplicationHelper
|
|||
current_gestionnaire.try(:email) ||
|
||||
current_administrateur.try(:email)
|
||||
end
|
||||
|
||||
def root_path_for_profile(nav_bar_profile)
|
||||
case nav_bar_profile
|
||||
when :gestionnaire
|
||||
gestionnaire_procedures_path
|
||||
when :user
|
||||
users_dossiers_path
|
||||
else
|
||||
root_path
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -7,7 +7,9 @@ class FileSizeValidator < ActiveModel::EachValidator
|
|||
RESERVED_OPTIONS = [:minimum, :maximum, :within, :is, :tokenizer, :too_short, :too_long]
|
||||
|
||||
def initialize(options)
|
||||
if range = (options.delete(:in) || options.delete(:within))
|
||||
range = options.delete(:in) || options.delete(:within)
|
||||
|
||||
if range.present?
|
||||
raise ArgumentError, ":in and :within must be a Range" if !range.is_a?(Range)
|
||||
options[:minimum], options[:maximum] = range.begin, range.end
|
||||
options[:maximum] -= 1 if range.exclude_end?
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class ApplicationMailer < ActionMailer::Base
|
||||
default from: "'demarches-simplifiees.fr' <#{I18n.t('dynamics.contact_email')}>"
|
||||
default from: "demarches-simplifiees.fr <#{I18n.t('dynamics.contact_email')}>"
|
||||
layout 'mailer'
|
||||
end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Administrateur < ActiveRecord::Base
|
||||
class Administrateur < ApplicationRecord
|
||||
devise :database_authenticatable, :registerable,
|
||||
:recoverable, :rememberable, :trackable, :validatable
|
||||
|
||||
|
@ -26,7 +26,7 @@ class Administrateur < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def renew_api_token
|
||||
update_attributes(api_token: generate_api_token)
|
||||
update(api_token: generate_api_token)
|
||||
end
|
||||
|
||||
def registration_state
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Administration < ActiveRecord::Base
|
||||
class Administration < ApplicationRecord
|
||||
# Include default devise modules. Others available are:
|
||||
# :confirmable, :lockable, :timeoutable and :omniauthable
|
||||
devise :database_authenticatable, :rememberable, :trackable, :validatable, :omniauthable, omniauth_providers: [:github]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class AssignTo < ActiveRecord::Base
|
||||
class AssignTo < ApplicationRecord
|
||||
belongs_to :procedure
|
||||
belongs_to :gestionnaire
|
||||
has_one :procedure_presentation, dependent: :destroy
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Cadastre < ActiveRecord::Base
|
||||
class Cadastre < ApplicationRecord
|
||||
belongs_to :dossier, touch: true
|
||||
|
||||
def geometry
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Cerfa < ActiveRecord::Base
|
||||
class Cerfa < ApplicationRecord
|
||||
belongs_to :dossier, touch: true
|
||||
belongs_to :user
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Champ < ActiveRecord::Base
|
||||
class Champ < ApplicationRecord
|
||||
self.inheritance_column = :_type_disabled
|
||||
|
||||
belongs_to :dossier, touch: true
|
||||
|
@ -13,8 +13,8 @@ class Champ < ActiveRecord::Base
|
|||
before_save :multiple_select_to_string, if: Proc.new { type_champ == 'multiple_drop_down_list' }
|
||||
|
||||
scope :updated_since?, -> (date) { where('champs.updated_at > ?', date) }
|
||||
scope :public_only, -> { where(type: 'ChampPublic').or(where(private: false)) }
|
||||
scope :private_only, -> { where(type: 'ChampPrivate').or(where(private: true)) }
|
||||
scope :public_only, -> { where(private: false) }
|
||||
scope :private_only, -> { where(private: true) }
|
||||
|
||||
PIECE_JUSTIFICATIVE_FILE_MAX_SIZE = 200.megabytes
|
||||
|
||||
|
@ -37,10 +37,6 @@ class Champ < ActiveRecord::Base
|
|||
!private?
|
||||
end
|
||||
|
||||
def private?
|
||||
super || type == 'ChampPrivate'
|
||||
end
|
||||
|
||||
def same_hour? num
|
||||
same_date? num, '%H'
|
||||
end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Commentaire < ActiveRecord::Base
|
||||
class Commentaire < ApplicationRecord
|
||||
belongs_to :dossier, touch: true
|
||||
belongs_to :champ
|
||||
belongs_to :piece_justificative
|
||||
|
@ -6,7 +6,7 @@ class Commentaire < ActiveRecord::Base
|
|||
mount_uploader :file, CommentaireFileUploader
|
||||
validates :file, file_size: { maximum: 20.megabytes, message: "La taille du fichier doit être inférieure à 20 Mo" }
|
||||
validate :is_virus_free?
|
||||
validates_presence_of :body, message: "Votre message ne peut être vide"
|
||||
validates :body, presence: { message: "Votre message ne peut être vide" }
|
||||
|
||||
default_scope { order(created_at: :asc) }
|
||||
scope :updated_since?, -> (date) { where('commentaires.updated_at > ?', date) }
|
||||
|
@ -31,19 +31,12 @@ class Commentaire < ActiveRecord::Base
|
|||
dossier_user_email = dossier.user.email
|
||||
invited_users_emails = dossier.invites_user.pluck(:email).to_a
|
||||
|
||||
case email
|
||||
when I18n.t("dynamics.contact_email")
|
||||
# The commentaire is a copy of an automated notification email
|
||||
# we sent to a user, so do nothing
|
||||
|
||||
when dossier_user_email, *invited_users_emails
|
||||
# A user or an inved user posted a commentaire,
|
||||
# do nothing, the notification system will properly
|
||||
|
||||
else
|
||||
# A gestionnaire posted a commentaire,
|
||||
# we need to notify the user
|
||||
|
||||
# - If the email is the contact email, the commentaire is a copy
|
||||
# of an automated notification email we sent to a user, so do nothing.
|
||||
# - If a user or an invited user posted a commentaire, do nothing,
|
||||
# the notification system will properly
|
||||
# - Otherwise, a gestionnaire posted a commentaire, we need to notify the user
|
||||
if !email.in?([I18n.t("dynamics.contact_email"), dossier_user_email, *invited_users_emails])
|
||||
notify_user
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Dossier < ActiveRecord::Base
|
||||
class Dossier < ApplicationRecord
|
||||
enum state: {
|
||||
brouillon: 'brouillon',
|
||||
en_construction: 'en_construction',
|
||||
|
@ -181,7 +181,6 @@ class Dossier < ActiveRecord::Base
|
|||
|
||||
def reset!
|
||||
etablissement.destroy
|
||||
entreprise.destroy
|
||||
|
||||
update_columns(autorisation_donnees: false)
|
||||
end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class DropDownList < ActiveRecord::Base
|
||||
class DropDownList < ApplicationRecord
|
||||
belongs_to :type_de_champ
|
||||
|
||||
def options
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
class Entreprise < ActiveRecord::Base
|
||||
class Entreprise < ApplicationRecord
|
||||
belongs_to :dossier
|
||||
has_one :etablissement, dependent: :destroy
|
||||
has_one :etablissement
|
||||
has_one :rna_information, dependent: :destroy
|
||||
|
||||
validates_presence_of :siren
|
||||
validates_uniqueness_of :dossier_id
|
||||
validates :siren, presence: true
|
||||
validates :dossier_id, uniqueness: true
|
||||
|
||||
accepts_nested_attributes_for :rna_information
|
||||
accepts_nested_attributes_for :rna_information, update_only: true
|
||||
|
||||
before_save :default_values
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
class Etablissement < ActiveRecord::Base
|
||||
class Etablissement < ApplicationRecord
|
||||
belongs_to :dossier
|
||||
belongs_to :entreprise
|
||||
belongs_to :entreprise, dependent: :destroy
|
||||
|
||||
has_many :exercices, dependent: :destroy
|
||||
|
||||
accepts_nested_attributes_for :exercices
|
||||
accepts_nested_attributes_for :entreprise
|
||||
accepts_nested_attributes_for :entreprise, update_only: true
|
||||
|
||||
validates_uniqueness_of :dossier_id
|
||||
validates :dossier_id, uniqueness: true
|
||||
|
||||
def geo_adresse
|
||||
[numero_voie, type_voie, nom_voie, complement_adresse, code_postal, localite].join(' ')
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Exercice < ActiveRecord::Base
|
||||
class Exercice < ApplicationRecord
|
||||
belongs_to :etablissement
|
||||
|
||||
validates :ca, presence: true, allow_blank: false, allow_nil: false
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
class Follow < ActiveRecord::Base
|
||||
class Follow < ApplicationRecord
|
||||
belongs_to :gestionnaire
|
||||
belongs_to :dossier
|
||||
|
||||
validates_uniqueness_of :gestionnaire_id, :scope => :dossier_id
|
||||
validates :gestionnaire_id, uniqueness: { scope: :dossier_id }
|
||||
|
||||
before_create :set_default_date
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class FranceConnectInformation < ActiveRecord::Base
|
||||
class FranceConnectInformation < ApplicationRecord
|
||||
belongs_to :user
|
||||
|
||||
validates :france_connect_particulier_id, presence: true, allow_blank: false, allow_nil: false
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Gestionnaire < ActiveRecord::Base
|
||||
class Gestionnaire < ApplicationRecord
|
||||
devise :database_authenticatable, :registerable,
|
||||
:recoverable, :rememberable, :trackable, :validatable
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
class Individual < ActiveRecord::Base
|
||||
class Individual < ApplicationRecord
|
||||
belongs_to :dossier
|
||||
|
||||
validates_uniqueness_of :dossier_id
|
||||
validates :dossier_id, uniqueness: true
|
||||
validates :gender, presence: true, allow_nil: false, on: :update
|
||||
validates :nom, presence: true, allow_blank: false, allow_nil: false, on: :update
|
||||
validates :prenom, presence: true, allow_blank: false, allow_nil: false, on: :update
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
class Invite < ActiveRecord::Base
|
||||
class Invite < ApplicationRecord
|
||||
belongs_to :dossier
|
||||
belongs_to :user
|
||||
|
||||
validates_presence_of :email
|
||||
validates_uniqueness_of :email, :scope => :dossier_id
|
||||
validates :email, presence: true
|
||||
validates :email, uniqueness: { scope: :dossier_id }
|
||||
|
||||
validates :email, email_format: true
|
||||
end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class ModuleAPICarto < ActiveRecord::Base
|
||||
class ModuleAPICarto < ApplicationRecord
|
||||
belongs_to :procedure
|
||||
|
||||
validates :use_api_carto, presence: true, allow_blank: true, allow_nil: false
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class PieceJustificative < ActiveRecord::Base
|
||||
class PieceJustificative < ApplicationRecord
|
||||
belongs_to :dossier, touch: true
|
||||
belongs_to :type_de_piece_justificative
|
||||
has_one :commentaire
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Procedure < ActiveRecord::Base
|
||||
class Procedure < ApplicationRecord
|
||||
has_many :types_de_piece_justificative, -> { order "order_place ASC" }, dependent: :destroy
|
||||
has_many :types_de_champ, -> { public_only }, dependent: :destroy
|
||||
has_many :types_de_champ_private, -> { private_only }, class_name: 'TypeDeChamp', dependent: :destroy
|
||||
|
@ -42,7 +42,7 @@ class Procedure < ActiveRecord::Base
|
|||
|
||||
def hide!
|
||||
now = DateTime.now
|
||||
self.update_attributes(hidden_at: now)
|
||||
self.update(hidden_at: now)
|
||||
self.dossiers.update_all(hidden_at: now)
|
||||
end
|
||||
|
||||
|
@ -89,8 +89,8 @@ class Procedure < ActiveRecord::Base
|
|||
|
||||
false
|
||||
else
|
||||
list[index_of_first_element].update_attributes(order_place: index_of_first_element + 1)
|
||||
list[index_of_first_element + 1].update_attributes(order_place: index_of_first_element)
|
||||
list[index_of_first_element].update(order_place: index_of_first_element + 1)
|
||||
list[index_of_first_element + 1].update(order_place: index_of_first_element)
|
||||
|
||||
true
|
||||
end
|
||||
|
@ -129,7 +129,7 @@ class Procedure < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def publish!(path)
|
||||
self.update_attributes!({ published_at: Time.now, archived_at: nil })
|
||||
self.update!({ published_at: Time.now, archived_at: nil })
|
||||
ProcedurePath.create!(path: path, procedure: self, administrateur: self.administrateur)
|
||||
end
|
||||
|
||||
|
@ -138,7 +138,7 @@ class Procedure < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def archive
|
||||
self.update_attributes!(archived_at: Time.now)
|
||||
self.update!(archived_at: Time.now)
|
||||
end
|
||||
|
||||
def archivee?
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class ProcedurePath < ActiveRecord::Base
|
||||
class ProcedurePath < ApplicationRecord
|
||||
validates :path, format: { with: /\A[a-z0-9_\-]{3,50}\z/ }, presence: true, allow_blank: false, allow_nil: false
|
||||
validates :administrateur_id, presence: true, allow_blank: false, allow_nil: false
|
||||
validates :procedure_id, presence: true, allow_blank: false, allow_nil: false
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class ProcedurePresentation < ActiveRecord::Base
|
||||
class ProcedurePresentation < ApplicationRecord
|
||||
belongs_to :assign_to
|
||||
|
||||
def displayed_fields
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class QuartierPrioritaire < ActiveRecord::Base
|
||||
class QuartierPrioritaire < ApplicationRecord
|
||||
belongs_to :dossier, touch: true
|
||||
|
||||
def geometry
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class RNAInformation < ActiveRecord::Base
|
||||
class RNAInformation < ApplicationRecord
|
||||
belongs_to :entreprise
|
||||
|
||||
validates :association_id, presence: true, allow_blank: false, allow_nil: false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# See:
|
||||
# - https://robots.thoughtbot.com/implementing-multi-table-full-text-search-with-postgres
|
||||
# - http://calebthompson.io/talks/search.html
|
||||
class Search < ActiveRecord::Base
|
||||
class Search < ApplicationRecord
|
||||
# :nodoc:
|
||||
#
|
||||
# Englobs a search result (actually a collection of Search objects) so it acts
|
||||
|
|
|
@ -4,7 +4,7 @@ class Siret
|
|||
|
||||
attr_accessor :siret
|
||||
|
||||
validates_presence_of :siret
|
||||
validates :siret, presence: true
|
||||
validates :siret, siret_format: true
|
||||
|
||||
before_validation :remove_whitespace
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class TypeDeChamp < ActiveRecord::Base
|
||||
class TypeDeChamp < ApplicationRecord
|
||||
self.inheritance_column = :_type_disabled
|
||||
|
||||
enum type_champs: {
|
||||
|
@ -27,8 +27,8 @@ class TypeDeChamp < ActiveRecord::Base
|
|||
|
||||
belongs_to :procedure
|
||||
|
||||
scope :public_only, -> { where(type: 'TypeDeChampPublic').or(where(private: false)) }
|
||||
scope :private_only, -> { where(type: 'TypeDeChampPrivate').or(where(private: true)) }
|
||||
scope :public_only, -> { where(private: false) }
|
||||
scope :private_only, -> { where(private: true) }
|
||||
|
||||
has_many :champ, inverse_of: :type_de_champ, dependent: :destroy do
|
||||
def build(params = {})
|
||||
|
@ -71,10 +71,6 @@ class TypeDeChamp < ActiveRecord::Base
|
|||
type_champ.in?(['header_section', 'explication'])
|
||||
end
|
||||
|
||||
def private?
|
||||
super || type == 'TypeDeChampPrivate'
|
||||
end
|
||||
|
||||
def public?
|
||||
!private?
|
||||
end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class TypeDePieceJustificative < ActiveRecord::Base
|
||||
class TypeDePieceJustificative < ApplicationRecord
|
||||
has_many :pieces_justificatives, dependent: :destroy
|
||||
|
||||
belongs_to :procedure
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class User < ActiveRecord::Base
|
||||
class User < ApplicationRecord
|
||||
enum loged_in_with_france_connect: {
|
||||
particulier: 'particulier',
|
||||
entreprise: 'entreprise'
|
||||
|
@ -21,11 +21,11 @@ class User < ActiveRecord::Base
|
|||
include CredentialsSyncableConcern
|
||||
|
||||
def self.find_for_france_connect email, siret
|
||||
user = User.find_by_email(email)
|
||||
user = User.find_by(email: email)
|
||||
if user.nil?
|
||||
return User.create(email: email, password: Devise.friendly_token[0, 20], siret: siret)
|
||||
else
|
||||
user.update_attributes(siret: siret)
|
||||
user.update(siret: siret)
|
||||
user
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
class StagingAuthService
|
||||
CONFIG_PATH = Rails.root.join("config/basic_auth.yml")
|
||||
CONFIG_PATH = Rails.root.join("config", "basic_auth.yml")
|
||||
|
||||
def self.authenticate(username, password)
|
||||
if enabled?
|
||||
|
@ -14,7 +14,7 @@ class StagingAuthService
|
|||
end
|
||||
|
||||
def self.config
|
||||
if File.exists?(CONFIG_PATH)
|
||||
if File.exist?(CONFIG_PATH)
|
||||
YAML.safe_load(File.read(CONFIG_PATH)).symbolize_keys
|
||||
else
|
||||
{}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
class AttestationTemplateLogoUploader < BaseUploader
|
||||
def root
|
||||
File.join(Rails.root, 'public')
|
||||
Rails.root.join("public")
|
||||
end
|
||||
|
||||
# Choose what kind of storage to use for this uploader:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
class AttestationTemplateSignatureUploader < BaseUploader
|
||||
def root
|
||||
File.join(Rails.root, 'public')
|
||||
Rails.root.join("public")
|
||||
end
|
||||
|
||||
# Choose what kind of storage to use for this uploader:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
class AttestationUploader < BaseUploader
|
||||
def root
|
||||
File.join(Rails.root, 'public')
|
||||
Rails.root.join("public")
|
||||
end
|
||||
|
||||
# Choose what kind of storage to use for this uploader:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
class CommentaireFileUploader < BaseUploader
|
||||
def root
|
||||
File.join(Rails.root, 'public')
|
||||
Rails.root.join("public")
|
||||
end
|
||||
|
||||
if Features.remote_storage
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'securerandom'
|
||||
|
||||
class LocalDownloader
|
||||
BASE_PATH_DISK = File.join(Rails.root, "public/downloads/")
|
||||
BASE_PATH_DISK = Rails.root.join("public", "downloads")
|
||||
|
||||
def initialize(filename, filename_suffix = '')
|
||||
@filename = filename.to_s
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
class ProcedureLogoUploader < BaseUploader
|
||||
def root
|
||||
File.join(Rails.root, "public")
|
||||
Rails.root.join("public")
|
||||
end
|
||||
|
||||
# Choose what kind of storage to use for this uploader:
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
- content_for(:title, 'Accessibilité')
|
||||
|
||||
.accessibilite
|
||||
|
||||
%h1.new-h1 Accessibilité
|
||||
|
|
|
@ -41,7 +41,8 @@
|
|||
- @attestation_template.tags.each do |tag|
|
||||
%tr
|
||||
%td
|
||||
= "--#{tag[:libelle]}--"
|
||||
%code{ style: "white-space: pre-wrap;" }
|
||||
= "--#{tag[:libelle]}--"
|
||||
%td
|
||||
= tag[:description]
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
%data.mj-w-data{ "data-apikey" => "1v5T", "data-base" => "https://app.mailjet.com", "data-height" => "328", "data-lang" => "fr_FR", "data-statics" => "statics", "data-token" => "11c89e7ddb46fbcdcb7f8fe5fdfca818", "data-w-id" => "39b", "data-width" => "640" }
|
||||
%data.mj-w-data{ "data-apikey" => "1v5T", "data-base" => "https://app.mailjet.com", "data-height" => "328", "data-lang" => "fr_FR", "data-statics" => "statics", "data-token" => "11c89e7ddb46fbcdcb7f8fe5fdfca818", "data-w-id" => "39b", "data-width" => "640", "value" => "mj" }
|
||||
%script{ src: 'https://app.mailjet.com/statics/js/widget.modal.js', 'data-turbolinks-eval': 'false' }
|
||||
|
|