Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

<instance id="locations" src="jr://fixture/commtrack:locations"></instance>

Place this just above the first "<instance>" here:

...

Note that whenever referencing the location hierarchy, only locations with which a mobile user is associated will sync to that users phone.  So, if the mobile user account is linked to outlet 'a', then the only district that will appear on that users phone is the district to which outlet 'a' belongs, and the only state will be the state to which that district belongs.

 

UPDATE !

In order to set up a single of multiple answer questions on locations, follow these steps:

  1. Add a Single/Multiple Answer Lookup Table:
    Image Added
  2. Click on the "Lookup Table Data" question

    Image Added
  3. Edit the following fields:
    1. Lookup Table: ignore that for now
    2. Value Field: what you want to save as an answer (usually an id or a code). For locations you can use site_code or @id.
    3. Label Field: what you want to display to the user. For locations you can use name
    4. (Optional) Filter: can be used to filter the locations displayed.

      Image Added
  4. The tricky part is now to modify the xml to point the question to the location table. To do so:
    1. Click on Tools / Edit Source XML on the top right corner of the form builder:
      Image Added
    2. In the XML search for a select1 node holding your lookup question. It should look like this:

      Image Added
      In this example my lookup question is /data/location_loookup
    3. Then in the expression <itemset nodeset="instance('products')/products/product">, replace the instance with the instance of your location. For example
      1. if you want to display the list of states: instance('locations')/states/state
      2. if you want to select the list of