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  av  a 2  s.  co 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