Compare commits

..

No commits in common. '773a2787d924ad12c5779ac8c1961c5075b5f350' and '57a7bbc94c0f1e2913559e55a5c3bf43c7f0e61d' have entirely different histories.

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

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

@ -10,7 +10,7 @@ use oauth2::{AuthUrl, AuthorizationCode, ClientId, ClientSecret, CsrfToken, Redi
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use sqlx::SqlitePool; use sqlx::SqlitePool;
use tower_sessions::Session; use tower_sessions::Session;
use tracing::error;
use crate::error::{AppError, AppForbiddenResponse}; use crate::error::{AppError, AppForbiddenResponse};
use crate::error::QueryExtractor; use crate::error::QueryExtractor;
use crate::app::routes::AppState; use crate::app::routes::AppState;
@ -76,26 +76,6 @@ pub async fn auth_login(
if user.is_some() { if user.is_some() {
return Ok(Redirect::to("/")); 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 // STEP 1 - Get the OAUTH Redirect Info with a random state token
let (auth_url, csrf_token) = oauth_client let (auth_url, csrf_token) = oauth_client

@ -3,9 +3,7 @@
{% block content %} {% 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="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 class="relative w-full h-full bg-neutral-300 backdrop-blur-md opacity-90 py-4 z-10">
</div> </div>
@ -85,7 +83,7 @@
</div> </div>
<div id="items" class="container"> <div id="items" class="container">
{% include "catalog-item-table.html" %} {% include "catalog_item_fragment.html" %}
</div> </div>
</div> </div>

@ -3,8 +3,7 @@
hx-post="/item/create" hx-post="/item/create"
hx-target="this" hx-target="this"
hx-swap="outerHTML" 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="mb-5 grid grid-cols-6 gap-4 p-2">
<div class="col-span-6"> <div class="col-span-6">

Loading…
Cancel
Save

Powered by TurnKey Linux.