Resolved Conflicts
This commit is contained in:
@@ -259,7 +259,7 @@ public class GepafinConstant {
|
||||
public static final String EVALUATIONCRITERIA_INVALID = "evaluationCriteria.invalid";
|
||||
public static final String APPLICATION_NOT_IN_DRAFT_STATUS="application.not.in.draft.status";
|
||||
public static final String GET_ERROR_S3 = "get.error.s3";
|
||||
|
||||
public static final String BENEFICIARY_EMAIL_NOT_FOUND_MSG = "beneficiary.email.not.found.msg";
|
||||
public static final String ADDED_S3_PATH_STRUCTURE ="added.s3.path.structure";
|
||||
public static final String S3_PATH_STRUCTURE_BY_TYPE ="fetched.s3.path.structure.by.type.successfully";
|
||||
public static final String S3_PATH_STRUCTURE_NOT_FOUND_BY_TYPE_MSG ="s3.path.not.found.by.type";
|
||||
@@ -287,7 +287,7 @@ public class GepafinConstant {
|
||||
public static final String AMENDMENT_FOUND_SUCCESS = "amendment.found.success";
|
||||
public static final String INVALID_AMENDMENT_FOR_COMMENT = "invalid.amendment.for.comment";
|
||||
public static final String DD_MM_YYYY_HH_MM = "DD_MM_YYYY_HH_MM";
|
||||
|
||||
public static final String REMINDER_EMAIL_SENT_SUCCESS_MSG = "reminder.email.sent.success.msg";
|
||||
public static final String ENCRYPT_INIT_VECTOR = "IG8*(*@&)*#biVVD";
|
||||
public static final String ENCRYPT_KEY = "U2VjdXJlRW5jcnlwdEtleQ==";
|
||||
}
|
||||
|
||||
@@ -18,10 +18,13 @@ import net.gepafin.tendermanagement.model.request.ApplicationFormFieldRequestBea
|
||||
import net.gepafin.tendermanagement.model.request.CloseAmendmentRequest;
|
||||
import net.gepafin.tendermanagement.model.response.AmendmentFormFieldResponse;
|
||||
import net.gepafin.tendermanagement.model.response.ApplicationAmendmentRequestResponse;
|
||||
import net.gepafin.tendermanagement.model.response.SystemEmailTemplateResponse;
|
||||
import net.gepafin.tendermanagement.repositories.*;
|
||||
import net.gepafin.tendermanagement.service.*;
|
||||
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
||||
import net.gepafin.tendermanagement.util.Validator;
|
||||
import net.gepafin.tendermanagement.entities.SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum;
|
||||
import net.gepafin.tendermanagement.util.Utils;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||
@@ -84,6 +87,13 @@ public class ApplicationAmendmentRequestDao {
|
||||
|
||||
@Autowired
|
||||
private AssignedApplicationsRepository assignedApplicationsRepository;
|
||||
@Autowired
|
||||
private SystemEmailTemplatesService systemEmailTemplatesService;
|
||||
|
||||
@Autowired
|
||||
private HubService hubService;
|
||||
// @Autowired
|
||||
// private MailUtil mailUtil;
|
||||
|
||||
@Autowired
|
||||
private Validator validator;
|
||||
@@ -517,4 +527,57 @@ public class ApplicationAmendmentRequestDao {
|
||||
log.info("Amendment status updated successfully: {}", response);
|
||||
return response;
|
||||
}
|
||||
public void sendReminderEmail(Long amendmentId) {
|
||||
ApplicationAmendmentRequestEntity amendment = applicationAmendmentRequestRepository.findByIdAndIsDeletedFalse(amendmentId)
|
||||
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
|
||||
Translator.toLocale(GepafinConstant.APPLICATION_AMENDMENT_NOT_FOUND_MSG)));
|
||||
|
||||
Optional<ApplicationEvaluationEntity> entityOptional = applicationEvaluationRepository.findByIdAndIsDeletedFalse(amendment.getApplicationEvaluationEntity().getId());
|
||||
if (entityOptional.isPresent()) {
|
||||
ApplicationEntity applicationEntity = applicationService.validateApplication(entityOptional.get().getApplicationId());
|
||||
UserEntity beneficiaryUser = userService.validateUser(applicationEntity.getUserId());
|
||||
HubEntity hub = hubService.valdateHub(applicationEntity.getHubId());
|
||||
SystemEmailTemplateResponse emailTemplate = systemEmailTemplatesService
|
||||
.retrieveTemplateByTypeAndCall(SystemEmailTemplatesEntityTypeEnum.AMENDMENT_REMINDER, hub, null);
|
||||
String subject = prepareSubject(emailTemplate, amendment, beneficiaryUser);
|
||||
String body = prepareBody(emailTemplate, amendment, beneficiaryUser);
|
||||
String email = beneficiaryUser.getEmail();
|
||||
if (Boolean.TRUE.equals(amendment.getIsEmail())&&email != null && !email.isEmpty()) {
|
||||
emailNotificationDao.sendMail(hub.getId(), subject, body, List.of(email));
|
||||
// mailUtil.sendByMailGun(subject,body,List.of(email),null);
|
||||
} else {
|
||||
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.BENEFICIARY_EMAIL_NOT_FOUND_MSG));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private String prepareSubject(SystemEmailTemplateResponse template, ApplicationAmendmentRequestEntity amendment, UserEntity beneficiary) {
|
||||
Map<String, String> subjectPlaceholders = new HashMap<>();
|
||||
String firstName = beneficiary.getFirstName() != null ? beneficiary.getFirstName() : "";
|
||||
String lastName = beneficiary.getLastName() != null ? beneficiary.getLastName() : "";
|
||||
String beneficiaryName = String.join(" ", firstName, lastName).trim();
|
||||
|
||||
subjectPlaceholders.put("{{amendment_id}}", amendment.getId().toString());
|
||||
subjectPlaceholders.put("{{beneficiary_name}}", beneficiaryName);
|
||||
|
||||
return Utils.replacePlaceholders(template.getSubject(), subjectPlaceholders);
|
||||
}
|
||||
|
||||
private String prepareBody(SystemEmailTemplateResponse template, ApplicationAmendmentRequestEntity amendment, UserEntity beneficiary) {
|
||||
Map<String, String> bodyPlaceholders = new HashMap<>();
|
||||
bodyPlaceholders.put("{{amendment_id}}", amendment.getId().toString());
|
||||
|
||||
if (amendment.getStartDate() != null && amendment.getResponseDays() != null) {
|
||||
|
||||
LocalDateTime dueDate = amendment.getStartDate().plusDays(amendment.getResponseDays());
|
||||
bodyPlaceholders.put("{{amendment_due_date}}", DateTimeUtil.formatLocalDateTime(dueDate, GepafinConstant.DD_MM_YYYY));
|
||||
} else {
|
||||
|
||||
bodyPlaceholders.put("{{amendment_due_date}}", "Not available");
|
||||
}
|
||||
|
||||
return Utils.replacePlaceholders(template.getHtmlContent(), bodyPlaceholders);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -97,6 +97,7 @@ public class DocumentDao {
|
||||
private Long resolveSourceId(Long sourceId, DocumentSourceTypeEnum sourceType) {
|
||||
if (sourceType == DocumentSourceTypeEnum.CALL) {
|
||||
CallEntity callEntity = callService.validateCall(sourceId);
|
||||
callDao.validateUpdate(callEntity);
|
||||
return callEntity.getId();
|
||||
}
|
||||
// else if (sourceType == SourceTypeEnum.APPLICATION) {
|
||||
|
||||
@@ -43,6 +43,7 @@ public class SystemEmailTemplatesEntity extends BaseEntity {
|
||||
DOCUMENTATION_INTEGRATION_REQUEST("DOCUMENTATION_INTEGRATION_REQUEST"),
|
||||
INADMISSIBILITY_NOTIFICATION_DUE_TO_FAILURE("INADMISSIBILITY_NOTIFICATION_DUE_TO_FAILURE"),
|
||||
ADMISSIBILITY_NOTIFICATION("ADMISSIBILITY_NOTIFICATION"),
|
||||
AMENDMENT_REMINDER("AMENDMENT_REMINDER"),
|
||||
INADMISSIBILITY_TEMPLATE("INADMISSIBILITY_NOTIFICATION");
|
||||
|
||||
private String value;
|
||||
|
||||
@@ -29,7 +29,7 @@ public class NotificationScheduler {
|
||||
@Autowired
|
||||
EmailNotificationDao emailNotificationDao;
|
||||
|
||||
// @Scheduled(cron = "0 0/1 * * * ?")
|
||||
@Scheduled(cron = "0 0 1 * * ?")
|
||||
void sendNotificationForRejectedApplicationToBeneficiary() {
|
||||
|
||||
List<ApplicationEntity> applicationsList = applicationRepository.findByIsDeletedFalse();
|
||||
@@ -42,16 +42,12 @@ public class NotificationScheduler {
|
||||
|
||||
if (amendmentRequest != null) {
|
||||
LocalDateTime requestDate = amendmentRequest.getCreatedDate();
|
||||
|
||||
// Eg :- Check if requestDate + 7 days is less than or equal to today
|
||||
if (requestDate.plusDays(amendmentRequest.getResponseDays()).isAfter(today)) {
|
||||
// Update the application status to REJECTED
|
||||
application.setStatus("REJECTED");
|
||||
applicationRepository.save(application); // Save updated application
|
||||
|
||||
// Update the amendment request status to CLOSED
|
||||
// amendmentRequest.setStatus("CLOSE");
|
||||
// applicationAmendmentRepository.save(amendmentRequest); // Save updated amendment request
|
||||
applicationRepository.save(application);
|
||||
amendmentRequest.setStatus("CLOSE");
|
||||
applicationAmendmentRepository.save(amendmentRequest);
|
||||
emailNotificationDao.sendApplicationFailureNotificationEmail(amendmentRequest);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,5 +25,5 @@ public interface ApplicationAmendmentRequestService {
|
||||
public ApplicationAmendmentRequestResponse getAmendmentByApplicationId(HttpServletRequest request,Long applicationId);
|
||||
public ApplicationAmendmentRequestResponse updateApplicationStatus(HttpServletRequest request, Long applicationId, ApplicationAmendmentRequestEnum status);
|
||||
|
||||
|
||||
void sendReminderEmail(HttpServletRequest request,Long amendmentId);
|
||||
}
|
||||
|
||||
@@ -1,20 +1,28 @@
|
||||
package net.gepafin.tendermanagement.service.impl;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import net.gepafin.tendermanagement.config.Translator;
|
||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||
import net.gepafin.tendermanagement.dao.ApplicationAmendmentRequestDao;
|
||||
import net.gepafin.tendermanagement.entities.ApplicationAmendmentRequestEntity;
|
||||
import net.gepafin.tendermanagement.entities.ApplicationEvaluationEntity;
|
||||
import net.gepafin.tendermanagement.entities.UserEntity;
|
||||
import net.gepafin.tendermanagement.enums.ApplicationAmendmentRequestEnum;
|
||||
import net.gepafin.tendermanagement.model.request.ApplicationAmendmentRequest;
|
||||
import net.gepafin.tendermanagement.model.request.ApplicationAmendmentRequestBean;
|
||||
import net.gepafin.tendermanagement.model.request.CloseAmendmentRequest;
|
||||
import net.gepafin.tendermanagement.model.response.ApplicationAmendmentRequestResponse;
|
||||
import net.gepafin.tendermanagement.repositories.ApplicationAmendmentRequestRepository;
|
||||
import net.gepafin.tendermanagement.repositories.ApplicationEvaluationRepository;
|
||||
import net.gepafin.tendermanagement.service.ApplicationAmendmentRequestService;
|
||||
import net.gepafin.tendermanagement.util.Validator;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
public class ApplicationAmendmentRequestServiceImpl implements ApplicationAmendmentRequestService {
|
||||
@@ -24,6 +32,10 @@ public class ApplicationAmendmentRequestServiceImpl implements ApplicationAmendm
|
||||
|
||||
@Autowired
|
||||
private ApplicationAmendmentRequestDao applicationAmendmentRequestDao;
|
||||
@Autowired
|
||||
private ApplicationAmendmentRequestRepository applicationAmendmentRequestRepository;
|
||||
@Autowired
|
||||
private ApplicationEvaluationRepository applicationEvaluationRepository;
|
||||
|
||||
@Override
|
||||
public ApplicationAmendmentRequestResponse getApplicationDataForAmendment(HttpServletRequest request, Long applicationEvaluationId) {
|
||||
@@ -87,5 +99,17 @@ public class ApplicationAmendmentRequestServiceImpl implements ApplicationAmendm
|
||||
return applicationAmendmentRequestDao.updateApplicationAmendmentStatus(applicationId, status);
|
||||
|
||||
}
|
||||
@Override
|
||||
public void sendReminderEmail(HttpServletRequest request,Long amendmentId) {
|
||||
ApplicationAmendmentRequestEntity amendment = applicationAmendmentRequestRepository.findByIdAndIsDeletedFalse(amendmentId)
|
||||
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
|
||||
Translator.toLocale(GepafinConstant.APPLICATION_AMENDMENT_NOT_FOUND_MSG)));
|
||||
|
||||
Optional<ApplicationEvaluationEntity> entityOptional = applicationEvaluationRepository.findByIdAndIsDeletedFalse(amendment.getApplicationEvaluationEntity().getId());
|
||||
if (entityOptional.isPresent()) {
|
||||
UserEntity user = validator.validatePreInstructor(request, entityOptional.get().getUserId());
|
||||
|
||||
applicationAmendmentRequestDao.sendReminderEmail(amendmentId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,4 +171,19 @@ public interface ApplicationAmendmentRequestApi {
|
||||
@Parameter(description = "The application amendment id", required = true) @PathVariable("applicationAmendmentId") Long applicationAmendmentId,
|
||||
@Parameter(description = "status", required = true)@RequestParam(value = "status", required = true) ApplicationAmendmentRequestEnum status);
|
||||
|
||||
@Operation(summary = "Send reminder email for the specified amendment",
|
||||
responses = {
|
||||
@ApiResponse(responseCode = "200", description = "Email sent successfully"),
|
||||
@ApiResponse(responseCode = "404", description = "Amendment not found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
|
||||
@ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })),
|
||||
@ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
|
||||
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })),
|
||||
@ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
|
||||
@ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) }))
|
||||
})
|
||||
@PostMapping(value = "sendReminderEmail/{amendmentId}", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
ResponseEntity<Response<Void>> sendReminderEmail(HttpServletRequest request,
|
||||
@Parameter( required = true)
|
||||
@PathVariable(value = "amendmentId") Long amendmentId);
|
||||
|
||||
}
|
||||
|
||||
@@ -117,4 +117,16 @@ public class ApplicationAmendmentRequestController implements ApplicationAmendme
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(applicationResponse, Status.SUCCESS, Translator.toLocale(GepafinConstant.APPLICATION_STATUS_UPDATED_SUCCESSFULLY)));
|
||||
}
|
||||
@Override
|
||||
public ResponseEntity<Response<Void>> sendReminderEmail(
|
||||
HttpServletRequest request,
|
||||
Long amendmentId) {
|
||||
|
||||
log.info("Sending reminder email for Amendment ID: {}", amendmentId);
|
||||
applicationAmendmentRequestService.sendReminderEmail(request,amendmentId);
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.REMINDER_EMAIL_SENT_SUCCESS_MSG)));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1647,19 +1647,39 @@
|
||||
<column name="internal_note" type="TEXT"></column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
<changeSet id="30-10-2024_1" author="Nisha Kashyap">
|
||||
|
||||
<changeSet id="29-10-2024_2" author="Piyush">
|
||||
<addColumn tableName="hub">
|
||||
<column name="EMAIL_SERVICE_TYPE" type="TEXT"/>
|
||||
<column name="EMAIL_SERVICE_CONFIG" type="TEXT"/>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="29-10-2024_3" author="Piyush">
|
||||
<sqlFile dbms="postgresql"
|
||||
path="db/dump/insert_system_email_template_for_notification_mail_31_10_2024.sql"/>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="30-10-2024_1" author="Nisha Kashyap">
|
||||
<addColumn tableName="hub">
|
||||
<column name="pdf_banner" type="TEXT"></column>
|
||||
</addColumn>
|
||||
<update tableName="hub">
|
||||
<column name="pdf_banner" value='https://mementoresources.s3.amazonaws.com/gepafin/staging/template/gepafin-logo.jpg'/>
|
||||
<column name="pdf_banner"
|
||||
value='https://mementoresources.s3.amazonaws.com/gepafin/staging/template/gepafin-logo.jpg'/>
|
||||
<where>UNIQUE_UUID = 'p4lk3bcx1RStqTaIVVbXs'</where>
|
||||
</update>
|
||||
<update tableName="hub">
|
||||
<column name="pdf_banner" value='https://mementoresources.s3.amazonaws.com/gepafin/staging/template/sviluppumbria_logo.jpg'/>
|
||||
<column name="pdf_banner"
|
||||
value='https://mementoresources.s3.amazonaws.com/gepafin/staging/template/sviluppumbria_logo.jpg'/>
|
||||
<where>UNIQUE_UUID = 't7jh5wfg9QXylNaTZkPoE'</where>
|
||||
</update>
|
||||
</changeSet>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="30-10-2024_2" author="Piyush">
|
||||
<sqlFile dbms="postgresql"
|
||||
path="db/dump/update_hub_data_for_email_service_config_31_10_2024_1.sql"/>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="31-10-2024_1" author="Rajesh Khore">
|
||||
<addColumn tableName="hub">
|
||||
@@ -1682,18 +1702,13 @@
|
||||
<where>UNIQUE_UUID = 't7jh5wfg9QXylNaTZkPoE'</where>
|
||||
</update>
|
||||
</changeSet>
|
||||
|
||||
|
||||
<changeSet id="29-10-2024_2" author="Piyush">
|
||||
<addColumn tableName="hub">
|
||||
<column name="EMAIL_SERVICE_TYPE" type="TEXT"/>
|
||||
<column name="EMAIL_SERVICE_CONFIG" type="TEXT"/>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="29-10-2024_3" author="Piyush">
|
||||
<changeSet id="30-10-2024_4" author="Harish Bagora">
|
||||
<sql dbms="postgresql">select
|
||||
setval('gepafin_schema.system_email_template_id_seq', (select
|
||||
max(id)+1
|
||||
from gepafin_schema.system_email_template), false)
|
||||
</sql>
|
||||
<sqlFile dbms="postgresql"
|
||||
path="db/dump/insert_system_email_template_for_notification_mail_31_10_2024.sql"/>
|
||||
path="db/dump/insert_system_email_template_for_sollecito_30_10_2024.sql"/>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
-- SQL Dump to insert system email template for amendment reminder email with calculated due date
|
||||
INSERT INTO gepafin_schema.system_email_template
|
||||
(template_name, "type", html_content, subject, "json", "system", is_deleted, created_date, updated_date)
|
||||
VALUES
|
||||
(
|
||||
'Amendment Reminder Email',
|
||||
'AMENDMENT_REMINDER',
|
||||
'<html>
|
||||
<body style="font-family: Arial, sans-serif; color: #000; line-height: 1.6;">
|
||||
<div style="padding: 20px; border: 1px solid #ddd; border-radius: 8px; max-width: 600px; margin: auto;">
|
||||
<p><strong>PROMEMORIA PER LA PRESENTAZIONE DELL''EMENDAMENTO</strong></p>
|
||||
<p>Buongiorno,</p>
|
||||
<p>Questo è un promemoria per completare la presentazione dell''emendamento entro il termine specificato. Di seguito i dettagli:</p>
|
||||
<ul>
|
||||
<li><strong>Amendment ID:</strong> {{amendment_id}}</li>
|
||||
<li><strong>Data di Scadenza:</strong> {{amendment_due_date}}</li>
|
||||
</ul>
|
||||
<p>Si prega di assicurarsi che l''emendamento venga presentato entro la data di scadenza per evitare ritardi. Inviare l''emendamento tramite la piattaforma online <a href="{{platform_link}}">{{platform_link}}</a> </p>
|
||||
<p>Distinti saluti,</p>
|
||||
<p><strong>{{email_signature}}</strong></p>
|
||||
</div>
|
||||
</body>
|
||||
</html>',
|
||||
'Reminder: Pending Amendment Submission - ID {{amendment_id}}',
|
||||
NULL,
|
||||
true,
|
||||
false,
|
||||
CURRENT_TIMESTAMP,
|
||||
CURRENT_TIMESTAMP);
|
||||
@@ -0,0 +1,9 @@
|
||||
UPDATE hub
|
||||
SET email_service_type = 'PEC_SERVICE',
|
||||
email_service_config = 'JkFbBfuVvq7VWwp5LcWIi+hAa1RJ1ekI0jq3w7gLTXETZiTaN8zC4OBWD53x8FtbfFTh3L/5805CIYTH1BQGa3X9q16q9SDzMy7DKHdmJzOnLKhn74C5akoXKaeXUCGnzp0cSk2c01FV6lwefC29IshijFSumCHtVlgWNeZigBx51GL2Coh8nF1Mu7/KIcny'
|
||||
WHERE UNIQUE_UUID = 'p4lk3bcx1RStqTaIVVbXs';
|
||||
|
||||
UPDATE hub
|
||||
SET email_service_type = 'MAILGUN_SERVICE',
|
||||
email_service_config = 'mhyP0kKQCrsbhGv3PGx4yob4dPSNBOd2xFnAPkikJE7VHkydklfUSVWAdYjhXwOz8rglH2YYEC/xGZdrEgSnkS9Ed56/qzmaU1667GGf+kc5mciOiECW5/sVmhtbVClEnu1FGZMzlsJSqYKlTmqfCYD0lTAlak1Lu2n030tj6nhMDvUxP9CbeTwkzALMtmgt'
|
||||
WHERE UNIQUE_UUID = 't7jh5wfg9QXylNaTZkPoE';
|
||||
@@ -101,6 +101,7 @@ success.password.changed=Password changed successfully.
|
||||
logout.successful.msg=Logout successful. You have been logged out successfully.
|
||||
#Update user Active or Deactive status
|
||||
update.user.status.success=User status has been successfully updated.
|
||||
beneficiary.email.not.found.msg=The email address for the beneficiary could not be found. Please ensure that the beneficiary has a valid email address.
|
||||
|
||||
|
||||
#Form-field-related messages
|
||||
@@ -295,6 +296,7 @@ application.amendment.get.success = Application Amendment details fetched succes
|
||||
application.amendment.update.successfully = Application Amendment Updated Successfully.
|
||||
application.amendment.closed.successfully = Application Amendment Closed Successfully.
|
||||
response.days.extended.success=Response days extended successfully.
|
||||
reminder.email.sent.success.msg=Reminder email sent successfully!
|
||||
|
||||
added.comment.to.amendment.request.success = Application Amendment Comment Added Successfully.
|
||||
comment.not.found = Comment Not Found.
|
||||
|
||||
@@ -299,3 +299,5 @@ amendment.found.success = Richiesta di emendamento trovata con successo.
|
||||
invalid.amendment.for.comment = Richiesta di emendamento non valida per il commento fornito.
|
||||
DD_MM_YYYY_HH_MM = dd_MM_yyyy HH:mm
|
||||
create.application.data.amendment.msg =Emendamento alla domanda inviato con successo
|
||||
beneficiary.email.not.found.msg=L'indirizzo email per il beneficiario non è stato trovato. Si prega di assicurarsi che il beneficiario abbia un indirizzo email valido.
|
||||
reminder.email.sent.success.msg=Email di promemoria inviata con successo!
|
||||
|
||||
Reference in New Issue
Block a user