Merge branch 'export' into develop
This commit is contained in:
commit
68d74dddd2
src/main/java/se/su/dsv/scipro
admin/pages/settings
io
springdata/serviceimpls
supervisor/panels
@ -32,25 +32,12 @@
|
|||||||
<td><input name="7" type="checkbox" wicket:id="mailNotifications" />
|
<td><input name="7" type="checkbox" wicket:id="mailNotifications" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<!--<tr>-->
|
<tr>
|
||||||
<!--<td><label for="7">Enable remote exports:</label>-->
|
<td><label for="7">Enable remote exports:</label>
|
||||||
<!--</td>-->
|
</td>
|
||||||
<!--<td><input name="7" type="checkbox" wicket:id="remoteExport" />-->
|
<td><input name="7" type="checkbox" wicket:id="remoteExport" />
|
||||||
<!--</td>-->
|
</td>
|
||||||
<!--</tr>-->
|
</tr>
|
||||||
<!--<tr>-->
|
|
||||||
<!--<td><label for="7">Supervisors can accept and decline project ideas:</label>-->
|
|
||||||
<!--</td>-->
|
|
||||||
<!--<td><input name="7" type="checkbox" wicket:id="supervisorsCanAcceptDeclinePIs" />-->
|
|
||||||
<!--</td>-->
|
|
||||||
<!--</tr>-->
|
|
||||||
<!--<tr>-->
|
|
||||||
<!--<td><label for="7">Matching algorithm matches are force accepted:</label>-->
|
|
||||||
<!--</td>-->
|
|
||||||
<!--<td><input name="7" type="checkbox" wicket:id="matchAlgorithmMatchesAreForceAccepted" />-->
|
|
||||||
<!--</td>-->
|
|
||||||
<!--</tr>-->
|
|
||||||
|
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ public class AdminGeneralSettingsPage extends AbstractAdminSettingsPage {
|
|||||||
add(systemFromMail);
|
add(systemFromMail);
|
||||||
add(smtpServer);
|
add(smtpServer);
|
||||||
add(mailNotifications);
|
add(mailNotifications);
|
||||||
// add(remoteExport);
|
add(remoteExport);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package se.su.dsv.scipro.io.facade;
|
package se.su.dsv.scipro.io.facade;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import se.su.dsv.scipro.data.dataobjects.Project;
|
import se.su.dsv.scipro.data.dataobjects.Project;
|
||||||
import se.su.dsv.scipro.data.dataobjects.ProjectFollower;
|
import se.su.dsv.scipro.data.dataobjects.ProjectFollower;
|
||||||
@ -15,6 +16,7 @@ import se.su.dsv.scipro.io.exceptions.ExternalExportException;
|
|||||||
@Service
|
@Service
|
||||||
public class ExporterFacade {
|
public class ExporterFacade {
|
||||||
|
|
||||||
|
@Qualifier("externalExporter")
|
||||||
@Autowired
|
@Autowired
|
||||||
ExternalExporter externalExporter;
|
ExternalExporter externalExporter;
|
||||||
|
|
||||||
@ -31,7 +33,7 @@ public class ExporterFacade {
|
|||||||
}catch(ExternalExportException eee){
|
}catch(ExternalExportException eee){
|
||||||
externalExporter.deleteProject(""+p.getIdentifier());
|
externalExporter.deleteProject(""+p.getIdentifier());
|
||||||
System.out.println(eee.getMessage());
|
System.out.println(eee.getMessage());
|
||||||
//error(eee.getMessage());
|
throw eee;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -202,7 +202,7 @@ public class ApiClient {
|
|||||||
Client client = getClient();
|
Client client = getClient();
|
||||||
WebResource resource = client.resource(url);
|
WebResource resource = client.resource(url);
|
||||||
ClientResponse clientResponse = resource.accept(MediaType.APPLICATION_JSON_TYPE).delete(ClientResponse.class);
|
ClientResponse clientResponse = resource.accept(MediaType.APPLICATION_JSON_TYPE).delete(ClientResponse.class);
|
||||||
if(clientResponse.getStatus() != 200){
|
if(clientResponse.getStatus() != 204){
|
||||||
throw new ExternalExportException("Could not delete project");
|
throw new ExternalExportException("Could not delete project");
|
||||||
}
|
}
|
||||||
return ""+clientResponse.getStatus();
|
return ""+clientResponse.getStatus();
|
||||||
|
@ -14,6 +14,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import se.su.dsv.scipro.data.dataobjects.*;
|
import se.su.dsv.scipro.data.dataobjects.*;
|
||||||
import se.su.dsv.scipro.data.enums.ProjectStatus;
|
import se.su.dsv.scipro.data.enums.ProjectStatus;
|
||||||
import se.su.dsv.scipro.data.enums.ProjectTeamMemberRoles;
|
import se.su.dsv.scipro.data.enums.ProjectTeamMemberRoles;
|
||||||
|
import se.su.dsv.scipro.io.exceptions.ExternalExportException;
|
||||||
import se.su.dsv.scipro.io.facade.ExporterFacade;
|
import se.su.dsv.scipro.io.facade.ExporterFacade;
|
||||||
import se.su.dsv.scipro.match.dataobject.ProjectIdea;
|
import se.su.dsv.scipro.match.dataobject.ProjectIdea;
|
||||||
import se.su.dsv.scipro.springdata.repos.*;
|
import se.su.dsv.scipro.springdata.repos.*;
|
||||||
@ -185,8 +186,12 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl
|
|||||||
p = projectRepo.save(p);
|
p = projectRepo.save(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
exporterFacade.exportProject(p, p.getHeadSupervisor().getUnit());
|
try {
|
||||||
return p;
|
exporterFacade.exportProject(p, p.getHeadSupervisor().getUnit());
|
||||||
|
return p;
|
||||||
|
} catch (ExternalExportException eee){
|
||||||
|
throw eee;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else return null;
|
else return null;
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<wicket:panel>
|
<wicket:panel>
|
||||||
|
<div wicket:id="feedbackPanel"></div>
|
||||||
<div><button wicket:id="export">Create project and export to Daisy</button></div>
|
<div><button wicket:id="export">Create project and export to Daisy</button></div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ import org.apache.wicket.markup.html.basic.Label;
|
|||||||
import org.apache.wicket.markup.html.form.Form;
|
import org.apache.wicket.markup.html.form.Form;
|
||||||
import org.apache.wicket.markup.html.list.ListItem;
|
import org.apache.wicket.markup.html.list.ListItem;
|
||||||
import org.apache.wicket.markup.html.list.ListView;
|
import org.apache.wicket.markup.html.list.ListView;
|
||||||
|
import org.apache.wicket.markup.html.panel.FeedbackPanel;
|
||||||
import org.apache.wicket.markup.html.panel.Panel;
|
import org.apache.wicket.markup.html.panel.Panel;
|
||||||
import org.apache.wicket.model.Model;
|
import org.apache.wicket.model.Model;
|
||||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||||
@ -15,6 +16,7 @@ import se.su.dsv.scipro.SciProSession;
|
|||||||
import se.su.dsv.scipro.data.dataobjects.Employee;
|
import se.su.dsv.scipro.data.dataobjects.Employee;
|
||||||
import se.su.dsv.scipro.data.dataobjects.GeneralSystemSettings;
|
import se.su.dsv.scipro.data.dataobjects.GeneralSystemSettings;
|
||||||
import se.su.dsv.scipro.data.dataobjects.Student;
|
import se.su.dsv.scipro.data.dataobjects.Student;
|
||||||
|
import se.su.dsv.scipro.io.exceptions.ExternalExportException;
|
||||||
import se.su.dsv.scipro.match.dao.interfaces.KeywordTypeDao;
|
import se.su.dsv.scipro.match.dao.interfaces.KeywordTypeDao;
|
||||||
import se.su.dsv.scipro.match.dataobject.*;
|
import se.su.dsv.scipro.match.dataobject.*;
|
||||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||||
@ -39,9 +41,15 @@ public class WatsonInfoPanel extends Panel {
|
|||||||
@SpringBean
|
@SpringBean
|
||||||
private GeneralSystemSettingsService generalSystemSettingsService;
|
private GeneralSystemSettingsService generalSystemSettingsService;
|
||||||
|
|
||||||
|
private FeedbackPanel feedbackPanel;
|
||||||
|
|
||||||
public WatsonInfoPanel(String id, final ProjectIdea projectIdea) {
|
public WatsonInfoPanel(String id, final ProjectIdea projectIdea) {
|
||||||
super(id);
|
super(id);
|
||||||
|
|
||||||
|
feedbackPanel = new FeedbackPanel("feedbackPanel");
|
||||||
|
feedbackPanel.setOutputMarkupId(true);
|
||||||
|
add(feedbackPanel);
|
||||||
|
|
||||||
add(new Label("level", projectIdea.getProjectClass().getName()));
|
add(new Label("level", projectIdea.getProjectClass().getName()));
|
||||||
|
|
||||||
// add(new Label("authors", getAuthors(projectIdea.getAuthors())));
|
// add(new Label("authors", getAuthors(projectIdea.getAuthors())));
|
||||||
@ -62,10 +70,20 @@ public class WatsonInfoPanel extends Panel {
|
|||||||
projectIdea.getMatch().getSupervisor().getUnit() != null &&
|
projectIdea.getMatch().getSupervisor().getUnit() != null &&
|
||||||
projectIdea.getProject() == null &&
|
projectIdea.getProject() == null &&
|
||||||
generalSystemSettings.isRemoteExport();
|
generalSystemSettings.isRemoteExport();
|
||||||
|
|
||||||
add(new AjaxLink("export") {
|
add(new AjaxLink("export") {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(AjaxRequestTarget target) {
|
public void onClick(AjaxRequestTarget target) {
|
||||||
projectService.createAndExportProjectFromProjectIdea(projectIdea);
|
|
||||||
|
try {
|
||||||
|
projectService.createAndExportProjectFromProjectIdea(projectIdea);
|
||||||
|
target.addComponent(feedbackPanel);
|
||||||
|
info("Project created and exported as a Thesis into Daisy.");
|
||||||
|
} catch (ExternalExportException eee){
|
||||||
|
target.addComponent(feedbackPanel);
|
||||||
|
error("This project idea could not exported to Daisy. Try creating a thesis in Daisy manually.");
|
||||||
|
}
|
||||||
|
|
||||||
target.addComponent(this);
|
target.addComponent(this);
|
||||||
this.setEnabled(false);
|
this.setEnabled(false);
|
||||||
this.setVisible(false);
|
this.setVisible(false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user