attempt at fixing confirmation emails by setting email headers, link for manual confirmation email and cut next release #29
4 changed files with 26 additions and 6 deletions
add a link for manually sending a confirmation email
commit
28f5caa548
|
|
@ -455,7 +455,7 @@ impl JobOffer<PathBuf> {
|
|||
.collect::<Result<_, PresentationError>>()?;
|
||||
|
||||
let actions = if !is_preview && is_authenticated {
|
||||
Some(JobOfferActions::new(req, id)?)
|
||||
Some(JobOfferActions::new(req, id, self)?)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,11 +1,15 @@
|
|||
use crate::job_offers::{Attachment, JobOfferId, JobOfferStatus, Link};
|
||||
use crate::job_offers::{
|
||||
Attachment, ConfirmationStatus, JobOffer, JobOfferId, JobOfferStatus, Link,
|
||||
};
|
||||
use crate::route::{
|
||||
JOBOFFER_DELETION_ROUTE, JOBOFFER_EDIT_ROUTE, JOBOFFER_PUBLISH_ROUTE, JOBOFFER_UNPUBLISH_ROUTE,
|
||||
JOBOFFER_CONFIRM_ROUTE, JOBOFFER_DELETION_ROUTE, JOBOFFER_EDIT_ROUTE, JOBOFFER_PUBLISH_ROUTE,
|
||||
JOBOFFER_UNPUBLISH_ROUTE,
|
||||
};
|
||||
use actix_web::error::UrlGenerationError;
|
||||
use actix_web::HttpRequest;
|
||||
use chrono::FixedOffset;
|
||||
use lettre::Address;
|
||||
use std::path::PathBuf;
|
||||
use url::Url;
|
||||
|
||||
#[derive(serde::Serialize)]
|
||||
|
|
@ -50,12 +54,14 @@ pub struct JobOfferActions {
|
|||
unpublish_url: Url,
|
||||
delete_url: Url,
|
||||
edit_url: Url,
|
||||
confirmation_link: Option<Url>,
|
||||
}
|
||||
|
||||
impl JobOfferActions {
|
||||
pub(super) fn new(
|
||||
req: &HttpRequest,
|
||||
id: &JobOfferId,
|
||||
offer: &JobOffer<PathBuf>,
|
||||
) -> actix_web::Result<Self, UrlGenerationError> {
|
||||
let publish_url = req
|
||||
.url_for(JOBOFFER_PUBLISH_ROUTE, &[id])
|
||||
|
|
@ -73,11 +79,19 @@ impl JobOfferActions {
|
|||
.url_for(JOBOFFER_EDIT_ROUTE, &[id])
|
||||
.expect("generation of delete route urls should succeed");
|
||||
|
||||
let confirmation_url = match &offer.status.confirmation_status {
|
||||
ConfirmationStatus::AwaitingConfirmation { token } => {
|
||||
Some(req.url_for(JOBOFFER_CONFIRM_ROUTE, [id, token])?)
|
||||
}
|
||||
ConfirmationStatus::Confirmed => None,
|
||||
};
|
||||
|
||||
Ok(Self {
|
||||
publish_url,
|
||||
unpublish_url,
|
||||
delete_url,
|
||||
edit_url,
|
||||
confirmation_link: confirmation_url,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ mod license;
|
|||
|
||||
pub(crate) use auth::{LOGIN_ROUTE, LOGOUT_ROUTE};
|
||||
pub(crate) use job_offer::{
|
||||
confirmation::JOBOFFER_CONFIRM_ROUTE,
|
||||
create::JOBOFFER_CREATION_ROUTE,
|
||||
delete::{JOBOFFER_BULK_DELETE_ROUTE, JOBOFFER_DELETE_EXPIRED_ROUTE, JOBOFFER_DELETION_ROUTE},
|
||||
edit::JOBOFFER_EDIT_ROUTE,
|
||||
|
|
|
|||
|
|
@ -68,6 +68,10 @@
|
|||
<div>ID: {{job_offer.id}}</div>
|
||||
<div>Review Status: <span class="{{#unless job_offer.reviewed}}unreviewed{{/unless}}">{{job_offer.status.review_status}}</span></div>
|
||||
<div>Confirmation Status: <span class="{{#unless job_offer.confirmed}}unconfirmed{{/unless}}">{{job_offer.status.confirmation_status.type}}</span></div>
|
||||
{{log job_offer.actions}}
|
||||
{{#if job_offer.actions.confirmation_link}}
|
||||
<div><a href="mailto:{{job_offer.contact_data}}?body=Confirmation%20Link:%20{{job_offer.actions.confirmation_link}}" >Manual Confirmation Mail</a></div>
|
||||
{{/if}}
|
||||
{{/unless}}
|
||||
|
||||
{{#if job_offer.actions }}
|
||||
|
|
@ -100,11 +104,12 @@
|
|||
{{#*inline "formaction"}}{{job_offer.actions.delete_url}}{{/inline}}
|
||||
{{/confirm-modal}}
|
||||
{{/if}}
|
||||
|
||||
{{#if job_offer.actions.edit_url }}
|
||||
<a href="{{job_offer.actions.edit_url}}">Bearbeiten</a>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if job_offer.actions.edit_url }}
|
||||
<a href="{{job_offer.actions.edit_url}}">Bearbeiten</a>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue