package controllers;
import java.net.URLEncoder;
import java.text.AttributedCharacterIterator;
import java.text.AttributedCharacterIterator.Attribute;
import java.util.*;
import play.*;
import play.mvc.*;
import play.libs.Crypto;
import play.libs.Mail;
import play.data.validation.*;
import java.io.UnsupportedEncodingException;
import notifiers.*;
import models.*;
import play.*;
import play.i18n.Messages;
import javax.naming.NamingEnumeration;
import javax.naming.directory.*;
@With(Secure.class)
public class CommunityController extends Controller {
public static void index() {
List<Community> communities_list = Community.findAll();
render("Community/index.html", communities_list);
}
public static void createCommunityIndex() {
render("Community/createCommunityIndex.html");
}
public static void createNewCommunity(
@Required String nom_communaute,
@Required String prefixe_communaute,
@Required String application_link,
@Required String message_description,
@Required String message_bienvenue
){
try {
if (validation.hasErrors()){
render("Community/createCommunityIndex.html");
}
else {
Community communaute = new Community (
nom_communaute,
prefixe_communaute,
application_link,
message_description,
message_bienvenue).save();
flash.success(Messages.get("create_community_success"));
render("Community/createCommunityIndex.html");
//index();
}
} catch (Exception e) {
System.out.println("An exception occurred in CommunityController.createNewCommunity");
e.printStackTrace();
render("Community/createCommunityIndex.html"); }
}
public static void displayCommunityUpdate(Long id) {
Community community_retrieved = Community.findById(id);
render("Community/updateCommunityIndex.html", community_retrieved);
}
public static void updateCommunity(
Long id,
@Required String nom_communaute,
@Required String prefixe_communaute,
@Required String application_link,
@Required String message_description,
@Required String message_bienvenue){
Community community_retrieved = Community.findById(id);
if (validation.hasErrors()){
render("Community/updateCommunityIndex.html",community_retrieved);
}
else {
// Updating the community attributes with the new ones
if (nom_communaute != null) {
community_retrieved.name = nom_communaute;
}
if (prefixe_communaute != null) {
community_retrieved.communityPrefix = prefixe_communaute.toUpperCase();
// Updating the dolomiteURL of the community
community_retrieved.dolomiteURL = "";
community_retrieved.dolomiteURL = "http://"+prefixe_communaute.toLowerCase()+Play.configuration.getProperty("domain");
}
if (message_description != null) {
community_retrieved.descriptionText = message_description;
}
if (message_bienvenue != null) {
community_retrieved.welcomingMessage = message_bienvenue;
}
if (application_link != null) {
community_retrieved.applicationURL = application_link;
}
community_retrieved.save();
flash.success(Messages.get("update_community_success"));
render("Community/updateCommunityIndex.html",community_retrieved);
}
//index();
}
public static void deleteCommunity(Long id) {
Community community_deleted = Community.findById(id);
community_deleted.delete();
index();
}
}