[ https://issues.apache.org/jira/browse/FINERACT-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15405518#comment-15405518 ]
ASF GitHub Bot commented on FINERACT-65: ---------------------------------------- Github user nazeer1100126 commented on a diff in the pull request: https://github.com/apache/incubator-fineract/pull/191#discussion_r73293627 --- Diff: fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJobRepositoryWrapper.java --- @@ -0,0 +1,56 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.fineract.infrastructure.reportmailingjob.domain; + +import org.apache.fineract.infrastructure.reportmailingjob.exception.ReportMailingJobNotFoundException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class ReportMailingJobRepositoryWrapper { + private final ReportMailingJobRepository reportMailingJobRepository; + + @Autowired + public ReportMailingJobRepositoryWrapper(final ReportMailingJobRepository reportMailingJobRepository) { + this.reportMailingJobRepository = reportMailingJobRepository; + } + + /** + * find report mailing job by ID, throw a "entity not found" exception if the job does not exist + * + * @param id -- the identifier of the report mailing job to be found + * @return ReportMailingJob object + **/ + public ReportMailingJob findOneThrowExceptionIfNotFound(final Long id) { + final ReportMailingJob reportMailingJob = this.reportMailingJobRepository.findOne(id); + + if (reportMailingJob == null || reportMailingJob.isDeleted()) { + throw new ReportMailingJobNotFoundException(id); + } + + return reportMailingJob; + } + + /** + * @return ReportMailingJobRepository Jpa Repository object + **/ + public ReportMailingJobRepository getReportMailingJobRepository() { --- End diff -- Is this method required? > Implement ability to schedule & e-mail reports > ---------------------------------------------- > > Key: FINERACT-65 > URL: https://issues.apache.org/jira/browse/FINERACT-65 > Project: Apache Fineract > Issue Type: New Feature > Reporter: Emmanuel Nnaa > Assignee: Markus Geiss > Priority: Minor > > Some reports take a bit longer to run, therefore we should be able to allow > our users to schedule them overnight to be e-mailed. > The way this should work is: > - Add e-mailaddress to users and make it mandatory (possibly already in > MifosX) > - Allow users to configure schedule entries which consist of: > - One or multiple target users (e-mailaddresses) > - Set the preferred subject and content of the e-mail (Look at user generated > documents API in MifosX for replacing certain variables) > - Choose the run frequency of the report (daily, weekly, every x'th day of > the month etc, cron-like flexibility with a UI) > - Pick the preferred output format (PDF/XLS/CSV) > These reports should be picked up by a scheduled job overnight and then run > in serial to avoid performance hits and sent out to the users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)