Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…ter checks while uploading.

git-svn-id: http://svn.openmrs.org/openmrs-modules/feedback/trunk@21475 5bac5841-c719-aa4e-b3fe-cce5062f897a
  • Loading branch information
gauravpaliwal committed Jul 11, 2011
1 parent b26fe30 commit eba6c72
Show file tree
Hide file tree
Showing 12 changed files with 92 additions and 43 deletions.
Expand Up @@ -24,6 +24,7 @@
import org.openmrs.api.context.Context;
import org.openmrs.module.feedback.Feedback;
import org.openmrs.module.feedback.FeedbackService;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.mvc.SimpleFormController;
Expand All @@ -34,9 +35,10 @@ public class AddFeedbackFormController extends SimpleFormController {
protected final Log log = LogFactory.getLog(getClass());

@Override
protected String formBackingObject(HttpServletRequest request) throws Exception {
protected Boolean formBackingObject(HttpServletRequest request) throws Exception {

/*To check wheather or not the subject , severity and feedback is empty or not*/
Boolean feedbackMessage = false ;
String text = "";

if (request.getParameter("subject") != null && request.getParameter("severity") != null && request.getParameter("feedback") != null )
Expand All @@ -58,23 +60,45 @@ protected String formBackingObject(HttpServletRequest request) throws Exception
/*The feedback content length can't be greater then the 5000 characters , in case it is more then that then it is truncated to the first 5000 characters*/

s.setContent( feedback );

/*file upload in multiplerequest*/
if (request instanceof MultipartHttpServletRequest)
{
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile file = (MultipartFile) multipartRequest.getFile("file");
s.setMessage(file.getBytes());

if ( !file.isEmpty() )
{
if (file.getSize() <= 5242880 )
{
if (file.getOriginalFilename().endsWith(".jpeg")||file.getOriginalFilename().endsWith(".jpg")|| file.getOriginalFilename().endsWith(".gif")|| file.getOriginalFilename().endsWith(".png"))
{
s.setMessage(file.getBytes());
}
else
{
return false ;
}
}
else
{
return false ;
}
}

}
/*Save the Feedback*/
service.saveFeedback(s) ;
text = "saved";

feedbackMessage = true;


}
/*Reserved for future use for showing that the data is saved and the feedback is submitted*/

log.debug("Returning hello world text: " + text);

return text;
return feedbackMessage;

}

Expand All @@ -87,9 +111,18 @@ protected Map referenceData(HttpServletRequest req) throws Exception {
FeedbackService hService = (FeedbackService)Context.getService(FeedbackService.class);
map.put("predefinedsubjects", hService.getPredefinedSubjects()) ;
map.put("severities", hService.getSeverities() ) ;
if ("saved".equals(req.getParameter("feedbackPageMessage"))) {
if (req.getParameter("feedbackPageMessage")!= null && ServletRequestUtils.getBooleanParameter(req, "feedbackPageMessage"))
{
map.put("feedbackPageMessage", "feedback.notification.feedback.save" ) ;
}
else if (req.getParameter("feedbackPageMessage")!= null && !ServletRequestUtils.getBooleanParameter(req, "feedbackPageMessage"))
{
map.put("feedbackPageMessage", "feedback.notification.feedback.error" ) ;
}
else
{
map.put("feedbackPageMessage", "" ) ;
}
return map;

}
Expand Down
Expand Up @@ -25,6 +25,7 @@
import org.openmrs.module.feedback.PredefinedSubject;
import org.openmrs.module.feedback.FeedbackService;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.mvc.SimpleFormController;

public class AddPredefinedSubjectFormController extends SimpleFormController {
Expand All @@ -33,9 +34,10 @@ public class AddPredefinedSubjectFormController extends SimpleFormController {
protected final Log log = LogFactory.getLog(getClass());

@Override
protected String formBackingObject(HttpServletRequest request) throws Exception {
protected Boolean formBackingObject(HttpServletRequest request) throws Exception {

Boolean feedbackMessage = false ;

String text = "Not used";
/*The Subject can't be NULL or an empty string*/
if (request.getParameter("predefinedsubject") != null && StringUtils.hasLength(request.getParameter("predefinedsubject")) )
{
Expand All @@ -49,14 +51,12 @@ protected String formBackingObject(HttpServletRequest request) throws Exception
service.savePredefinedSubject(s) ;

/** Notifies to the Controller that the predefined subject has been successfully added with the help of get feedbackPageMessage param */
text = "added";
feedbackMessage = true ;

}


log.debug("Returning hello world text: " + text);

return text;
return feedbackMessage ;

}

Expand All @@ -68,11 +68,11 @@ protected Map referenceData(HttpServletRequest req) throws Exception {
FeedbackService hService = (FeedbackService)Context.getService(FeedbackService.class);
map.put("predefinedsubjects", hService.getPredefinedSubjects()) ;
/*Display the message that the content is saved*/
if ("added".equals(req.getParameter("feedbackPageMessage")))
if (req.getParameter("feedbackPageMessage")!= null && ServletRequestUtils.getBooleanParameter(req, "feedbackPageMessage"))
{
map.put("feedbackPageMessage" , "feedback.notification.predefinedSubject.added" ) ;
}
else
else
{
map.put("feedbackPageMessage" , "" ) ;
}
Expand Down
Expand Up @@ -25,6 +25,7 @@
import org.openmrs.module.feedback.Severity;
import org.openmrs.module.feedback.FeedbackService;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.mvc.SimpleFormController;

public class AddSeverityFormController extends SimpleFormController {
Expand All @@ -33,8 +34,10 @@ public class AddSeverityFormController extends SimpleFormController {
protected final Log log = LogFactory.getLog(getClass());

@Override
protected String formBackingObject(HttpServletRequest request) throws Exception {
protected Boolean formBackingObject(HttpServletRequest request) throws Exception {

Boolean feedbackMessage= false ;

String text = "Not used";
/*This checks to make sure that severity can't be empty or NULL*/
if (request.getParameter("severity") != null && StringUtils.hasLength(request.getParameter("severity")) )
Expand All @@ -50,13 +53,12 @@ protected String formBackingObject(HttpServletRequest request) throws Exception
service.saveSeverity(s) ;

/** Notifies to the Controller that the predefined subject has been successfully added with the help of getStatus */
text = "added";

feedbackMessage= true ;
}

log.debug("Returning hello world text: " + text);

return text;
return feedbackMessage;

}

Expand All @@ -70,7 +72,7 @@ protected Map referenceData(HttpServletRequest req) throws Exception {
map.put("severities", hService.getSeverities()) ;
/*TO update the status that the severity has been successfully saved*/

if ("added".equals(req.getParameter("feedbackPageMessage")))
if (req.getParameter("feedbackPageMessage")!= null && ServletRequestUtils.getBooleanParameter(req, "feedbackPageMessage"))
{
map.put("feedbackPageMessage" , "feedback.notification.severity.added" ) ;
}
Expand Down
Expand Up @@ -26,6 +26,7 @@
import org.openmrs.module.feedback.FeedbackService;
import org.openmrs.module.feedback.Status;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.mvc.SimpleFormController;

public class AddStatusFormController extends SimpleFormController {
Expand All @@ -34,8 +35,9 @@ public class AddStatusFormController extends SimpleFormController {
protected final Log log = LogFactory.getLog(getClass());

@Override
protected String formBackingObject(HttpServletRequest request) throws Exception {
String text = "Not used";
protected Boolean formBackingObject(HttpServletRequest request) throws Exception {
String text = "";
Boolean feedbackMessage = false ;

/*To make sure that the status is neither NULL nor empty*/

Expand All @@ -49,13 +51,13 @@ protected String formBackingObject(HttpServletRequest request) throws Exception
x.setStatus(request.getParameter("status") ) ;

service.saveStatus(x) ;
text = "added" ;
feedbackMessage = true ;
}


log.debug("Returning hello world text: " + text);

return text;
return feedbackMessage;

}

Expand All @@ -68,7 +70,7 @@ protected Map referenceData(HttpServletRequest req) throws Exception {
map.put("statuses", hService.getStatuses() ) ;

/*Display the message that the content is saved*/
if ("added".equals(req.getParameter("feedbackPageMessage")))
if (req.getParameter("feedbackPageMessage")!= null && ServletRequestUtils.getBooleanParameter(req, "feedbackPageMessage"))
{
map.put("feedbackPageMessage" , "feedback.notification.status.added" ) ;
}
Expand Down
Expand Up @@ -34,10 +34,10 @@ public class PredefinedSubjectFormController extends SimpleFormController {

@Override
protected String formBackingObject(HttpServletRequest request) throws Exception {

Boolean feedbackMessage = false ;
Object o = Context.getService(FeedbackService.class);
FeedbackService service = (FeedbackService)o;
String text = "Not used";
String text = "";
String predefinedsubjectid = request.getParameter("predefinedsubjectid") ;

if ( !StringUtils.hasLength(predefinedsubjectid) || service.getPredefinedSubject(Integer.parseInt(predefinedsubjectid)) == null )
Expand All @@ -53,6 +53,7 @@ else if (predefinedsubjectid != null && request.getParameter("delete")!= null )
PredefinedSubject s = new PredefinedSubject() ;
s = service.getPredefinedSubject(Integer.parseInt(predefinedsubjectid)) ;
service.deletePredefinedSubject( s );
text = predefinedsubjectid ;
}

else if (predefinedsubjectid != null && request.getParameter("save")!= null )
Expand All @@ -65,12 +66,13 @@ else if (predefinedsubjectid != null && request.getParameter("save")!= null )
s.setSubject(request.getParameter("predefinedsubject") ) ;

/*Service Method to save the data*/
service.savePredefinedSubject(s) ;
service.savePredefinedSubject(s) ;
text = predefinedsubjectid ;
}

log.debug("Returning hello world text: " + text);

return text;
return text ;

}

Expand All @@ -84,18 +86,17 @@ protected Map referenceData(HttpServletRequest req) throws Exception {
String predefinedsubjectid = req.getParameter("predefinedsubjectid") ;

/*Predefined Subject is deleted incase the subject with predefinedID is not found*/
if ( !StringUtils.hasLength( predefinedsubjectid) || service.getPredefinedSubject(Integer.parseInt(predefinedsubjectid)) == null )
if ( !StringUtils.hasLength( predefinedsubjectid) || service.getPredefinedSubject(Integer.parseInt(predefinedsubjectid)) == null )
{
PredefinedSubject s = new PredefinedSubject() ;
map.put("predefinedsubjects" , s ) ;
map.put("feedbackPageMessage" , "feedback.notification.predefinedSubject.deleted") ;
return map ;
}
}
/*Otherwise give the data about the predefined subject*/
else
{
PredefinedSubject s = new PredefinedSubject() ;
s = service.getPredefinedSubject(Integer.parseInt(predefinedsubjectid)) ;
PredefinedSubject s = service.getPredefinedSubject(Integer.parseInt(predefinedsubjectid)) ;
map.put("predefinedsubjects" , s ) ;
map.put("feedbackPageMessage" , "") ;
return map ;
Expand Down
Expand Up @@ -35,7 +35,7 @@ public class SeverityFormController extends SimpleFormController {
@Override
protected String formBackingObject(HttpServletRequest request) throws Exception {

String text = "Not used";
String text = "";
Object o = Context.getService(FeedbackService.class);
FeedbackService service = (FeedbackService)o;
String SeverityId = request.getParameter("feedbackSeverityId") ;
Expand All @@ -50,6 +50,7 @@ else if (SeverityId != null && request.getParameter("delete")!= null )
{
Severity s = service.getSeverity(Integer.parseInt(SeverityId)) ;
service.deleteSeverity( s );
text = SeverityId ;
}
/*save the severity*/
else if (SeverityId != null && request.getParameter("save")!= null )
Expand All @@ -62,6 +63,8 @@ else if (SeverityId != null && request.getParameter("save")!= null )
s.setSeverity(request.getParameter("severity") ) ;

service.saveSeverity(s) ;
text = SeverityId ;

}


Expand Down
Expand Up @@ -38,7 +38,8 @@ protected String formBackingObject(HttpServletRequest request) throws Exception
Object o = Context.getService(FeedbackService.class);
FeedbackService service = (FeedbackService)o;
String feedbackStatusId = request.getParameter("feedbackStatusId") ;
String text = "Not used";
String text = "";
String status = request.getParameter("status") ;


if ( !StringUtils.hasLength(feedbackStatusId) || service.getStatus(Integer.parseInt(feedbackStatusId)) == null )
Expand All @@ -50,6 +51,7 @@ else if (feedbackStatusId != null && request.getParameter("delete")!= null )
{
Status s = service.getStatus(Integer.parseInt(feedbackStatusId)) ;
service.deleteStatus( s );
text = feedbackStatusId ;
}
/*Saves the data incase save has been selected by the user*/
else if (feedbackStatusId != null && request.getParameter("save")!= null )
Expand All @@ -58,8 +60,9 @@ else if (feedbackStatusId != null && request.getParameter("save")!= null )
Status s = service.getStatus(Integer.parseInt(feedbackStatusId)) ;

/** This makes sure that the status value always remain less then or equal to 50*/
s.setStatus(request.getParameter("status") ) ;
s.setStatus(status) ;
service.saveStatus(s) ;
text = feedbackStatusId ;
}


Expand Down
3 changes: 2 additions & 1 deletion omod/src/main/resources/messages.properties
Expand Up @@ -44,4 +44,5 @@ feedback.notification.severity.deleted = Severity Deleted Successfully
feedback.notification.status.added = Status Added Successfully
feedback.notification.status.delete = Status Deleted Successfully

feedback.notification.feedback.save = Feedback Successfully Saved
feedback.notification.feedback.save = Feedback Submitted Successfully
feedback.notification.feedback.error = Error while submitting Feedback, We don't accept file other then jpeg,jpg,png,gif and attached file cannot be of size > 3 MB .Please remove the error and resubmit.
6 changes: 3 additions & 3 deletions omod/src/main/resources/moduleApplicationContext.xml
Expand Up @@ -46,19 +46,19 @@
</bean>

<bean id="predefinedSubjectForm" class="org.openmrs.module.feedback.web.PredefinedSubjectFormController">
<property name="commandName"><value>feedbackPageMessage</value></property>
<property name="commandName"><value>predefinedsubjectid</value></property>
<property name="formView"><value>/module/feedback/predefinedSubjectForm</value></property>
<property name="successView"><value>redirect:predefinedSubject.form</value></property>
</bean>

<bean id="severityForm" class="org.openmrs.module.feedback.web.SeverityFormController">
<property name="commandName"><value>feedbackPageMessage</value></property>
<property name="commandName"><value>feedbackSeverityId</value></property>
<property name="formView"><value>/module/feedback/severityForm</value></property>
<property name="successView"><value>redirect:severity.form</value></property>
</bean>

<bean id="statusForm" class="org.openmrs.module.feedback.web.StatusFormController">
<property name="commandName"><value>feedbackPageMessage</value></property>
<property name="commandName"><value>feedbackStatusId</value></property>
<property name="formView"><value>/module/feedback/statusForm</value></property>
<property name="successView"><value>redirect:status.form</value></property>
</bean>
Expand Down
2 changes: 1 addition & 1 deletion omod/src/main/webapp/addFeedbackForm.jsp
Expand Up @@ -36,7 +36,7 @@
</tr>
<tr>
<td><spring:message code="feedback.attachment"/> </td>
<td><input type="file" name="file" size="40"> </input> </td>
<td><input type="file" accept="image" name="file" size="40" > </input> </td>
</tr>
</table>
<br/>
Expand Down

0 comments on commit eba6c72

Please sign in to comment.