Versions Compared

Key

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

...

Any time a user creates a new forecast, they are taken here and have to supply a new name and description. If they are editing an existing forecast, they also come here but the name and description are open for editing. If a user edits the title, this does NOT create a new forecast, it just edits the existing name (we maintain a unique forecast id under the hood). A forecast is saved in a special table in the backend, one per user. This table allows users to edit one forecast as much as they want without committing it. When they click Save, the system will validate the forecast and save it if it passes validation.

...

Element

Control

Functional Description

Technical Rules

Name field

text input

User stores and edits Forecast name

Defaults to "MIT-All Forecast", key is COMMON (which is MITALL)

Show's Shows forecasts,
actuals and commitments

checkbox

User clicks on it to show and hide existing commitments

Defaults to forecast checked for people, expenses, revenue blocks, commitments also checked for people

Show/Hide Accordion

button

Shows and hides all commitments in GL block

Overrideable by the Show Actuals and Commitments checkbox (if user hides people block, clicks hide all, then clicks show all, people block is visible)

Person People name field

text input

User can search for person (autocomplete) including TBHs

After third keydown, set timeout for 300 miliseconds, if no further keydown, execute search call  (wait until the user pauses). Make timeout length a setting, let us play with it, hide setting for January release and default to best guess. Show default if users complain.

Appointment field

dropdown list (select)

Until you choose a person, the only thing in the Appointment field is "choose a person". If you choose a person, the appointment field gets filled with the one or more appointments they have. If they choose a TBH, the appointment is filled in by the choice.

Until appointment is chosen, other people fields to the right are hidden. Once appointment call to backend is made and speculation id is returned, other fields are then shown with default values from call.

Start Date

autofill, text input 

For People: If TBH, User puts in date. Dates populate if Appointment exists
For Expenses: User fills in date
expense will start
For Revenue: User fills in date revenue will start

For People: Required field for TBH Required field. Format is shown to the user upon entry
For Expenses: Required field
For Revenue: Required field

End Date

autofill, text input 

User puts in date

Required field. Normal Calendar widget behavior, hidden until appointment is chosen

Allocation

text input

User enters number

Required field. Floating number rounded to nearest two decimals (percentage), hidden until appointment is chosen

For People: If TBH, User puts in date. Dates populate if Appointment exists
For Expenses: User fills in date expense will end
For Revenue: User fills in date revenue will end

For People: Required field for TBH. Format is shown to the user upon entry
For Expenses: Required field
For Revenue: Required field

% (Allocation)

text input

User enters number

Required field. Floating number rounded to nearest two decimals (percentage), hidden until appointment is chosen

Pay Rate 

autofill

Number populates from system once People name and Appointment is selected

Floating number rounded to nearest two decimals, hidden until appointment is chosen

On Campus?

check box

User indicates if appointee is on campus. (pre-populates)

For non-students this field doesn't apply, so the field is not editable to the user.

Tuition

autofill

Number populates from system once People name and Appointment is selected

Floating number locked to two decimals (money), hidden until appointment is chosen. For non-students and others, when the field is N/A, it is not editable.

All Expenses:
Expense category

dropdown list (select)

User choose an expense category from 5 options.

Required field within All Expenses. Alternatively, the category is pre-populated within the specific subset tabs.

Name field:
Expenses
Name field: Revenue Hours per week

text input

User enters number name in field

Required field. Floating number rounded to nearest two decimals, hidden until appointment is chosen

Item cost Tuition

text input

User enters number for tuition inputs cost amount

Required field. Floating  Floating number locked to two decimals (money), hidden until appointment is chosen .
Q: do we need to specify this and re-label as "total cost" to make to clear that it is not monthly?

Revenue amount

 

 

 

Comment

text area

User enters description. User can grow text box if wanted

Not required. Shrink text area to make inline row, let them expand it they want.

Add Row

button

Adds new forecast row of the same type below existing lines

 

Save button

button

 

Always appears.

Save As Button

button

 

Only active (change state from gray to active) if forecast has been saved at least once, ie not when new forecast is being created.

Revert Button

button

 

Only active (change state from gray to active) after forecast has been saved at least once.

Publish Button

button

Opens dialog that asks user where do they want to publish to: PI, Department or MITALL

 

...