Yrityskohtaiset käyttäjäroolit + IP-rajoitus bugikorjaus
- Lisää role-sarake user_companies-tauluun (admin/user per yritys) - Migraatio: kopioi vanhat admin-roolit user_companies-tauluun, muuta globaali admin → user - Päivitä dbSaveUser/dbLoadUsers/dbGetUser/dbGetUserByUsername käsittelemään company_roles - isCompanyAdmin() tarkistaa nyt yrityskohtaisen roolin (session company_role) - requireAdmin() käyttää isCompanyAdmin():ia - requireCompany() tarkistaa IP-rajoituksen (siirretty login/check_auth:sta) - Login ei enää estä kirjautumista IP:n perusteella, vaan merkitsee ip_blocked - check_auth näyttää kaikki yritykset, IP-estetyt merkitään ip_blocked:lla - company_switch palauttaa company_role ja päivittää session - Frontend: käyttäjälomakkeessa yrityskohtaiset rooli-dropdownit (admin/käyttäjä) - Frontend: yritysvaihto päivittää admin-näkyvyyden company_rolen mukaan - Frontend: yritysvalitsimessa IP-estetyt yritykset näkyvät "(IP-rajoitus)" -tekstillä Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
13
index.html
13
index.html
@@ -1943,17 +1943,16 @@
|
||||
<label for="user-form-password">Salasana <span id="user-pw-hint"></span></label>
|
||||
<input type="password" id="user-form-password">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="user-form-role">Rooli</label>
|
||||
<div class="form-group" id="user-role-group">
|
||||
<label for="user-form-role">Pääkäyttäjä</label>
|
||||
<select id="user-form-role">
|
||||
<option value="user">Käyttäjä</option>
|
||||
<option value="admin">Yritysadmin</option>
|
||||
<option value="superadmin">Pääkäyttäjä</option>
|
||||
<option value="user">Ei</option>
|
||||
<option value="superadmin">Kyllä (Superadmin)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group full-width">
|
||||
<label>Yritysoikeudet</label>
|
||||
<div id="user-company-checkboxes" style="display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:0.25rem;"></div>
|
||||
<label>Yritykset ja roolit</label>
|
||||
<div id="user-company-checkboxes" style="display:flex;flex-direction:column;gap:0.5rem;margin-top:0.25rem;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="user-signatures-section" style="display:none;margin-top:1rem;border-top:1px solid #e5e7eb;padding-top:1rem;">
|
||||
|
||||
Reference in New Issue
Block a user