AdminDoc3
This page is dedicated to receive admin doc of release 3.0.
Parameters
Menu "Configuration/parameters"
Account management
Currency pattern
Currency pattern is built with the currency symbol defined by the user
Pattern | Symbol | Separator | Example | Some countries | |
---|---|---|---|---|---|
Decimal | Thousand | ||||
$#,##0.00;$-#,##0.00 | before | comma | dot | $-1,234.56 | Defaut, USA, England, Yen |
#,##0.00$;-#,##0.00$ | after | comma | dot | -1,234.56$ | Algeria, Maroc |
€#.##0,00;€-#.##0,00 | before | dot | comma | €-1.234,56 | Italy, Belgium |
#.##0,00€;-#.##0,00€ | after | dot | comma | -1.234,56€ | German, Spain, Portuguese |
# ##0,00€;-# ##0,00€ | after | comma | space | -1 234,56€ | French, Russia |
Fr#'##0.00;Fr-#'##0.00 | before | dot | quote | Fr-1'234.56 | Swiss |
# ##0€00;-# ##0€00 | decimal replaced by symbol | space | -1 234€56 | ||
#,##0$00;-#,##0$00 | decimal replaced by symbol | comma | -1,234$56 |
If you don't find yours, do not hesitate to advise us!
Create users
To add an user you need first:
- To create groups (Users/Group) if needed
- Then you go to Users/Users list and you select "ADD AN USER"
If you see in the user list that some users are displayed on a red background, it means that the field Birthdate/Sex/Nationality are not filled.
Rights list
- Common user
- No auto logout : disables the auto-logout session of ~3 minutes (Useful function for guest/visitor account)
- Update own personal data : If user can edit some of his personal data (birthdate, nationality, sexe ...)
- Update own qualifications : allows for user to update himself his qualifications (For instructors. For pilots if the flying club doesn't want to manage those)
- Manage own qualifications limit : enables update of fields Identifier code, Grant date, Time limit depending if the qualification has those field on/off
- Aircraft availability management : allows to freeze an aircraft for maintenance or whatsover. It's done by booking the aircraft, an option will be available while doing that.
- Instructor availability management : allows to manage any instructor availability.
- Booking
- Book alone : allows for user to book an aircraft without an instructor
- Book anyone : allows for user to book an aircraft for another one (solo booking and/or double one, depending of rights of this third-party. Useful function for the secretary.)
- Book instructor : allows for user to book an aircraft with an instructor
- Book unavailable instructor : allows for user to book an aircraft with an instructor even if this one is not available at the time gap (an alert message prevents the user. Useful function for instructors and secretary).
- Override minimum time limit to start a booking : allows for user to bypass the minimum time limit to start a booking
- Override date range limit : allows for user to bypass the data range limit
- Override number limit : allows for user to bypass the number limit
- Override booking by type : ?
- Notifiable for any reservation : enable booking functionalities like the option "receive any made booking by mail"
- See names on bookings : Explicit title (for guest/visitor accounts)
- See booking comments : Explicit title (for guest/visitor accounts)
- Common admin
- Parameter management : allows to edit various parameters for OF like disabling/enabling flight, booking, accounting, etc ...
- Profile management : Explicit title, let this right to at least one profile (i.e : admin)
- User management : Explicit title
- Pool management : Explicit title, user pool
- Aircraft management : Explicit title
- Reports : allows to export some reports : member list, flight list, account list, etc ...
- Statistics management : allows to create home-made reports by writing SQL query.
- View statistics : allows to view home-made reports
- Logs management : allows to view logging archive
- Key management : if option is enabled, allows to manage key
- Flight management
- Input flight for oneself : Explicit title
- Flight filing for others : Explicit title
- Check and modify flights : Allows to view flight logs of anyone, appoint flights, check missing flight
- View aircraft log book : Explicit title
- Account management
- Account management : With others rights, allows to manager accounts (club, aircraft, member, etc)
- Input own payments : Explicit title
- Payment filing for others : Explicit title
- Modify payment or transfer date : Explicit title
- Input fueling repayment : Explicit title (seems not working at the moment)
- Check payments : allows to validate payments
- Get cash : Explicit title
- Manage own transfer : Explicit title
- Transfer from anyone to anyone : Explicit title
- Flight hours pricing : Explicit title
- Input pricing values : Explicit title
- Enter any non validated flow
- Validate any flow
- Stocks manager
- Stocks management : Allows to manage stocks types and stocks
- Stock level management : Allows to manage stocks level (what do we have, how many, at which date ...)
- Stock checking : Allows to check stock variation
- Sales manager :
- Sale for everybody : Allows to manage sale types, pricing, stocks to sell, etc
- Purchase free sales : Allows to purchase item that aren't in free sale
- Purchase for others : Allows for user to do a purchase for someone else
- Purchases manager : allows to use purchase manager
- Budgets manager :
- Budgets management : Allows to manage budgets groups and budgets
- View synthesis : Allows to view the budget synthesis and account entries list of a budget
Create instructors
- You check the instructor box ("Type of user" in the user form) to choosen users and you don't forget to specify the "Instructors Initials"
Create aircrafts
- You need first to create aircrafts type as needed (in Fleet/Aircraft types)
- Then you go to Fleet/Aircraft and you select "ADD AN AIRCRAFT"
Flight hours computation
In all formula, due to difference with interpretation of decimal separator in various personnal computer, all values must to write without decimal separator, use X/Y to obtain correct value
Do not forget that time is given in sexacentimal. So to convert in hours you have to divide by 600.
1 minute = 10 sexacentimals 5 minutes = 50 sexacentimals 1 hour = 60 minutes = 600 sexacentimals
1 hundredth of hour = 6 sexacentimals 10 hundredth of hour (=1 tenth of hour) = 60 sexacentimals
Example: for 100,10 $/h
10010*%DURATION/60000
to round at 5 minutes : roundCeil(X,50)
to round with 10 hundredths : roundCeil(X,60)
Flight hour computation formula
Authorized variables:
- %AIRFIELD_ARRIVAL
- %AIRFIELD_DEPARTURE
- %DURATION
- %COUNTER_DEPARTURE
- %COUNTER_ARRIVAL
- %EXTRAFIELDxx except field type multiline_string
Authorized functions:
Flight hour computation examples
Difference of the hours
%DURATION
Difference of the counters
%COUNTER_ARRIVAL - %COUNTER_DEPARTURE
Round difference of the hours at (top) 5 minutes
roundCeil(%DURATION, 50)
Round difference of the hours at (bottom) 5 minutes
roundCeil(%DURATION - 40, 50)
Round difference of the hours at (nearest) 5 minutes
roundCeil(%DURATION - 20, 50)
Difference of the counters plus 5 minutes
%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 50
Round difference of the counters at 10 hundreth
roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 60)
Greater between difference of the hours and difference of the counters
max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE)
Greater between difference of the hours and round difference of the counters at 5 minutes
max(%DURATION,roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))
Difference of the counters rounded to the nearest 5 minutes
roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 25, 50)
Example of results
input value | output value |
---|---|
10 | 10 |
11 | 10 |
12 | 10 |
13 | 15 |
14 | 15 |
15 | 15 |
Pricing management
Pricing management formula
Hours pricing
Authorized variables:
- %ACCOUNT1
- %ACCOUNT2
- %ACCOUNTING_START_DATE
- %AIRFIELD_DEPARTURE
- %AIRFIELD_ARRIVAL
- %COUNTER_ARRIVAL
- %COUNTER_DEPARTURE
- %CURRENT_QUANTITY
- %CURRENT_UNIT_PRICE
- %DURATION
- %ENTITY_TZ
- %EXTRAFIELDxx
- %PILOT
- %PILOT2
- %NOW_DATE
- %START_DATE
- %USER_TZ
Authorized functions:
- abs(a)
- changeTime
- convertTimezone
- formatDate('pattern',%SOME_DATE)
- getBalance(a,b)
- getBirthdate('person id')
- getFlowSumBetweenAccount('accound id 1', 'account id 2', 'start date', 'end date')
- getSumAccountBusinessField('business field id', 'person id', 'date')
- getValidityExpiredDate('person id', 'valididty type id')
- getYearsFromDiffDate('first date', 'second date')
- hasValidity('person id', 'valididty type id')
- max(a,b)
- min(a,b)
- roundCeil(a,b)
- sumFlightTime(%PILOT, 'year', 'month', 'day', 'hour', 'minute', 'position' )
- sumFlightTime(%PILOT, 'year', 'month', 'day', 'hour', 'minute', 'position', 'flight type')
- sumFlightHour(%PILOT, 'position', 'day','aircraft type')
- sumLandingNumber(%PILOT, 'position', 'day', 'aircraft type')
- sumPreviousFlightTime(%PILOT, 'position', 'day', '%START_FLIGHT', 'flight type')
Sale pricing
Authorized variables:
- %CURRENT_QUANTITY
- %CURRENT_UNIT_PRICE
- %ENTITY_TZ
- %NOW_DATE
- %PRODUCT_QUANTITY
- %QTY
- %START_DATE
- %UNIT_PRICE_VALUE
- %USER_TZ
- %USER_ID
Authorized functions:
- abs(a)
- addTime(%SOME_DATE, %SOME_TZ)
- changeTime
- convertTimezone
- formatDate('pattern',%SOME_DATE)
- getBalance(a,b)
- getBirthdate('person id')
- getYearsFromDiffDate('first date', 'second date')
- hasValidity('person id', 'valididty type id')
- min(a,b)
- max(a,b)
- roundCeil(a,b)
- subTime(%SOME_DATE, %SOME_TZ)
Allowed timezone
Pricing management example
- An aircraft with a cost of 94 € per flight hours, will have:
94*%DURATION/600
- An aircraft with a cost of 110 € per "counter" hours, will have:
110*(%COUNTER_ARRIVAL-%COUNTER_DEPARTURE)/600
- When it's week-end, the cost (100 €) per flight hours is cut to half, the formula will be:
(formatDate('%w', %START_DATE) == 0 OR formatDate('%w', %START_DATE) == 6) ? 50*%DURATION/600 : 100*%DURATION/600
Validity type
You may define your own validity types (licence, medical, etc.)
For doing that, you got several parameters available:
Time limitation
For validity types with a time limitation (pilots will have a date to set for this kind of validity)
Identifier code management
Add a field for entering the id of the validity type attached to the pilot
Obtaining date management
Add a date field for the obtention date of the qvalidity type
Reserved to instructors
Validity types reserved to instructors
Blocking validity
Validity types will be blocking for flight (not for booking)
Recent experience: "experience formula"
You may create validity types checking recent experience like hours or landing number.
Like other validity types, those ones are managed in the validity type manager (admin menu: Users/Validities types)
Formula checking recent experience have to be set in the "experience formula" column.
In order to make them work after inputting a flight, you have to set on which flight type and/or aircraft type you want the check to be triggered. For flight type, go to admin menu: flights/flight types then go to section Required validity type(if alone onboard) for a given flight type and check the recent experience. For aircraft type, go to admin menu: fleet/aircraft types then go to section Aircraft types. In validity type column, click onto the image that gonna lead you to a new page then check the recent experience.
Validity type formula
Authorized variables:
Authorized functions:
- sumFlightHour('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')
- sumLandingNumber('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')
Accounting
Accounting formula
- Sales variables
- Authorized variables:
- Account Export variables
- Authorized variables:
- Authorized functions:
Accounting example
Price item
160/100*%QTY
"THING" + unique value for each account
THING+%AUTO_INCREMENT
711 + 3 first letters of login + unique value
711+substr(%AUTHENTICATION_LOGIN, 0, 3)+%AUTO_INCREMENT
655 + 2nd letter of login + 3rd letter of login
655+substr(%AUTHENTICATION_LOGIN, 1, 2)
Alert email
The goal is to send a warning email to members whose theirs accounts is below the required threshold.
- Go to Settings/Parameters
- Then scroll down to Account management form
- Set the balance threshold
- Choose the frequency recall of the email
- Set the content of the warning email
Authorized variables for email content:
Authorized functions for email content:
- formatDate
- addTime
- subTime
- getBalance(a)
- getAccount(a, %PILOT)
Aircraft Type
Tank
- Goal: allow to an admin to create as many tanks (by aircraft type) as he needs.
- Use: for each flight, the pilot would be able to say which quantity has been added for each tank created by the admin, before and/or after the flight.
How to create a tank
- Go to Fleet/Aircraft types
- then action "modify" for a choosen aircraft type
- At the bottom of the page (below "Tank" title):
- Fill the "Tank" text area with the choosen name (ex: "main tank")
- Choose a fuel type and an unit
- Clic on the "Add" button
Reports
Admin are allowed to create their own database SQL extract and to see them on their browser or to save them in an CSV file via the "REPORTS" menu.
Get the list of members whom had subscribed this year
<syntaxhighlight lang="sql">SELECT first_name,last_name FROM authentication RIGHT JOIN member ON member.id=authentication.id WHERE year(member.subscription)=$year ORDER BY last_name,first_name</sql>
User import
You can import member via a CSV file (see details in the concerned page). Here below some particularities with the import file :
- About sex : use M for male and F for female. Others characters and no value mean undefined sex.
- About dates : allowed formats are YYYY-MM-DD and DD-MM-YYYY. D represents the day as a two-digits number, M represents the month as a two-digits number and Y represents the year as a four-digits number. In case you specify a bad format, the import will end at the current line where the error was found, leaving a red message. The current member and the following won't be imported.
- About nationality, use code id. To get code id of your nationality, check here.