[ https://issues.apache.org/jira/browse/FINERACT-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15405513#comment-15405513 ]
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_r73293255 --- Diff: fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/domain/ReportMailingJob.java --- @@ -0,0 +1,588 @@ +/** + * 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 java.util.Date; +import java.util.LinkedHashMap; +import java.util.Map; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; +import javax.persistence.UniqueConstraint; + +import org.apache.commons.lang.StringUtils; +import org.apache.fineract.infrastructure.core.api.JsonCommand; +import org.apache.fineract.infrastructure.dataqueries.domain.Report; +import org.apache.fineract.infrastructure.reportmailingjob.ReportMailingJobConstants; +import org.apache.fineract.infrastructure.reportmailingjob.data.ReportMailingJobEmailAttachmentFileFormat; +import org.apache.fineract.infrastructure.reportmailingjob.data.ReportMailingJobPreviousRunStatus; +import org.apache.fineract.useradministration.domain.AppUser; +import org.joda.time.DateTime; +import org.joda.time.LocalDate; +import org.joda.time.LocalDateTime; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; +import org.springframework.data.jpa.domain.AbstractPersistable; + +@Entity +@Table(name = "m_report_mailing_job", uniqueConstraints = { @UniqueConstraint(columnNames = { "name" }, name = "unique_name") }) +public class ReportMailingJob extends AbstractPersistable<Long> { --- End diff -- Updated user and date are missing. Extend this entity from AbstractAuditableCustom > 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)