Android Open Source - innovativeproject-meetingdataexchange Mailing From Project Back to project page innovativeproject-meetingdataexchange .
License The source code is released under:
MIT License
If you think the Android project innovativeproject-meetingdataexchange listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package controllers;
/ * w w w . j a v a 2 s . c o m * /
import models.DbSingleton;
import org.jooq.Record;
import org.jooq.Record1;
import org.jooq.Record2;
import org.jooq.Record3;
import org.jooq.Record5;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import play.libs.Json;
import play.mvc.Controller;
import play.mvc.Result;
import com.typesafe.plugin.*;
import static models.Tables.*;
public class Mailing extends Controller {
public static Result sendHyperlink(){
JsonNode json = request().body().asJson();
if (json == null)
return errorResult("json excepted" );
String login = json.findPath("login" ).textValue();
String sid = json.findPath("sid" ).textValue();
String fileid = json.findPath("fileid" ).textValue();
return ok(web_sendhyperlink(login, sid, fileid));
}
public static ObjectNode web_sendhyperlink(String login, String sid, String fileid){
if (login==null || sid==null)
return errorObject("incorrect data" );
if (!checkIsSidCorrect(login, sid))
return errorObject("incorrect sid" );
org.jooq.Result<Record5<Integer , String, String, String, String>> record = DbSingleton.getInstance().getDsl()
.select(MEETING.ID, MEETING.ACCESSCODE, FILE.NAME, USER.NAME, USER.EMAIL)
.from(MEETING).join(MEETINGUSER).on(MEETING.ID.equal(MEETINGUSER.MEETINGID))
.join(FILE).on(FILE.MEETINGUSERID.equal(MEETINGUSER.ID))
.join(USER).on(USER.LOGIN.equal(MEETINGUSER.USERLOGIN))
.where(FILE.ID.equal(Integer.parseInt(fileid))).fetch();
String meetingid = String.valueOf(record.getValue(0, MEETING.ID));
String meetingcode = String.valueOf(record.getValue(0, MEETING.ACCESSCODE));
String filename = String.valueOf(record.getValue(0, FILE.NAME));
if (!Meetings.userIsA_MemberOfMeeting(login, meetingid))
return errorObject("access denied" );
String message = "Hello " + record.getValue(0, USER.NAME) + "!\n"
+ "Here you can download " + filename + " file:\n"
+ play.Play.application().configuration().getString("application.baseUrl" ) + "download/"
+ meetingid + "/" + meetingcode + "/" + filename + "\n\nMeeting Data Exchange Server" ;
String topic = "MDE - " + filename + " download" ;
sendEmail(record.getValue(0, USER.EMAIL), topic, message);
ObjectNode result = Json.newObject();
result.put("status" , "ok" );
return result;
}
static void sendEmail(String recipient, String subject, String msg){
MailerAPI mail = play.Play.application().plugin(MailerPlugin.class).email();
mail.setSubject(subject);
mail.addRecipient(recipient);
mail.addFrom(play.Play.application().configuration().getString("smtp.email" ));
mail.send(msg);
}
private static Result errorResult(String msg) {
return ok(errorObject(msg));
}
private static ObjectNode errorObject(String msg){
ObjectNode result = Json.newObject();
result.put("status" , "failed" );
result.put("reason" , msg);
return result;
}
private static boolean userIsA_MemberOfMeeting(String login,
String meetingId) {
org.jooq.Result<Record> record = DbSingleton.getInstance().getDsl()
.select()
.from(MEETINGUSER)
.where(MEETINGUSER.MEETINGID.equal(Integer.parseInt(meetingId)))
.and(MEETINGUSER.USERLOGIN.equal(login)).fetch();
if (record.isNotEmpty())
return true;
else
return false;
}
private static boolean checkIsSidCorrect(String login, String sid) {
org.jooq.Result<Record> record = DbSingleton.getInstance().getDsl().select().from(SESSION)
.where(SESSION.USERLOGIN.equal(login)).and(SESSION.SID.equal(sid)).fetch();
if (record.isNotEmpty())
return true;
else
return false;
}
}
Java Source Code List Dialogs.ServerOptionsLoggedIn.java Dialogs.ServerOptionsLoggedOut.java asynctasks.HttpGetListMeetings.java asynctasks.HttpGetPersonalData.java asynctasks.HttpGetServerName.java asynctasks.HttpPostNewMeeting.java asynctasks.HttpPostRequestLogInAlreadyExistsUser.java asynctasks.HttpPostRequestLogInFirstTime.java asynctasks.HttpPostRequestLogIn.java asynctasks.HttpPostSignUp.java asynctasks.HttpPutSendFile.java asynctasks.RefreshMeetingProgress.java com.TrololoCompany.meetingdataexchangeAdapters.FileAdapter.java com.TrololoCompany.meetingdataexchangeAdapters.MeetingAdapter.java com.TrololoCompany.meetingdataexchangeAdapters.ServerAdapter.java com.TrololoCompany.meetingdataexchange.AddNewMeetingActivity.java com.TrololoCompany.meetingdataexchange.AddServerActivityFail.java com.TrololoCompany.meetingdataexchange.AddServerActivitySuccess.java com.TrololoCompany.meetingdataexchange.AddServerActivity.java com.TrololoCompany.meetingdataexchange.DisplayQR.java com.TrololoCompany.meetingdataexchange.LogInActivity.java com.TrololoCompany.meetingdataexchange.MainActivity.java com.TrololoCompany.meetingdataexchange.MeetingDetails.java com.TrololoCompany.meetingdataexchange.ServerList.java com.TrololoCompany.meetingdataexchange.ServerManageActivity.java com.TrololoCompany.meetingdataexchangeServices.MeetingDetailsRefresh.java com.TrololoCompany.meetingdataexchangeServices.MeetingServerCommunication.java com.TrololoCompany.meetingdataexchangeServices.ServiceHandlers.java com.TrololoCompany.meetingdataexchange.SignUpActivity.java com.TrololoCompany.meetingdataexchange.util.SystemUiHiderBase.java com.TrololoCompany.meetingdataexchange.util.SystemUiHiderHoneycomb.java com.TrololoCompany.meetingdataexchange.util.SystemUiHider.java com.TrololoCompany.meetingdataexchangedataBase.CommentEntity.java com.TrololoCompany.meetingdataexchangedataBase.DataBaseHelper.java com.TrololoCompany.meetingdataexchangedataBase.FileEntity.java com.TrololoCompany.meetingdataexchangedataBase.MeetingEntity.java com.TrololoCompany.meetingdataexchangedataBase.ServerEntity.java controllers.Accounts.java controllers.FilesManagement.java controllers.GeneralStuff.java controllers.Mailing.java controllers.Meetings.java dataBase.CommentEntity.java dataBase.DataBaseHelper.java dataBase.FileEntity.java dataBase.MeetingEntity.java dataBase.MettingEntity.java dataBase.ServerEntity.java dataBase.Server.java fileMaintenance.FileMaintenance.java lists.MeetingList.java lists.ServerList.java meeting_options.FireMissilesDialogFragment.java meeting_options.MeetDetOnPageListener.java meeting_options.MeetDetTabListener.java meeting_options.MeetingAddItems.java meeting_options.MeetingDescription.java meeting_options.MeetingProgressUIRefresh.java meeting_options.MeetingProgress.java meeting_options.MeetingTabPagerAdapter.java meeting_options.MyOnPageChangeListener.java meeting_options.MyTabListener.java meeting_options.RefreshMeetingProgressListView.java meeting_options.TabsPagerAdapter.java models.DbSingleton.java models.DefaultSchema.java models.Keys.java models.Tables.java models.tables.Comment.java models.tables.File.java models.tables.Meeting.java models.tables.Meetinguser.java models.tables.Session.java models.tables.SqliteSequence.java models.tables.User.java models.tables.records.CommentRecord.java models.tables.records.FileRecord.java models.tables.records.MeetingRecord.java models.tables.records.MeetinguserRecord.java models.tables.records.SessionRecord.java models.tables.records.SqliteSequenceRecord.java models.tables.records.UserRecord.java serverCommunicator.CheckIsServerExists.java serverCommunicator.CommentsHelper.java serverCommunicator.CommunicationHelper.java serverCommunicator.Communication.java serverCommunicator.FileHelper.java serverCommunicator.FileListRefreshService.java serverCommunicator.GetMeetingListHelper.java serverCommunicator.GetPersonalDataHelper.java serverCommunicator.HttpGetRequest.java serverCommunicator.HttpPostRequest.java serverCommunicator.LogInHelper.java serverCommunicator.MeetingHelper.java serverCommunicator.NewMeetingHelper.java serverCommunicator.RegistrationHelper.java tools.MD5Checksum.java