Page tree

Versions Compared

Key

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

In this quick demo you can see how the phone numbers utilization could be implemented with ConfiForms Form and visualized with ConfiForms CalendarView

We can register phones, and their "use time" - with validation for "overlaps"

ConfiForms Form Definition
formNamemyphones
registrationFormTitleRegister phone use

phonePhonefalse[phone1=Phone 1|phone2=Phone 2|phone3=Phone 3|phone4=Phone 4|phone5=Phone 5|]label;falseselect2

usetimeUse timedatetimeinterval

(usetime.startDate:<=[entry.usetime.endDate] AND usetime.endDate:>=[entry.usetime.startDate] AND !id:[entry.id] AND phone:[entry.phone])This phone is in use at these dates - dates overlapValidation rule dataset

trueINLINE


ConfiForms CalendarView
eventTitleFieldName[entry.phone] - [entry.usetime.asPeriodFormatted]
groupingFieldNameusetime
formNamemyphones
placementCalendar only

phone:phone1background-color:pink !important;usetime

phone:phone2background-color:red !important;usetime

phone:phone3background-color:yellow !important;usetime

phone:phone4background-color:green !important;usetime

phone:phone5background-color:magenta !important;usetime


Source code for the solution

Code Block
<p>In this quick demo you can see how the phone numbers utilization could be implemented with ConfiForms Form and visualized with ConfiForms CalendarView</p>
<ac:structured-macro ac:macro-id="f53b7389-0803-47ed-bed9-05f8363a03c2" ac:name="confiform" ac:schema-version="1">
  <ac:parameter ac:name="formName">myphones1</ac:parameter>
  <ac:parameter ac:name="registrationFormTitle">Register phone use</ac:parameter>
  <ac:rich-text-body>
    <p>
      <ac:structured-macro ac:macro-id="653d2dab-56d9-43d6-9b08-5f1e493db648" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">phone</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Phone</ac:parameter>
        <ac:parameter ac:name="values">false[phone1=Phone 1|phone2=Phone 2|phone3=Phone 3|phone4=Phone 4|phone5=Phone 5|]</ac:parameter>
        <ac:parameter ac:name="extras">label;false</ac:parameter>
        <ac:parameter ac:name="type">select2</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="01306d95-8bc4-4360-9ba0-96904312f7d6" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">usetime</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Use time</ac:parameter>
        <ac:parameter ac:name="type">datetimeinterval</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="ca9a60d8-99f8-42c5-adbe-d06ae0a66c14" ac:name="confiform-field-definition-rules" ac:schema-version="1">
        <ac:parameter ac:name="condition">(usetime.startDate:&lt;=[entry.usetime.endDate] AND usetime.endDate:&gt;=[entry.usetime.startDate] AND !id:[entry.id] AND phone:[entry.phone])</ac:parameter>
        <ac:parameter ac:name="fieldName">This phone is in use at these dates - dates overlap</ac:parameter>
        <ac:parameter ac:name="action">Validation rule dataset</ac:parameter>
      </ac:structured-macro>
    </p>
    <ac:structured-macro ac:macro-id="e7e75c61-212d-4698-97f0-c7b2e002fb83" ac:name="confiform-entry-register" ac:schema-version="1">
      <ac:parameter ac:name="embedded">true</ac:parameter>
      <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
      <ac:rich-text-body>
        <p>
          <br/>
        </p>
      </ac:rich-text-body>
    </ac:structured-macro>
  </ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="d2b2a0aa-36de-405a-a1f0-c91f48f31f20" ac:name="confiform-calendar" ac:schema-version="1">
  <ac:parameter ac:name="eventTitleFieldName">[entry.phone] - [entry.usetime.asPeriodFormatted]</ac:parameter>
  <ac:parameter ac:name="groupingFieldName">usetime</ac:parameter>
  <ac:parameter ac:name="formName">myphones1</ac:parameter>
  <ac:parameter ac:name="placement">Calendar only</ac:parameter>
  <ac:rich-text-body>
    <p>
      <ac:structured-macro ac:macro-id="63ede68c-a9cf-476d-a665-93fd7e503c24" ac:name="confiform-field-css" ac:schema-version="1">
        <ac:parameter ac:name="condition">phone:phone1</ac:parameter>
        <ac:parameter ac:name="css">background-color:pink !important;</ac:parameter>
        <ac:parameter ac:name="fieldName">usetime</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="59d5219a-d9de-4c1d-a944-f1e237938e8f" ac:name="confiform-field-css" ac:schema-version="1">
        <ac:parameter ac:name="condition">phone:phone2</ac:parameter>
        <ac:parameter ac:name="css">background-color:red !important;</ac:parameter>
        <ac:parameter ac:name="fieldName">usetime</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="a7b7a0e8-4b3e-481c-bed5-0992f5d906b1" ac:name="confiform-field-css" ac:schema-version="1">
        <ac:parameter ac:name="condition">phone:phone3</ac:parameter>
        <ac:parameter ac:name="css">background-color:yellow !important;</ac:parameter>
        <ac:parameter ac:name="fieldName">usetime</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="a6fe4da3-7a4d-470f-8c45-da3404803ade" ac:name="confiform-field-css" ac:schema-version="1">
        <ac:parameter ac:name="condition">phone:phone4</ac:parameter>
        <ac:parameter ac:name="css">background-color:green !important;</ac:parameter>
        <ac:parameter ac:name="fieldName">usetime</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="97dee011-e7f1-4c2c-a99c-2b048dcbff38" ac:name="confiform-field-css" ac:schema-version="1">
        <ac:parameter ac:name="condition">phone:phone5</ac:parameter>
        <ac:parameter ac:name="css">background-color:magenta !important;</ac:parameter>
        <ac:parameter ac:name="fieldName">usetime</ac:parameter>
      </ac:structured-macro>
    </p>
  </ac:rich-text-body>
</ac:structured-macro>