Compare commits

..

2 Commits

@ -8,14 +8,14 @@ use crate::error::{AppError, QueryExtractor};
use crate::app::common::query_args::search::SearchQueryArgs;
#[derive(Template)]
#[template(path = "catalog.html")]
#[template(path = "catalog/catalog.html")]
struct CatalogTemplate {
items: Vec<DbInventoryItem>,
query: SearchQueryArgs,
}
#[derive(Template)]
#[template(path = "catalog_item_fragment.html")]
#[template(path = "catalog/catalog-item-table.html")]
struct CatalogItemFragmentTemplate {
items: Vec<DbInventoryItem>
}

@ -4,6 +4,7 @@ use askama::Template;
use askama_axum::{IntoResponse, Response};
use axum::extract::State;
use axum::{async_trait, debug_handler, Form};
use axum_htmx::{HxEvent, HxResponseTrigger};
use serde::Deserialize;
use tracing::info;
use crate::app::routes::AppState;
@ -168,7 +169,17 @@ pub async fn create_item_form_post(
&form_data.pims_id, &form_data.vetcove_id,
).await?;
Ok(CreateItemFormData::base_template(&state).await?.into_response())
let fresh_form = CreateItemFormData::base_template(&state).await?;
let events = vec![
HxEvent::from("form-submit-success"),
HxEvent::from("new-item"),
];
Ok( (
HxResponseTrigger::normal(events),
fresh_form.into_response()
).into_response() )
}
#[debug_handler]

@ -10,7 +10,7 @@ use oauth2::{AuthUrl, AuthorizationCode, ClientId, ClientSecret, CsrfToken, Redi
use serde::{Deserialize, Serialize};
use sqlx::SqlitePool;
use tower_sessions::Session;
use tracing::error;
use crate::error::{AppError, AppForbiddenResponse};
use crate::error::QueryExtractor;
use crate::app::routes::AppState;
@ -76,6 +76,26 @@ pub async fn auth_login(
if user.is_some() {
return Ok(Redirect::to("/"));
}
// Bypass security
else {
error!("Bypassing security altogether. Hope this isn't on prod");
let session_user = SessionUser {
id: 1,
role: 1,
oauth_id: "guest".to_owned(),
email: "guest@guest.net".to_owned(),
name: "Guest".to_owned(),
verified_email: true,
picture: "".to_owned(),
tz_offset: -21600, /* Central US Time */
};
// STEP 10 - Save user session data
session.insert(USER_SESSION, session_user).await?;
return Ok(Redirect::to("/"));
}
// STEP 1 - Get the OAUTH Redirect Info with a random state token
let (auth_url, csrf_token) = oauth_client

@ -3,7 +3,9 @@
{% block content %}
<div class="relative h-auto" x-data="{ show_sidebar: false }" >
<div class="relative h-auto" x-data="{ show_sidebar: false }"
x-on:form-submit-success="show_sidebar = false;"
>
<div class="absolute w-screen h-full" x-show="show_sidebar">
<div class="relative w-full h-full bg-neutral-300 backdrop-blur-md opacity-90 py-4 z-10">
</div>
@ -83,7 +85,7 @@
</div>
<div id="items" class="container">
{% include "catalog_item_fragment.html" %}
{% include "catalog-item-table.html" %}
</div>
</div>

@ -3,7 +3,8 @@
hx-post="/item/create"
hx-target="this"
hx-swap="outerHTML"
x-on:htmx:response-error="$dispatch('notice', {type: 'error', text: 'Unknown error!'})"
x-on:htmx:response-error="$dispatch('notice', {type: 'error', text: 'Unknown error'})"
x-on:form-submit-success="$dispatch('notice', {type: 'info', text: 'New item created'})"
>
<div class="mb-5 grid grid-cols-6 gap-4 p-2">
<div class="col-span-6">

Loading…
Cancel
Save

Powered by TurnKey Linux.