From bbba1ead645100e05c0a0617250c2536fd59d1cf Mon Sep 17 00:00:00 2001 From: kirbylife Date: Sat, 1 Jun 2024 01:26:37 -0600 Subject: [PATCH] Add visitor counter --- src/controllers.rs | 10 ++++++++++ src/main.rs | 2 ++ templates/admin/panel.html.tera | 4 ++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/controllers.rs b/src/controllers.rs index aa30506..bfc66d8 100644 --- a/src/controllers.rs +++ b/src/controllers.rs @@ -79,4 +79,14 @@ pub mod posts { )) .get_result(&connection) } + + pub fn add_visit(post_id: i32) { + use crate::schema::posts::dsl::*; + + let connection = establish_connection(); + diesel::update(posts.filter(id.eq(post_id))) + .set(views.eq(views + 1)) + .execute(&connection) + .unwrap(); + } } diff --git a/src/main.rs b/src/main.rs index 1a0ea3a..3b125b3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -78,6 +78,8 @@ fn show_post(title: String) -> Template { match posts::get_post(id) { Ok(mut post) => { + posts::add_visit(id); + let mut comrak_options = Options::default(); comrak_options.extension.table = true; comrak_options.extension.autolink = true; diff --git a/templates/admin/panel.html.tera b/templates/admin/panel.html.tera index 84c35bb..ab91ada 100644 --- a/templates/admin/panel.html.tera +++ b/templates/admin/panel.html.tera @@ -43,13 +43,13 @@ {% if loop.index is odd %}

{{ post.id }}

{{ post.title }}

-

0

+

{{ post.views }}

{{ post.published }}

Editar

{% else %}

{{ post.id }}

{{ post.title }}

-

0

+

{{ post.views }}

{{ post.published }}

Editar

{% endif %}