aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2017-10-11remove tespoon test, prefer rspec for testingGuillaume
2017-10-10Fixes: #4707@1.5h;Robert
2017-10-09Refs: #4629@1h; Implementing CR + missing worker specRobert
2017-10-09Fixes: #4629@4.5h; Implemented copyRobert
2017-10-06ComplianceControl#new target fieldXinhui
Refs #4687
2017-09-30Create DashboardController with STIF implementation. Refs #4655Alban Peignier
2017-09-28Refs #4635 Add permissions translations regarding the news models ↵cedricnjanga
(Compliance Control)
2017-09-28Merge branch 'master' into 4466-compliance_check_setsGuillaume
2017-09-28fix locales translations, remove unused array for date filtersGuillaume
2017-09-26Specs fixed (from logical merge errors)Robert
2017-09-26Refs: #4440@1h; ImportPolicy applied in views and controllerRobert
2017-09-26Refs: #4440@1.5h;Robert
ImportPolicy changing *.imports →' imports.*
2017-09-26Refs: #4440@0.5h Added import permissionRobert
2017-09-25add compliance_check_sets structure Refs #3564Guillaume
2017-09-25ModelAttribute#==: Check for matching class typeTeddy Wing
Thanks to Robert for this suggestion, of course it makes a lot of sense to verify class equivalence when checking equality. Refs #4401
2017-09-25ModelAttribute.classes: Move `#uniq` call higherTeddy Wing
Call `#uniq` right after mapping over the `klass` attribute. Recommendation from Robert (thanks!). This means there are less elements to deal with in the subsequent maps. Refs #4401
2017-09-22Merge pull request #75 from ↵teddywing
af83/4401-create-compliance-control-model-attribute-class 4401 create compliance control model attribute class
2017-09-22ModelAttribute: Add `#from_code` methodTeddy Wing
Enables finding a `ModelAttribute` by a string code combining klass and name. Refs #4401
2017-09-22ModelAttribute: Add `.group_by_class` methodTeddy Wing
This returns all defined `ModelAttribute`s as a hash of class keys containing lists of the attributes they contain. Refs #4401
2017-09-22ModelAttribute: Add `.classes` methodTeddy Wing
This allows people to get a list of the classes defined in `ModelAttribute`. The classes are turned into constant-cased strings. Not sure if that's useful, but this is how it was described in the ticket. Refs #4401
2017-09-22ModelAttribute: Add `.methods_by_class_and_type` methodTeddy Wing
This enables filtering by class like `.methods_by_class` and additionally only selecting attributes matching a certain data type. Refs #4401
2017-09-19ModelAttribute.methods_by_class: Take symbol parameter instead of stringTeddy Wing
Didn't like how `#initialize` takes a different type for `klass` than `.methods_by_class`. Make these types and values uniform. If we need to change it, we should make a separate mechanism to do so. I think. Refs #4401
2017-09-19ModelAttribute: Add `.methods_by_class` methodTeddy Wing
Allows us to get all `ModelAttribute`s given a certain class name. Needed an `#==` method to be able to test object equality more easily so I added one in. I don't like that the `klass` is a lowercase symbol and the `klass` attribute to `.methods_by_class` is a constantized string. Want to correct that and make them uniform. Only did it this way because that's how it was suggested in the ticket. Refs #4401
2017-09-19ModelAttribute: Make `@@all` a class instance variableTeddy Wing
Robert argues that the class variable is not ideal because its value gets shared with subclasses, violating the Liskov substitution principle: 17:44:23 < robert> ```133] pry(main)> class A; @@greeting = :hello end 17:44:23 < robert> => :hello 17:44:23 < robert> [134] pry(main)> class B < A; end 17:44:23 < robert> => nil 17:44:23 < robert> [135] pry(main)> B.class_variable_get '@@greeting' 17:44:23 < robert> => :hello Instead, go with his suggestion to use a class instance variable instead, which gives us the same amount of availability of the `all` list while not sharing it indiscriminately and making it easier to test. Refs #4401
2017-09-19ModelAttribute: Add `#code` methodTeddy Wing
A method that returns a string representation of the attribute, in the form `:class#:name". This will be used to store a reference to the attribute in the database. For example, a validation will reference a `ModelAttribute` in a database column using this `#code` string. Refs #4401
2017-09-19ModelAttribute: Add `ModelAttribute`s for a bunch of models&attributesTeddy Wing
We want to define `ModelAttribute`s for an initial set of `Chouette` models: * Chouette::Route * Chouette::JourneyPattern * Chouette::VehicleJourney * Chouette::Footnote * Chouette::TimeTable * Chouette::RoutingConstraintZone I added these by looking at the `schema.rb` as well as some form views for these models. Given that information, I made some guesses about what attributes it might make sense to add here. We want to end up with a collection of only editable attributes for these models, so this excludes things like `created_at`, foreign keys, and programmatically set fields. This is my guess at what those fields are. We can refine the list later. We'll be using this list for Compliance Control to get a set of fields of a given type in order to create custom validations using those fields. Refs #4401
2017-09-19Fix spec on mission compliance controls permissionsXinhui
2017-09-19ModelAttribute spec: Allow test to handle existing elements in `@@all`Teddy Wing
When `ModelAttribute` instances are added to `@@all` directly in the class, the test breaks. Make it a little more robust by checking change in array size instead of total size. Refs #4401
2017-09-19Add `ModelAttribute`Teddy Wing
This new class will allow us to generate a list of all editable fields in all our models including the type of each field. We need this for Compliance Control, in order to get a list of fields or models & fields that can be selected to validate a given model validation check. The crucial bits here are the models, fields, and the types of those fields. These need to be defined (manually at least to begin with), accessible, and filterable. Refs #4401
2017-09-19referential.rake: Update `Route#wayback` valuesTeddy Wing
The possible values for this field changed in 2fa3be1518da4f471d614832f80526e074983195 to `outbound` and `inbound`. Update them accordingly in this Rake task, otherwise it fails. Refs #4555
2017-09-19Merge pull request #69 from af83/4431-permission-renamingLuc Donnet
Fixes: #4431@0.16666666666666666h;
2017-09-19Merge pull request #71 from af83/4446-spec-features-api-keysLuc Donnet
4446 spec features api keys
2017-09-19Delete duplicate keys in #all_resources Refs #4446Luc Donnet
2017-09-18Fix table name compliance_check_result to compliance_check_message Refs #4390 @2Luc Donnet
2017-09-15merged 4442 into 4446Robert
2017-09-14Refs: #4446@0.7438h; Creation feature specedRobert
2017-09-14Fixes: #4442@0.5h;4442-api_keys-permissions-spexRobert
2017-09-14Fixes: #4431@0.16666666666666666h;4431-permission-renamingRobert
2017-09-13Merge branch 'master' of github.com:AF83/stif-boivLuc Donnet
2017-09-13Disable deploy when not in master/staging or production. Refs #4468Alban Peignier
2017-09-13Fixes nice pre-commit typo o/. Refs #4468Alban Peignier
2017-09-13Drop, create and migrate database in ci. Refs #4468Alban Peignier
2017-09-12Add errors details on reflex:sync logXinhui
2017-09-11Fix views and access for api keys generation Refs #4276 @8Luc Donnet
2017-09-07Reflex:sync log invalid objectXinhui
Refs #4367
2017-09-01Fix Reflex sync check for valid stopArea before saveXinhui
Refs #4367
2017-08-30Update show data for import Refs #4258Luc Donnet
2017-08-28Merge branch '4273_http_service_broken'Alban Peignier
2017-08-27Create STIF::NetexFile to read zip content and create ReferentialMetadata ↵Alban Peignier
from real data. Refs #4273
2017-08-27Create NetexImport even if Referential can be created. Add a ImportMessage ↵Alban Peignier
and failed status in this case. Refs #4273