Package controllers

Source Code of controllers.Accounts

package controllers;

import models.CascadingDelete;
import models.User;
import notifiers.Mails;
import play.Logger;
import play.data.validation.Required;
import play.data.validation.Validation;
import play.mvc.Controller;
import play.mvc.With;
import rules.RuleUtils;

import common.api.ApiClient;
import common.api.ApiClientFactory;
import dropbox.client.InvalidTokenException;

@With(Login.class)
public class Accounts extends Controller {
  public static void settingsPost(boolean periodicSort) {
      checkAuthenticity();
      User user = Login.getUser();
      user.periodicSort = periodicSort;
      user.save();
      if (periodicSort) {
        flash.success("Periodic sort enabled.");
      } else {
        flash.success("Periodic sort disabled.");
      }
      Logger.info("Settings updated for user: %s", user);
      settings();
  }
 
  /**
   * Update sortingFolder for user.
   */
  public static void sortingFolder(@Required String folder) {
        User u = Login.getUser();
        folder = RuleUtils.normalize(folder, false);

      try {
          ApiClient api = ApiClientFactory.create(u);
          boolean createdFolder = false;
            if (! api.exists(folder)) {
                Logger.info("Folder does not exist attempting to create %s", folder);
                if (api.mkdir(folder)) {
                    Logger.info("Successfully created folder %s", folder);
                    createdFolder = true;
                } else {
                    Logger.error("Failed to create folder '%s'", folder);
                    flash.error("Error: folder %s is missing and we couldn't create it.", folder);
                    settings();
                }
            }

          u.sortingFolder = folder;
          String createdFolderMsg = createdFolder ? " This folder didn't exist, so we created it for you." : "";
          flash.success("%s is now your sorting folder.%s", folder, createdFolderMsg);
          u.save();
          Logger.info("Updated sorting folder to %s", folder);
          settings();
        } catch (InvalidTokenException e) {
            Logger.error(e, "Bad token when trying to update sorting folder to '%s' for user %s", folder, u);
            Login.logout();
        }
  }

  public static void settings() {
      User user = Login.getUser();
      render(user);
  }

  public static void delete() {
    User user = Login.getUser();
    String contact = Mails.CONTACT_EMAIL;
    render(user, contact);
  }
 
    public static void deletePost() {
        checkAuthenticity();
        User user = Login.getUser();

        CascadingDelete.delete(user);

        session.clear();
        flash.success("Account deleted successfully.");

        Login.login();
    }

}
TOP

Related Classes of controllers.Accounts

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.