add autofollow for purchase request's user and his superior
This commit is contained in:
@@ -23,16 +23,23 @@ import com.axelor.apps.purchase.db.repo.PurchaseRequestRepository;
|
|||||||
import com.axelor.apps.purchase.exception.IExceptionMessage;
|
import com.axelor.apps.purchase.exception.IExceptionMessage;
|
||||||
import com.axelor.apps.purchase.service.PurchaseRequestService;
|
import com.axelor.apps.purchase.service.PurchaseRequestService;
|
||||||
import com.axelor.apps.tool.StringTool;
|
import com.axelor.apps.tool.StringTool;
|
||||||
|
import com.axelor.auth.AuthUtils;
|
||||||
import com.axelor.auth.db.User;
|
import com.axelor.auth.db.User;
|
||||||
|
import com.axelor.auth.db.repo.UserRepository;
|
||||||
import com.axelor.exception.AxelorException;
|
import com.axelor.exception.AxelorException;
|
||||||
import com.axelor.exception.db.repo.TraceBackRepository;
|
import com.axelor.exception.db.repo.TraceBackRepository;
|
||||||
import com.axelor.i18n.I18n;
|
import com.axelor.i18n.I18n;
|
||||||
import com.axelor.inject.Beans;
|
import com.axelor.inject.Beans;
|
||||||
|
import com.axelor.mail.db.repo.MailFollowerRepository;
|
||||||
import com.axelor.meta.schema.actions.ActionView;
|
import com.axelor.meta.schema.actions.ActionView;
|
||||||
import com.axelor.meta.schema.actions.ActionView.ActionViewBuilder;
|
import com.axelor.meta.schema.actions.ActionView.ActionViewBuilder;
|
||||||
import com.axelor.rpc.ActionRequest;
|
import com.axelor.rpc.ActionRequest;
|
||||||
import com.axelor.rpc.ActionResponse;
|
import com.axelor.rpc.ActionResponse;
|
||||||
import com.google.inject.Singleton;
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
|
import wslite.json.JSONException;
|
||||||
|
import wslite.json.JSONObject;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import com.axelor.apps.purchase.service.print.PurchaseRequestPrintService;
|
import com.axelor.apps.purchase.service.print.PurchaseRequestPrintService;
|
||||||
@@ -41,6 +48,8 @@ import com.axelor.rpc.Context;
|
|||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
import javax.json.JsonObject;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import com.axelor.apps.report.engine.ReportSettings;
|
import com.axelor.apps.report.engine.ReportSettings;
|
||||||
@@ -211,4 +220,17 @@ public class PurchaseRequestController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void followPurchaseRequest(ActionRequest request, ActionResponse response) throws JSONException{
|
||||||
|
Long id = request.getContext().asType(PurchaseRequest.class).getId();
|
||||||
|
PurchaseRequest purchaseRequest = Beans.get(PurchaseRequestRepository.class).find(id);
|
||||||
|
Beans.get(MailFollowerRepository.class).follow(purchaseRequest, AuthUtils.getUser());
|
||||||
|
|
||||||
|
JSONObject obj = new JSONObject(purchaseRequest.getAttrs());
|
||||||
|
JSONObject superiorId = obj.getJSONObject("superior_user");
|
||||||
|
|
||||||
|
User sup = Beans.get(UserRepository.class).find(superiorId.getLong("id"));
|
||||||
|
|
||||||
|
Beans.get(MailFollowerRepository.class).follow(purchaseRequest, sup);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user