fix(deploy): pin bcrypt==4.3.0 for passlib compat, fix seed model imports, fix AppLayout TS blur handler
This commit is contained in:
@@ -8,6 +8,7 @@ pydantic[email]==2.10.3
|
||||
pydantic-settings==2.7.0
|
||||
python-jose[cryptography]==3.3.0
|
||||
passlib[bcrypt]==1.7.4
|
||||
bcrypt==4.3.0
|
||||
python-multipart==0.0.20
|
||||
celery==5.4.0
|
||||
redis==5.2.1
|
||||
|
||||
@@ -7,6 +7,8 @@ sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||||
from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker
|
||||
from sqlalchemy import select
|
||||
from app.database import Base
|
||||
# Import all models so Base.metadata has the complete schema
|
||||
from app.models import user, school, license, sms, billing, ticket, audit, announcement, email_log, report # noqa
|
||||
from app.models.user import HubUser, UserRole
|
||||
from app.auth.password import hash_password
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<input
|
||||
v-model="searchQuery"
|
||||
@focus="showSearch = true"
|
||||
@blur="setTimeout(() => showSearch = false, 200)"
|
||||
@blur="onSearchBlur"
|
||||
@keydown.escape="showSearch = false; searchQuery = ''"
|
||||
type="text"
|
||||
placeholder="Search schools, invoices, tickets…"
|
||||
@@ -96,6 +96,10 @@ watch(searchQuery, (q) => {
|
||||
}, 300)
|
||||
})
|
||||
|
||||
function onSearchBlur() {
|
||||
setTimeout(() => { showSearch.value = false }, 200)
|
||||
}
|
||||
|
||||
function navigate(item: any) {
|
||||
showSearch.value = false
|
||||
searchQuery.value = ''
|
||||
|
||||
Reference in New Issue
Block a user