Four tabs, one entry
Overview, People, Contracts, Price lists and Settlements sit under a single sidebar entry. The overview is a workplace: the roster joined with the state of each contract.
A language school is more than teachers: it runs on management, methodologists, bookkeeping and reception. Team says what each of them does, and who shows up wherever a teacher is picked.
Overview, People, Contracts, Price lists and Settlements sit under a single sidebar entry. The overview is a workplace: the roster joined with the state of each contract.
When a person is created the server draws a password, stores a hash and sends the message. The envelope on the row sends a new one, and old sessions end that second.
The membership reads "Pending" until the person accepts inside the panel. The response looks the same for a new and for an existing account, so addresses never leak.
The "teaches" flag decides who appears wherever a teacher is picked, and builds the lanes of the Teachers view in the schedule. Clearing it takes the lane away.
Screen access is granted to a human, not to a role: two people in the same position can hold different modules. The whole set is saved in one move.
A module is a permission, and which records may be touched is settled on write, not in the menu.
| Role | Sees | Changes |
|---|---|---|
| Owner | The whole team with addresses, positions and the state of panel access. | Everything: creates, sends access, grants modules, archives and deletes. |
| Methodologist | The whole team. Contracts, Price lists and Settlements come only by grant. | Everything in the team, granting modules to other people included. |
| Teacher | Not this screen. They see teachers' names where a teacher is picked. | Nothing. Their own name, address and password are changed in Account. |
| Student | No access to this screen. | Nothing. The team is the school's business. |
The things that only surface in the third week of working with the module.
There is nothing to invent: the server draws the password, stores a hash of it and sends the letter. The school never sees the password, not even when the account is created, and a lost one is recovered by the person themselves from the login screen, with a link valid for a quarter of an hour. Name, address and password belong to the person and are changed in Account.
The row saved itself, on leaving any one of its fields, but no letter went out: the person stands as “Added”. The letter goes only from the “Send access” envelope, on a deliberate click. A draft with no address says so three ways at once: the cursor moves itself to the address column, the cell carries a hint, and the row stands amber with an “No address” badge.
No. Everyone added by the school starts as an invitation: the membership reads “Pending” until the person accepts it in their own panel. The answer looks identical for a brand new account and for an existing one being attached, because a difference would tell the school which addresses are already in the system. A refusal stays on the list as “Declined”, and the envelope moves such a row back to pending.
They do, if “Teaches” is ticked. A pending person is a full record of the school: they go into a group's staffing, into a contract, into the list of people and into the teacher ceiling, because “pending” says whether someone clicked a link, not whether the school has them. Timetables are built in advance. Declined, revoked and archived people drop out of the ceiling.
Whoever has “Teaches” ticked and has access to the panel, not whoever holds the Teacher position. The position only suggests the starting value of that field: a front desk employee sometimes teaches, and a methodologist who does not teach has no reason to appear anywhere. Unticking it removes the person from the picker but not from history, where the key saved on the lesson holds them.
The archive asks about it in a dialog, one person at a time. The first section counts the contracts in force and offers to close them in the same transaction; the second shows how many lessons still wait for that person and in which groups, with three roads: drop the teacher, hand the lessons to someone on the team, or leave them be. Lessons already taught are touched by none of it.
That is what grants are for. Access to screens belongs to the PERSON, not the position, so two people in the same job can hold different modules. They are ticked under “Modules” in the row menu, the whole set in one save, and the effect is immediate: permissions are counted on every request, so a link to a revoked screen ends in a 404 at once.
No. People, positions and access live here. Working terms and the rate per lesson are held by the Contracts tab, the amount due for a month is worked out by the Settlements tab, and there it stops: transfers, deductions and tax are not part of the system. The transfer is made by a person in a bank, as before.
14 days on your groups and instalments. No card, no strings.