fix(auth): restringe workshop/mecanico solo por servidor y cookie
- Elimina el script inline que redirigia a todos los usuarios. - auth_bp.py: la respuesta de login ahora setea cookie pos_role. - app.py: before_request redirige a /pos/workshop solo cuando la cookie indica rol workshop/mechanic (no depende de JS cacheado). - login.js/login.min.js/app-init.js: sincronizan/limpian la cookie pos_role junto con el token en login y logout. Tests: 35 passed
This commit is contained in:
@@ -49,20 +49,7 @@
|
||||
.sc-interchange-list { display:flex; flex-wrap:wrap; gap:var(--space-2); }
|
||||
.sc-interchange-chip { background:var(--color-surface-2); border:1px solid var(--color-border); border-radius:var(--radius-full); padding:2px 10px; font-size:var(--text-caption); }
|
||||
.sc-close { background:none; border:none; font-size:20px; color:var(--color-text-muted); cursor:pointer; }
|
||||
</style>
|
||||
<script id="workshop-mechanic-redirect">
|
||||
(function(){
|
||||
var t=localStorage.getItem("pos_token");
|
||||
if(!t)return;
|
||||
try{var p=JSON.parse(atob(t.split(".")[1]));var r=(p.role||"").toLowerCase();
|
||||
if((r==="workshop"||r==="mechanic")&&window.location.pathname!=="/pos/workshop"){
|
||||
if("serviceWorker" in navigator){navigator.serviceWorker.getRegistrations().then(function(rs){rs.forEach(function(reg){reg.unregister();});});}
|
||||
window.location.replace("/pos/workshop");
|
||||
}
|
||||
}catch(e){}
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
</style></head>
|
||||
<body>
|
||||
|
||||
<!-- Theme bar -->
|
||||
|
||||
Reference in New Issue
Block a user