Uses notification on sending new message
Change-Id: If24fce8c10c85347094b3e02f382e507018ed2b0
This commit is contained in:
parent
d928d0de4e
commit
0135f410d9
@ -6,6 +6,7 @@ import org.apache.wicket.RequestCycle;
|
||||
import org.apache.wicket.markup.html.WebPage;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
|
||||
import se.su.dsv.scipro.data.controllers.NotificationController;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.PrivateMessageDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.ProjectDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.RecipientDao;
|
||||
@ -16,6 +17,7 @@ import se.su.dsv.scipro.data.dataobjects.Recipient;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
import se.su.dsv.scipro.data.dataobjects.UserSettings;
|
||||
import se.su.dsv.scipro.jsonobjects.JsonPrivateMessage;
|
||||
import se.su.dsv.scipro.message.pages.PrivateMessagesPage;
|
||||
import se.su.dsv.scipro.util.PushApple;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
@ -38,12 +40,15 @@ public class JsonNewMessagePage extends WebPage {
|
||||
@SpringBean
|
||||
UserSettingsDao userSettingsDao;
|
||||
|
||||
@SpringBean
|
||||
NotificationController notificationController;
|
||||
|
||||
public JsonNewMessagePage(final PageParameters pp) {
|
||||
final Gson gson = new Gson();
|
||||
final JsonObject jsonOutput = new JsonObject();
|
||||
String loginString = pp.getString("json");
|
||||
JsonPrivateMessage jsonPrivateMessage = gson.fromJson(loginString,
|
||||
JsonPrivateMessage.class);
|
||||
JsonPrivateMessage jsonPrivateMessage = gson
|
||||
.fromJson(loginString, JsonPrivateMessage.class);
|
||||
long userId = jsonPrivateMessage.userid;
|
||||
String apikey = jsonPrivateMessage.apikey;
|
||||
User user = userDao.load(userId);
|
||||
@ -53,8 +58,7 @@ public class JsonNewMessagePage extends WebPage {
|
||||
userSettings = new UserSettings(user);
|
||||
userSettings = userSettingsDao.save(userSettings);
|
||||
}
|
||||
if (userSettings.getApiKey() != null
|
||||
&& userSettings.getApiKey().equals(apikey)) {
|
||||
if (userSettings.getApiKey() != null && userSettings.getApiKey().equals(apikey)) {
|
||||
PrivateMessage pm = new PrivateMessage();
|
||||
pm.setFromUser(user);
|
||||
pm.setMessage(jsonPrivateMessage.message);
|
||||
@ -66,6 +70,9 @@ public class JsonNewMessagePage extends WebPage {
|
||||
rec.setToUser(selectedUser);
|
||||
rec.setPrivateMessage(pm);
|
||||
rec = recipientDao.save(rec);
|
||||
notificationController.createNotificationForPrivateMessage(selectedUser,
|
||||
jsonPrivateMessage.subject + "\n\n" + jsonPrivateMessage.message,
|
||||
PrivateMessagesPage.getAbsoluteForPrivateMessageURL());
|
||||
}
|
||||
jsonOutput.addProperty("apikey", "success");
|
||||
} else {
|
||||
@ -79,8 +86,7 @@ public class JsonNewMessagePage extends WebPage {
|
||||
|
||||
public void respond(RequestCycle requestCycle) {
|
||||
// Add JSON-encoded string to the response.
|
||||
requestCycle.getResponse().setContentType(
|
||||
"application/json; charset=UTF-8");
|
||||
requestCycle.getResponse().setContentType("application/json; charset=UTF-8");
|
||||
requestCycle.getResponse().setCharacterEncoding("UTF-8");
|
||||
requestCycle.getResponse().write(gson.toJson(jsonOutput));
|
||||
|
||||
@ -91,12 +97,10 @@ public class JsonNewMessagePage extends WebPage {
|
||||
User selectedUser = userDao.load(id);
|
||||
if (userSettingsDao.getUserSettings(selectedUser) != null) {
|
||||
|
||||
PushApple
|
||||
.sendPushMessage(
|
||||
userSettingsDao.getUserSettings(selectedUser).getiPhoneId(),
|
||||
recipientDao
|
||||
.getNumberOfUnreadMessagesForUser(selectedUser),
|
||||
"New message received");
|
||||
PushApple.sendPushMessage(userSettingsDao.getUserSettings(selectedUser)
|
||||
.getiPhoneId(),
|
||||
recipientDao.getNumberOfUnreadMessagesForUser(selectedUser),
|
||||
"New message received");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user