Skip to content

Commit

Permalink
Merge pull request #401 from DevSeg/development
Browse files Browse the repository at this point in the history
- finalizing ability to publish campaign #379
  • Loading branch information
sundayAdu authored Apr 17, 2023
2 parents 1a81d61 + afeaf79 commit 310896c
Show file tree
Hide file tree
Showing 19 changed files with 636 additions and 366 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,17 @@ public interface CampaignFacade { //CampaignFacadeEjb
boolean isArchived(String uuid);

boolean isClosedd(String uuid);

boolean isPublished(String uuid);


void deleteCampaign(String uuid);

String cloneCampaign(String uuid, String userCreatingx);

void closeandOpenCampaign(String uuid, boolean openandclosebutton);

void publishandUnPublishCampaign(String uuid, boolean publishedandunpublishbutton);

void archiveOrDearchiveCampaign(String campaignUuid, boolean archive);

Expand All @@ -56,5 +60,5 @@ public interface CampaignFacade { //CampaignFacadeEjb

void validate(CampaignReferenceDto campaignReferenceDto, String formType);

void publishCampaign(String campaignId, boolean published);

}
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ public interface Captions {
String actionCreate = "actionCreate";
String actionCreatingLabel = "actionCreatingLabel";
String actionDearchive = "actionDearchive";
String actionUnpublish = "Unpublish";
String actionDelete = "actionDelete";
String actionPublish = "Publish";
String actionDeselectAll = "actionDeselectAll";
Expand Down Expand Up @@ -1448,6 +1449,7 @@ public interface Captions {
String LoginSidebar_outbreakResponse = "LoginSidebar.outbreakResponse";
String LoginSidebar_poweredBy = "LoginSidebar.poweredBy";
String mainMenuAbout = "mainMenuAbout";
String mainMenuSupport = "mainMenuSupport";
String mainMenuAggregateReports = "mainMenuAggregateReports";
String mainMenuCampaigns = "mainMenuCampaigns";
String mainMenuCases = "mainMenuCases";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ public interface Strings {
String confirmationDeleteContacts = "confirmationDeleteContacts";
String confirmationDeleteEntity = "confirmationDeleteEntity";
String confirmationPublishEntity = "confirmationPublishEntity";
String confirmationUnPublishEntity = "confirmationUnPublishEntity";
String confirmationDeleteEventParticipants = "confirmationDeleteEventParticipants";
String confirmationDeleteEvents = "confirmationDeleteEvents";
String confirmationDeleteFile = "confirmationDeleteFile";
Expand Down Expand Up @@ -336,6 +337,8 @@ public interface Strings {
String headingAnimalContactDetails = "headingAnimalContactDetails";
String headingAnimalContacts = "headingAnimalContacts";
String headingArchiveCampaign = "headingArchiveCampaign";
String headingPublishCampaign = "headingPublishCampaign";
String headingUnPublishCampaign = "headingUnPublishCampaign";
String headingArchiveCase = "headingArchiveCase";
String headingArchiveEvent = "headingArchiveEvent";
String headingArchiveEventGroup = "headingArchiveEventGroup";
Expand Down Expand Up @@ -378,6 +381,7 @@ public interface Strings {
String headingConfirmDearchiving = "headingConfirmDearchiving";
String headingConfirmDeletion = "headingConfirmDeletion";
String headingConfirmPublish = "headingConfirmPublish";
String headingConfirmUnPublish = "headingConfirmUnPublish";
String headingConfirmDisabling = "headingConfirmDisabling";
String headingConfirmEnabling = "headingConfirmEnabling";
String headingConfirmManuallyForwardedLabMessage = "headingConfirmManuallyForwardedLabMessage";
Expand Down
1 change: 1 addition & 0 deletions sormas-api/src/main/resources/captions.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1509,6 +1509,7 @@ messagesNumberOfMessages = Nr. of messages\: %d

# Main Menu
mainMenuAbout=About
mainMenuSupport=Support
mainMenuCampaigns=Campaigns
mainMenuPersons=Persons
mainMenuCases=Cases
Expand Down
1 change: 1 addition & 0 deletions sormas-api/src/main/resources/captions_en-AF.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1517,6 +1517,7 @@ messagesNumberOfMessages = Nr. of messages\: %d

# Main Menu
mainMenuAbout=About
mainMenuSupport=Support
mainMenuCampaigns=Campaigns
mainMenuPersons=Persons
mainMenuCases=Cases
Expand Down
1 change: 1 addition & 0 deletions sormas-api/src/main/resources/captions_en-NG.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1501,6 +1501,7 @@ messagesNumberOfMessages = Nr. of messages\: %d

# Main Menu
mainMenuAbout=About
mainMenuSupport=Support
mainMenuCampaigns=Campaigns
mainMenuPersons=Persons
mainMenuCases=Cases
Expand Down
1 change: 1 addition & 0 deletions sormas-api/src/main/resources/captions_en.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1516,6 +1516,7 @@ messagesNumberOfMessages = Nr. of messages\: %d

# Main Menu
mainMenuAbout=About
mainMenuSupport=Support
mainMenuCampaigns=Campaigns
mainMenuPersons=Persons
mainMenuCases=Cases
Expand Down
6 changes: 5 additions & 1 deletion sormas-api/src/main/resources/strings_en-AF.properties
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,8 @@ confirmationDearchiveEventGroup = Are you sure you want to de-archive this event
confirmationDeleteCases = Are you sure you want to delete all %d selected cases?
confirmationDeleteContacts = Are you sure you want to delete all %d selected contacts?
confirmationDeleteEntity = Are you sure you want to delete this %s? This action can not be reversed.
confirmationPublishEntity = Are you sure you want to publish this Post- %s Data? This action can not be reversed.
confirmationPublishEntity = Are you sure you want to Publish this Post- %s Data? This action can not be reversed.
confirmationUnPublishEntity = Are you sure you want to Un-Publish this Post- %s Data? This action can not be reversed.
confirmationDeleteEventParticipants = Are you sure you want to delete all %d selected event participants?
confirmationDeleteEvents = Are you sure you want to delete all %d selected events?
confirmationDeleteFile = Are you sure you want to delete "%s"?
Expand Down Expand Up @@ -361,6 +362,8 @@ headingAdditionalTests = Additional tests
headingAllContacts = All Contacts
headingAnimalContacts = Animal Contacts
headingArchiveCampaign = Archive Campaign
headingPublishCampaign = Publish Campaign
headingUnPublishCampaign = Un-Publish Campaign
headingArchiveCase = Archive case
headingArchiveEvent = Archive event
headingArchiveEventGroup = Archive event group
Expand Down Expand Up @@ -389,6 +392,7 @@ headingConfirmArchiving = Confirm archiving
headingConfirmDearchiving = Confirm de-archiving
headingConfirmDeletion = Confirm Deletion
headingConfirmPublish = Confirm Publish
headingConfirmUnPublish = Confirm Un-Publish
headingConfirmMerging = Confirm Merging
headingConfirmUpdateCompleteness = Update completeness values
headingContactData = Contact data
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -597,6 +597,15 @@ public boolean isClosedd(String uuid) {
return count.size() > 0;
}

@Override
public boolean isPublished(String uuid) {
String cdvv = "select published from campaigns where uuid = '"+uuid+"' and published = false";

List count = em.createNativeQuery(cdvv).getResultList();
//System.out.println(cdvv +" ++++++++++++++++ "+count.size());
return count.size() > 0;
}


@Override
public void deleteCampaign(String campaignUuid) {
Expand All @@ -611,10 +620,8 @@ public void deleteCampaign(String campaignUuid) {

campaignService.delete(campaignService.getByUuid(campaignUuid));
}


@Override
public String cloneCampaign(String campaignUuid, String userCreating) {
public String cloneCampaign(String campaignUuid, String userCreating) {

User user = userService.getCurrentUser();
if (!userRoleConfigFacade.getEffectiveUserRights(user.getUserRoles().toArray(new UserRole[user.getUserRoles().size()]))
Expand All @@ -624,12 +631,17 @@ public String cloneCampaign(String campaignUuid, String userCreating) {
+ I18nProperties.getString(Strings.entityCampaigns).toLowerCase() + ".");
}
String newUuid = campaignService.cloneForm(campaignService.getByUuid(campaignUuid), user.getId());

String newUuidx = campaignService.clonePopulationData(campaignService.getByUuid(campaignUuid), campaignService.getByUuid(newUuid));

return newUuid;
}




@Override
public void publishCampaign(String campaignUuid, boolean published) {
public void publishandUnPublishCampaign(String campaignUuid, boolean publishedandunpublishbutton) {

User user = userService.getCurrentUser();
if (!userRoleConfigFacade.getEffectiveUserRights(user.getUserRoles().toArray(new UserRole[user.getUserRoles().size()]))
Expand All @@ -638,7 +650,9 @@ public void publishCampaign(String campaignUuid, boolean published) {
I18nProperties.getString(Strings.entityUser) + " " + user.getUuid() + " is not allowed to publish a campaign data "
+ I18nProperties.getString(Strings.entityCampaigns).toLowerCase() + ".");
}
campaignService.campaignPublish(campaignUuid, published);
campaignService.campaignPublish(campaignUuid, publishedandunpublishbutton);



}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,43 +134,60 @@ public List<Campaign> getAllActive() {

return em.createQuery(cq).getResultList();
}



public String cloneForm(Campaign uuidx, Long userCreatingId) {

String cdv = "";
String cds = "";

final Long mill = ZonedDateTime.now().toInstant().toEpochMilli();

try {
cds = cloneFormx1x(uuidx, mill, userCreatingId);
} finally {
cdv = "insert into campaign_campaignformmeta (SELECT "+mill+" as id, "
cdv = "insert into campaign_campaignformmeta (SELECT " + mill + " as id, "
+ "cd.campaignformmeta_id, cd.sys_period FROM campaigns dc inner join campaign_campaignformmeta cd on (dc.id = cd.campaign_id) where dc.name='"
+ uuidx + "' and deleted = false)";

}
int notused = em.createNativeQuery(cdv).executeUpdate();
return cds;
}


public String clonePopulationData(Campaign uuidx, Campaign newCampaignUuid) {

String cdv = "";
String cds = "";

final Long mill = ZonedDateTime.now().toInstant().toEpochMilli();

//
// cdv = "insert into campaign_campaignformmeta (SELECT " + mill + " as id, "
// + "cd.campaignformmeta_id, cd.sys_period FROM campaigns dc inner join campaign_campaignformmeta cd on (dc.id = cd.campaign_id) where dc.name='"
// + uuidx + "' and deleted = false)";

cdv = "INSERT INTO populationdata (id, uuid, changedate, creationdate, region_id, district_id, agegroup, population,collectiondate, campaign_id, selected)"
+ " SELECT " + mill
+ " as id, concat(uuid, '-DUP') as uuid, changedate, creationdate, region_id, district_id, agegroup, population, collectiondate, "+newCampaignUuid.getId()+", selected FROM populationdata "
+ "WHERE campaign_id = "+uuidx.getId()+";";

int notused = em.createNativeQuery(cdv).executeUpdate();
return cds;
}

public int campaignPublish(String uuidx, boolean published) {

String cdvv = "";
if (published) {
cdvv = "update campaigns c set published = false where uuid = '" + uuidx + "' ";

} else {
cdvv = "update campaigns c set published = true where uuid = '" + uuidx + "' ";
}
System.out.println(cdvv);
return em.createNativeQuery(cdvv).executeUpdate();
}



public int closeAndOpenForm(String uuidx, boolean close) {

String cdvv = "";
Expand All @@ -187,24 +204,19 @@ public String cloneFormx1x(Campaign uuidx, Long mill, Long userCreatingId) {

UUID uuisd = UUID.randomUUID();



String cdc = "insert into campaigns (SELECT "+mill+" as id, '"
+ uuisd.toString().toUpperCase()
String cdc = "insert into campaigns (SELECT " + mill + " as id, '" + uuisd.toString().toUpperCase()
+ "' as uuid, changedate, creationdate, CONCAT(name,'-DUP'), description, startdate, enddate, "
+ userCreatingId
+ ", deleted, archived, sys_period, dashboardelements, cluster, round, campaignyear FROM campaigns where name='"
+ uuidx + "' and archived = false and deleted = false)";

System.out.println(cdc);

em.createNativeQuery(cdc).executeUpdate();

return uuisd.toString().toUpperCase();
}



/*
* public int cloneFormx(Campaign uuidx, int unix) { String cdv =
* "insert into campaign_campaignformmeta (SELECT CAST(CONCAT('-1',dc.id,'"
Expand All @@ -215,10 +227,9 @@ public String cloneFormx1x(Campaign uuidx, Long mill, Long userCreatingId) {
public Predicate createActiveCampaignsFilter(CriteriaBuilder cb, Root<Campaign> root) {
return cb.and(cb.isFalse(root.get(Campaign.ARCHIVED)), cb.isFalse(root.get(Campaign.DELETED)));
}




public Predicate createActiveCampaignsFilterForMobile(CriteriaBuilder cb, Root<Campaign> root) {
return cb.and(cb.isFalse(root.get(Campaign.ARCHIVED)), cb.isTrue(root.get(Campaign.CLOSEOPEN)), cb.isFalse(root.get(Campaign.DELETED)));
return cb.and(cb.isFalse(root.get(Campaign.ARCHIVED)), cb.isTrue(root.get(Campaign.CLOSEOPEN)),
cb.isFalse(root.get(Campaign.DELETED)));
}
}
6 changes: 6 additions & 0 deletions sormas-backend/src/main/resources/sql/sormas_schema.sql
Original file line number Diff line number Diff line change
Expand Up @@ -8725,6 +8725,12 @@ ALTER TABLE public.campaignformmeta ADD daysexpired int4 NOT NULL DEFAULT 0;

INSERT INTO schema_version (version_number, comment) VALUES (440, 'limitation of form to expiry days');

-- Inserting foreign key

ALTER TABLE public.populationdata ADD CONSTRAINT populationdata_fk FOREIGN KEY (campaign_id) REFERENCES campaigns(id);
INSERT INTO schema_version (version_number, comment) VALUES (441, 'Inserting foreign key ');




-- *** Insert new sql commands BEFORE this line. Remember to always consider _history tables. ***
Expand Down
38 changes: 19 additions & 19 deletions sormas-ui/src/main/java/de/symeda/sormas/ui/AboutView.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,25 +45,25 @@ public AboutView() {
content.setSizeFull();
addComponent(content);

SormasUI.getCurrent().getPage().getJavaScript().execute(" var form = document.getElementById('my-form');\n"
+ " form.addEventListener(\"submit\", e => {\n"
+ " e.preventDefault();\n"
+ " fetch(form.action, {\n"
+ " method: \"POST\",\n"
+ " body: new FormData(document.getElementById(\"my-form\")),\n"
+ " }).then((response) => {\n"
+ " \n"
+ " alert(\"You have submitted this form \");\n"
+ " window.location.reload();\n"
+ "\n"
+ " \n"
+ "});\n"
+ " });");

Label infoLabel = new Label(
I18nProperties.getCaption(Captions.aboutApmisVersion) + " " + InfoProvider.InfoProvider_apmis(),
ContentMode.HTML);
addComponent(infoLabel);
// SormasUI.getCurrent().getPage().getJavaScript().execute(" var form = document.getElementById('my-form');\n"
// + " form.addEventListener(\"submit\", e => {\n"
// + " e.preventDefault();\n"
// + " fetch(form.action, {\n"
// + " method: \"POST\",\n"
// + " body: new FormData(document.getElementById(\"my-form\")),\n"
// + " }).then((response) => {\n"
// + " \n"
// + " alert(\"You have submitted this form \");\n"
// + " window.location.reload();\n"
// + "\n"
// + " \n"
// + "});\n"
// + " });");
//
// Label infoLabel = new Label(
// I18nProperties.getCaption(Captions.aboutApmisVersion) + " " + InfoProvider.InfoProvider_apmis(),
// ContentMode.HTML);
// addComponent(infoLabel);

}

Expand Down
7 changes: 7 additions & 0 deletions sormas-ui/src/main/java/de/symeda/sormas/ui/MainScreen.java
Original file line number Diff line number Diff line change
Expand Up @@ -267,10 +267,16 @@ public View getView(String viewName) {

// menu.addView(LanguageView.class, LanguageView.VIEW_NAME, "DashboardTest",
// VaadinIcons.GLOBE_WIRE);

menu.addView(SupportView.class, "Support/Feedback", I18nProperties.getCaption(Captions.mainMenuSupport),
VaadinIcons.CHAT);

menu.addView(AboutView.class, AboutView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuAbout),
VaadinIcons.INFO_CIRCLE_O);




// menu.addView(CampaignGisView.class, CampaignGisView.VIEW_NAME,
// I18nProperties.getCaption("GIS"),
// VaadinIcons.MAP_MARKER);
Expand All @@ -281,6 +287,7 @@ public View getView(String viewName) {

menu.addViewx(LogoutTimeoutView.class, LogoutTimeoutView.VIEW_NAME);


/*
* //trying to include a javascript from this method MainScreenAbstract dd = new
* MainScreenAbstract(); menu.addComponent(dd);
Expand Down
Loading

0 comments on commit 310896c

Please sign in to comment.