diff options
| author | cedricnjanga | 2017-12-13 11:18:11 +0100 | 
|---|---|---|
| committer | cedricnjanga | 2017-12-13 11:54:26 +0100 | 
| commit | 71718a7996ac4848f9762f45b31bc7ff5f106c0f (patch) | |
| tree | 57356c27e949e15e755e542e22d213caf8ec6ef1 | |
| parent | 5404d56ece41ec949f142457f161c7b9663dd5fc (diff) | |
| download | chouette-core-71718a7996ac4848f9762f45b31bc7ff5f106c0f.tar.bz2 | |
Refs #5153 Add form validation for VJ creation on journey_pattern select2 (required field)
10 files changed, 15 insertions, 15 deletions
| diff --git a/app/javascript/vehicle_journeys/actions/index.js b/app/javascript/vehicle_journeys/actions/index.js index ddb54d615..ce4b9209d 100644 --- a/app/javascript/vehicle_journeys/actions/index.js +++ b/app/javascript/vehicle_journeys/actions/index.js @@ -162,7 +162,7 @@ const actions = {    resetValidation: (target) => {      $(target).parent().removeClass('has-error').children('.help-block').remove()    }, -  validateFields : (fields) => { +  validateFields : (...fields) => {      const test = []      Object.keys(fields).map(function(key) { @@ -457,10 +457,6 @@ const actions = {          minute: actions.simplePad(newArrivalDT.getUTCMinutes())        }      } -  }, -  escapeWildcardCharacters(search) { -    let newSearch = search.replace(/^_/, "\\_") -    return newSearch.replace(/^%/, "\\%")    }  } diff --git a/app/javascript/vehicle_journeys/components/VehicleJourney.js b/app/javascript/vehicle_journeys/components/VehicleJourney.js index 8fb4b8a7e..929cbc5c4 100644 --- a/app/javascript/vehicle_journeys/components/VehicleJourney.js +++ b/app/javascript/vehicle_journeys/components/VehicleJourney.js @@ -49,8 +49,8 @@ export default class VehicleJourney extends Component {      return (        <div className={'t2e-item' + (this.props.value.deletable ? ' disabled' : '') + (this.props.value.errors ? ' has-error': '')}>          <div className='th'> -          <div className='strong mb-xs'>{this.props.value.objectid ? this.props.value.short_id : '-'}</div> -          <div>{this.props.value.journey_pattern.short_id}</div> +          <div className='strong mb-xs'>{this.props.value.short_id || '-'}</div> +          <div>{this.props.value.journey_pattern.short_id || '-'}</div>            <div>              {time_tables.slice(0,3).map((tt, i)=>                <span key={i} className='vj_tt'>{this.timeTableURL(tt)}</span> diff --git a/app/javascript/vehicle_journeys/components/tools/CreateModal.js b/app/javascript/vehicle_journeys/components/tools/CreateModal.js index 2bffebdf6..33873219c 100644 --- a/app/javascript/vehicle_journeys/components/tools/CreateModal.js +++ b/app/javascript/vehicle_journeys/components/tools/CreateModal.js @@ -9,7 +9,7 @@ export default class CreateModal extends Component {    }    handleSubmit() { -    if(actions.validateFields(this.refs) == true && this.props.modal.modalProps.selectedJPModal) { +    if (actions.validateFields(...this.refs, $('.vjCreateSelectJP')[0]) && this.props.modal.modalProps.selectedJPModal) {        this.props.onAddVehicleJourney(this.refs, this.props.modal.modalProps.selectedJPModal, this.props.stopPointsList, this.props.modal.modalProps.selectedCompany)        this.props.onModalClose()        $('#NewVehicleJourneyModal').modal('hide') diff --git a/app/javascript/vehicle_journeys/components/tools/EditVehicleJourney.js b/app/javascript/vehicle_journeys/components/tools/EditVehicleJourney.js index 7d91896eb..f8d6add03 100644 --- a/app/javascript/vehicle_journeys/components/tools/EditVehicleJourney.js +++ b/app/javascript/vehicle_journeys/components/tools/EditVehicleJourney.js @@ -97,6 +97,7 @@ export default class EditVehicleJourney extends Component {                              <div className='form-group'>                                <label className='control-label'>Transporteur</label>                                <CompanySelect2 +                                editModal={this.props.modal.type == "edit"}                                  editMode={this.props.editMode}                                  company = {this.props.modal.modalProps.vehicleJourney.company}                                  onSelect2Company = {(e) => this.props.onSelect2Company(e)} diff --git a/app/javascript/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js b/app/javascript/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js index fef3cdcc9..6629135dd 100644 --- a/app/javascript/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js +++ b/app/javascript/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js @@ -29,7 +29,7 @@ export default class TimetablesEditVehicleJourney extends Component {          <li className='st_action'>            <button              type='button' -            disabled={(actions.getSelected(this.props.vehicleJourneys).length != 1 || this.props.disabled)} +            disabled={(actions.getSelected(this.props.vehicleJourneys).length < 1 || this.props.disabled)}              data-toggle='modal'              data-target='#CalendarsEditVehicleJourneyModal'              onClick={() => this.props.onOpenCalendarsEditModal(actions.getSelected(this.props.vehicleJourneys))} @@ -56,7 +56,7 @@ export default class TimetablesEditVehicleJourney extends Component {                                  <div className='wrapper'>                                    <div>                                      <div className='form-group'> -                                      <label className='control-label'>Calendriers associés</label> +                                      <label className='control-label'>{this.props.modal.modalProps.timetables.length == 0 ? "Aucun calendrier associé" : "Calendriers associés"}</label>                                      </div>                                    </div>                                    <div></div> diff --git a/app/javascript/vehicle_journeys/components/tools/select2s/CompanySelect2.js b/app/javascript/vehicle_journeys/components/tools/select2s/CompanySelect2.js index 0697e9141..79ba8f094 100644 --- a/app/javascript/vehicle_journeys/components/tools/select2s/CompanySelect2.js +++ b/app/javascript/vehicle_journeys/components/tools/select2s/CompanySelect2.js @@ -21,7 +21,7 @@ export default class BSelect4 extends Component {          value={(this.props.company) ? this.props.company.name : undefined}          onSelect={(e) => this.props.onSelect2Company(e) }          onUnselect={() => this.props.onUnselect2Company()} -        disabled={!this.props.editMode} +        disabled={!this.props.editMode && this.props.editModal}          multiple={false}          ref='company_id'          options={{ @@ -36,7 +36,7 @@ export default class BSelect4 extends Component {              delay: '500',              data: function(params) {                return { -                q: { name_cont: actions.escapeWildcardCharacters(params.term)}, +                q: { name_cont: params.term},                };              },              processResults: function(data, params) { diff --git a/app/javascript/vehicle_journeys/components/tools/select2s/MissionSelect2.js b/app/javascript/vehicle_journeys/components/tools/select2s/MissionSelect2.js index 5b4ae564c..fa847886c 100644 --- a/app/javascript/vehicle_journeys/components/tools/select2s/MissionSelect2.js +++ b/app/javascript/vehicle_journeys/components/tools/select2s/MissionSelect2.js @@ -21,6 +21,8 @@ export default class BSelect4 extends Component {          onSelect={(e) => this.props.onSelect2JourneyPattern(e)}          multiple={false}          ref='journey_pattern_id' +        className={!this.props.isFilter ? "vjCreateSelectJP" : null} +        required={!this.props.isFilter}          options={{            allowClear: false,            theme: 'bootstrap', @@ -33,7 +35,7 @@ export default class BSelect4 extends Component {              delay: '500',              data: function(params) {                return { -                q: { published_name_or_objectid_or_registration_number_cont: actions.escapeWildcardCharacters(params.term)}, +                q: { published_name_or_objectid_or_registration_number_cont: params.term},                };              },              processResults: function(data, params) { diff --git a/app/javascript/vehicle_journeys/components/tools/select2s/TimetableSelect2.js b/app/javascript/vehicle_journeys/components/tools/select2s/TimetableSelect2.js index a90a9f7b8..19c183839 100644 --- a/app/javascript/vehicle_journeys/components/tools/select2s/TimetableSelect2.js +++ b/app/javascript/vehicle_journeys/components/tools/select2s/TimetableSelect2.js @@ -34,7 +34,7 @@ export default class BSelect4 extends Component {              data: function(params) {                return {                  q: { -                  comment_or_objectid_cont_any: actions.escapeWildcardCharacters(params.term) +                  comment_or_objectid_cont_any: params.term                  }                };              }, diff --git a/app/javascript/vehicle_journeys/components/tools/select2s/VJSelect2.js b/app/javascript/vehicle_journeys/components/tools/select2s/VJSelect2.js index 37628fce0..b063abeca 100644 --- a/app/javascript/vehicle_journeys/components/tools/select2s/VJSelect2.js +++ b/app/javascript/vehicle_journeys/components/tools/select2s/VJSelect2.js @@ -33,7 +33,7 @@ export default class BSelect4b extends Component {              delay: '500',              data: function(params) {                return { -                q: { objectid_cont: actions.escapeWildcardCharacters(params.term)}, +                q: { objectid_cont: params.term},                };              },              processResults: function(data, params) { diff --git a/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js b/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js index 775fefdca..136e1b41a 100644 --- a/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js +++ b/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js @@ -38,6 +38,7 @@ const vehicleJourney= (state = {}, action, keep) => {          published_journey_name: action.data.published_journey_name.value,          published_journey_identifier: action.data.published_journey_identifier.value,          objectid: '', +        short_id: '',          footnotes: [],          time_tables: [],          vehicle_journey_at_stops: pristineVjasList, | 
