/* * Copyright (C) 2003-2008 eXo Platform SAS. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Affero General Public License * as published by the Free Software Foundation; either version 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see<http://www.gnu.org/licenses/>. */ package org.exoplatform.faq.service; /** * Created by The eXo Platform SARL * * This Object is used to set some properties of FAQ. * * Author : Truong Nguyen * truong.nguyen@exoplatform.com * Apr 10, 2008, 2:07:25 PM */ public class FAQSetting { private boolean enableViewAvatar = false; private boolean enableAutomaticRSS = true; private boolean enableVotesAndComments = true; private boolean enableAnonymousSubmitQuestion = true; /** display mode of faq. */ private String displayMode; /** content of email will be sent to user who add watch or owner of question or morderator. */ private String emailSettingContent = null; /** subject of email. */ private String emailSettingSubject = null; /** The order by. */ private String orderBy; /** The order type. */ private String orderType = ORDERBY_TYPE_ASC; /** The sort question by vote. */ private boolean sortQuestionByVote = false; /** The can edit. */ private boolean canEdit = false; /** The is admin. */ private String isAdmin = null; private String idNameCategoryForum; private boolean isDiscussForum = false; /** The DISPLA type alphabet. */ public static String DISPLAY_TYPE_ALPHABET = "alphabet"; /** The DISPLA type postdate. */ public static String DISPLAY_TYPE_POSTDATE = "created"; /** The ORDERB type asc. */ public static String ORDERBY_TYPE_ASC = "asc"; /** The ORDERB type desc. */ public static String ORDERBY_TYPE_DESC = "desc"; /** The ORDERB asc. */ public static String ORDERBY_ASC = " ascending"; /** The ORDERB desc. */ public static String ORDERBY_DESC = " descending"; private String emailMoveQuestion = null; private boolean isPostQuestionInRootCategory = true; /** The Current User Login */ private String currentUser = ""; /** * This method get one value is Alphabet or Post Date. * * @return displayType */ public String getDisplayMode() { return displayMode; } /** * All categories/questions can be displayed in some types depending on users. * This is a combobox with two values: Alphabet or Post Date * * @param displayMode the display mode */ public void setDisplayMode(String displayMode) { this.displayMode = displayMode; } /** * Get field is ordered of datas are get from FAQ system, value is returned : alphabet or created date. * * @return order of categories and questions */ public String getOrderBy() { return orderBy; } /** * Registers field which is ordered when get them from database. * * @param orderBy only one of two case: alphabet or created */ public void setOrderBy(String orderBy) { this.orderBy = orderBy; } /** * Get how to order when get data, have two values: ascending and descending. * * @return ascending or descending */ public String getOrderType() { return orderType; } /** * Registers order of the field which is chosen when get data, * input one of tow values: <code>ascending</code> and <code>descending</code>. * * @param orderType ascending or descending */ public void setOrderType(String orderType) { this.orderType = orderType; } /** * Checks if is can edit. Return <code>true</code> if user is admin or moderator or * this category and return <code>false</code> if opposite * * @return true, if is can edit */ public boolean isCanEdit() { return canEdit; } /** * Sets the can edit. * input a boolean value, <code>true</code> if user is addmin of FAQ or moderator * of this category and <code>false</code> if opposite * @param canEdit the new can edit */ public void setCanEdit(boolean canEdit) { this.canEdit = canEdit; } /** * Get the content of email will be sent for user. * This email have two cases: * <p>The first: when add new question * <p>The second: when edit or answer for question * * @return the email setting content */ public String getEmailSettingContent() { return emailSettingContent; } /** * Registers content of email is sent to user, * when set value for email, note: have two case * <p>The first: when add new question * <p>The second: when edit or answer for question. * * @param emailSettingContent content of email */ public void setEmailSettingContent(String emailSettingContent) { this.emailSettingContent = emailSettingContent; } /** * Gets the subject of email which is sent to user. * * @return the email setting subject */ public String getEmailSettingSubject() { return emailSettingSubject; } /** * Sets the subject of email will be sent to user. * * @param emailSettingSubject the new email setting subject */ public void setEmailSettingSubject(String emailSettingSubject) { this.emailSettingSubject = emailSettingSubject; } /** * Gets the checks if is admin. * Return a String "True" if user is addmin and "False" if is not addmin * @return the checks if is admin */ public String getIsAdmin() { return isAdmin; } /** * Sets the checks if is admin. * Input "True" if user is addmin and "False" if not * @param isAdmin the new checks if is admin */ public void setIsAdmin(String isAdmin) { this.isAdmin = isAdmin; } /** * Checks user is admin or not. This function retrun <code>true</code> * if user is addmin and <code>false</code> if not * * @return true, if is admin */ public boolean isAdmin() { if (this.isAdmin.equals("TRUE")) return true; else return false; } public boolean isSortQuestionByVote() { return sortQuestionByVote; } public void setSortQuestionByVote(boolean sortAnswerByVote) { this.sortQuestionByVote = sortAnswerByVote; } public boolean isEnanbleVotesAndComments() { return enableVotesAndComments; } public void setEnanbleVotesAndComments(boolean enanbleVotesAndComments) { this.enableVotesAndComments = enanbleVotesAndComments; } public boolean isEnableAnonymousSubmitQuestion() { return enableAnonymousSubmitQuestion; } public void setEnableAnonymousSubmitQuestion(boolean isSubmit) { this.enableAnonymousSubmitQuestion = isSubmit; } public boolean getIsDiscussForum() { return isDiscussForum; } public void setIsDiscussForum(boolean b) { this.isDiscussForum = b; } public String getIdNameCategoryForum() { return idNameCategoryForum; } public void setIdNameCategoryForum(String str) { this.idNameCategoryForum = str; } public boolean isEnableAutomaticRSS() { return enableAutomaticRSS; } public void setEnableAutomaticRSS(boolean enableAutomaticRSS) { this.enableAutomaticRSS = enableAutomaticRSS; } public boolean isEnableViewAvatar() { return enableViewAvatar; } public void setEnableViewAvatar(boolean enableViewAvatar) { this.enableViewAvatar = enableViewAvatar; } public String getEmailMoveQuestion() { return emailMoveQuestion; } public void setEmailMoveQuestion(String emailMoveQuestion) { this.emailMoveQuestion = emailMoveQuestion; } public String getCurrentUser() { return currentUser; } public void setCurrentUser(String currentUser) { this.currentUser = currentUser; } /** * @param isPostQuestionInRootCategory the isPostQuestionInRootCategory to set */ public void setPostQuestionInRootCategory(boolean isPostQuestionInRootCategory) { this.isPostQuestionInRootCategory = isPostQuestionInRootCategory; } /** * @return the isPostQuestionInRootCategory */ public boolean isPostQuestionInRootCategory() { return isPostQuestionInRootCategory; } }