class GrantOfferLetterModel implements BasicProjectDetailsViewModel {

    public boolean isAbleToRemoveSignedGrantOffer() {

        if (getSignedGrantOfferLetterFile() == null) {
            return false;
        }

        if (isGrantOfferLetterApproved()) {
            return false;
        }

        if (isGrantOfferLetterRejected()) {
            return isProjectManager();
        }

        if (!isSubmitted()) {
            return isLeadPartner();
        }

        return false;
    }

    public  GrantOfferLetterModel(String title, Long projectId, String projectName, boolean leadPartner, FileDetailsViewModel grantOfferLetterFile,
                                 FileDetailsViewModel signedGrantOfferLetterFile, FileDetailsViewModel additionalContractFile,
                                 boolean projectManager, GrantOfferLetterStateResource golState, boolean useDocusign,
                                 boolean procurement);

}