r1745 - in trunk/src/main/java/cc/kune: common/client/ui common/public core/client/auth core/client/errors core/client/i18n core/client/resources core/client/rpcservices core/server/manager/impl core/server/rpc core/shared/dto gspace/client/options gspace/client/options/general gspace/client/options/logo
Author: vjrj_ Date: 2012-03-07 05:59:48 +0100 (Wed, 07 Mar 2012) New Revision: 1745 Added: trunk/src/main/java/cc/kune/core/client/resources/pref-black.png trunk/src/main/java/cc/kune/core/client/resources/pref-grey.png trunk/src/main/java/cc/kune/core/client/resources/pref-white.png Modified: trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java trunk/src/main/java/cc/kune/common/public/kune-common.css trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java trunk/src/main/java/cc/kune/core/client/rpcservices/UserService.java trunk/src/main/java/cc/kune/core/server/manager/impl/EmailConfirmationType.java trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java trunk/src/main/java/cc/kune/core/server/rpc/UserRPC.java trunk/src/main/java/cc/kune/core/shared/dto/UserSimpleDTO.java trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPresenter.java trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralView.java trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityUploaderForm.java Log: Email change from UI. Pref Icon changed. Some ccs fix. Language change optional. Modified: trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java =================================================================== --- trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -22,6 +22,7 @@ import java.util.Iterator; import cc.kune.common.client.tooltip.Tooltip; +import cc.kune.common.shared.utils.TextUtils; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.HasClickHandlers; @@ -74,7 +75,8 @@ initWidget(uiBinder.createAndBindUi(this)); label.setText(text); label.addStyleName("k-space-nowrap"); - label.addStyleName("k-iconlabel-text"); + label.setStylePrimaryName("k-iconlabel"); + setTextStyle(text); iconLeft.setVisible(false); iconRight.setVisible(false); } @@ -202,13 +204,20 @@ @Override public void setText(final String text) { label.setText(text, Direction.LTR); + setTextStyle(text); } @Override public void setText(final String text, final Direction dir) { label.setText(text, dir); + setTextStyle(text); } + private void setTextStyle(final String text) { + label.setStyleDependentName("notext", TextUtils.empty(text)); + label.setStyleDependentName("text", !TextUtils.empty(text)); + } + public void setTooltip(final String text) { Tooltip.to(label, text); } Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css =================================================================== --- trunk/src/main/java/cc/kune/common/public/kune-common.css 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2012-03-07 04:59:48 UTC (rev 1745) @@ -471,11 +471,19 @@ .k-iconlabel-text { vertical-align: top; + float: right; +} + +.k-iconlabel-text { padding-left: 3px; padding-right: 3px; - float: right; } +.k-iconlabel-notext { + padding-left: 0px; + padding-right: 0px; +} + .k-iconlabel-left { float: left; } Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -94,7 +94,7 @@ session.setCurrentUserInfo(userInfoDTO); final I18nLanguageDTO language = userInfoDTO.getLanguage(); session.setCurrentLanguage(language); - i18n.changeToLanguageIfNecessary(language.getCode(), language.getEnglishName(), + i18n.changeToLanguageIfNecessary(language.getCode(), language.getEnglishName(), true, new I18nLanguageChangeNeeded() { @Override Modified: trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -24,11 +24,11 @@ import cc.kune.common.client.notify.NotifyUser; import cc.kune.common.client.notify.ProgressHideEvent; import cc.kune.common.client.notify.UserNotifyEvent; -import cc.kune.common.shared.i18n.I18nTranslationService; import cc.kune.common.shared.utils.TextUtils; import cc.kune.core.client.events.GoHomeEvent; import cc.kune.core.client.events.StackErrorEvent; import cc.kune.core.client.events.UserMustBeLoggedEvent; +import cc.kune.core.client.i18n.I18nUITranslationService; import com.google.gwt.event.shared.EventBus; import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException; @@ -37,10 +37,10 @@ public class ErrorHandler { private final EventBus eventBus; - private final I18nTranslationService i18n; + private final I18nUITranslationService i18n; @Inject - public ErrorHandler(final I18nTranslationService i18n, final EventBus eventBus) { + public ErrorHandler(final I18nUITranslationService i18n, final EventBus eventBus) { this.i18n = i18n; this.eventBus = eventBus; } @@ -122,6 +122,9 @@ logException(caught); eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t("This user is already a group member"))); + } else if (caught instanceof EmailAddressInUseException) { + eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t( + "This email is already used in [%s]. Please choose another.", i18n.getSiteCommonName()))); } else if (caught instanceof EmailHashInvalidException) { logException(caught); eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, Modified: trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -110,7 +110,7 @@ + shouldIuseProperties()); changeToLanguageIfNecessary(getCurrentGWTlanguage(), currentLang.getCode(), - currentLang.getEnglishName(), new I18nLanguageChangeNeeded() { + currentLang.getEnglishName(), false, new I18nLanguageChangeNeeded() { @Override public void onChangeNeeded() { @@ -181,8 +181,8 @@ } public void changeToLanguageIfNecessary(final String wantedLang, final String wantedLangEnglishName, - final I18nLanguageChangeNeeded listener) { - changeToLanguageIfNecessary(currentLang.getCode(), wantedLang, wantedLangEnglishName, listener); + final boolean ask, final I18nLanguageChangeNeeded listener) { + changeToLanguageIfNecessary(currentLang.getCode(), wantedLang, wantedLangEnglishName, ask, listener); } /** @@ -192,25 +192,31 @@ * @return true if we should reload the client with the new language */ private void changeToLanguageIfNecessary(final String currentLangCode, final String wantedLang, - final String wantedLangEnglishName, final I18nLanguageChangeNeeded listener) { + final String wantedLangEnglishName, final boolean ask, final I18nLanguageChangeNeeded listener) { if (!currentLangCode.equals(wantedLang) && isInConstantProperties(wantedLang)) { - NotifyUser.askConfirmation(t("Confirm please"), - t("Do you want to reload this page to use '[%s]' language?", wantedLangEnglishName), - new SimpleResponseCallback() { - @Override - public void onCancel() { - // User no accepted to change the language... - listener.onChangeNotNeeded(); - } + if (!ask) { + listener.onChangeNeeded(); + setCurrentLanguage(wantedLang); + changeLanguageInUrl(wantedLang); + } else { + NotifyUser.askConfirmation(t("Confirm please"), + t("Do you want to reload this page to use '[%s]' language?", wantedLangEnglishName), + new SimpleResponseCallback() { + @Override + public void onCancel() { + // User no accepted to change the language... + listener.onChangeNotNeeded(); + } - @Override - public void onSuccess() { - // User accepted to change the language... - listener.onChangeNeeded(); - setCurrentLanguage(wantedLang); - changeLanguageInUrl(wantedLang); - } - }); + @Override + public void onSuccess() { + // User accepted to change the language... + listener.onChangeNeeded(); + setCurrentLanguage(wantedLang); + changeLanguageInUrl(wantedLang); + } + }); + } } else { listener.onChangeNotNeeded(); } Modified: trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -442,9 +442,18 @@ @Source("person-def.png") ImageResource personDef(); + @Source("pref-black.png") + ImageResource prefBlack(); + + @Source("pref-grey.png") + ImageResource prefGrey(); + @Source("prefs.png") ImageResource prefs(); + @Source("pref-white.png") + ImageResource prefWhite(); + @Source("question32.png") ImageResource question32(); Added: trunk/src/main/java/cc/kune/core/client/resources/pref-black.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/cc/kune/core/client/resources/pref-black.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/cc/kune/core/client/resources/pref-grey.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/cc/kune/core/client/resources/pref-grey.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/src/main/java/cc/kune/core/client/resources/pref-white.png =================================================================== (Binary files differ) Property changes on: trunk/src/main/java/cc/kune/core/client/resources/pref-white.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/UserService.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/rpcservices/UserService.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/core/client/rpcservices/UserService.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -20,9 +20,11 @@ package cc.kune.core.client.rpcservices; import cc.kune.core.client.errors.DefaultException; +import cc.kune.core.client.errors.EmailAddressInUseException; import cc.kune.core.client.errors.EmailHashExpiredException; import cc.kune.core.client.errors.EmailHashInvalidException; import cc.kune.core.client.errors.EmailNotFoundException; +import cc.kune.core.client.errors.GroupLongNameInUseException; import cc.kune.core.shared.domain.UserSNetVisibility; import cc.kune.core.shared.domain.utils.StateToken; import cc.kune.core.shared.dto.I18nLanguageSimpleDTO; @@ -62,7 +64,8 @@ void setBuddiesVisibility(String userHash, StateToken groupToken, UserSNetVisibility visibility); - StateAbstractDTO updateUser(String userHash, UserDTO user, I18nLanguageSimpleDTO lang); + StateAbstractDTO updateUser(String userHash, UserDTO user, I18nLanguageSimpleDTO lang) + throws DefaultException, EmailAddressInUseException, GroupLongNameInUseException; void verifyPasswordHash(String userHash, String emailReceivedHash) throws EmailHashInvalidException, EmailHashExpiredException; Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/EmailConfirmationType.java =================================================================== --- trunk/src/main/java/cc/kune/core/server/manager/impl/EmailConfirmationType.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/core/server/manager/impl/EmailConfirmationType.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -5,6 +5,6 @@ * types of email confirmation/verification */ public enum EmailConfirmationType { - emailVerification, fstTimeEmailVerification, passwordReset + emailVerification, passwordReset } Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java =================================================================== --- trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -152,7 +152,6 @@ switch (type) { case emailVerification: - case fstTimeEmailVerification: notifyService.sendEmailToWithLink(user, "Please verify your email", "Please click in the following link to verify your email at %s:", TokenUtils.addRedirect(SiteTokens.VERIFY_EMAIL, hash)); @@ -461,6 +460,8 @@ if (email != null && !email.equals(user.getEmail())) { checkIfEmailAreInUse(email); user.setEmail(email); + user.setEmailVerified(false); + askForEmailConfirmation(user, EmailConfirmationType.emailVerification); } user.setLanguage(findLanguage(lang.getCode())); persist(user); Modified: trunk/src/main/java/cc/kune/core/server/rpc/UserRPC.java =================================================================== --- trunk/src/main/java/cc/kune/core/server/rpc/UserRPC.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/core/server/rpc/UserRPC.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -29,9 +29,11 @@ import cc.kune.core.client.errors.AccessViolationException; import cc.kune.core.client.errors.DefaultException; +import cc.kune.core.client.errors.EmailAddressInUseException; import cc.kune.core.client.errors.EmailHashExpiredException; import cc.kune.core.client.errors.EmailHashInvalidException; import cc.kune.core.client.errors.EmailNotFoundException; +import cc.kune.core.client.errors.GroupLongNameInUseException; import cc.kune.core.client.errors.UserAuthException; import cc.kune.core.client.rpcservices.UserService; import cc.kune.core.server.UserSession; @@ -239,7 +241,8 @@ @Authenticated @Transactional public StateAbstractDTO updateUser(final String userHash, final UserDTO user, - final I18nLanguageSimpleDTO lang) throws DefaultException { + final I18nLanguageSimpleDTO lang) throws DefaultException, EmailAddressInUseException, + GroupLongNameInUseException { final Long id = userSessionManager.getUser().getId(); if (!id.equals(user.getId())) { throw new AccessViolationException(); Modified: trunk/src/main/java/cc/kune/core/shared/dto/UserSimpleDTO.java =================================================================== --- trunk/src/main/java/cc/kune/core/shared/dto/UserSimpleDTO.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/core/shared/dto/UserSimpleDTO.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -26,6 +26,7 @@ public class UserSimpleDTO implements IsSerializable { private String compoundName; private I18nCountryDTO country; + private String email; private EmailNotificationFrequency emailNotifFreq; private boolean emailVerified; private boolean hasLogo; @@ -89,6 +90,10 @@ return country; } + public String getEmail() { + return email; + } + public EmailNotificationFrequency getEmailNotifFreq() { return emailNotifFreq; } @@ -146,6 +151,10 @@ this.country = country; } + public void setEmail(final String email) { + this.email = email; + } + public void setEmailNotifFreq(final EmailNotificationFrequency emailNotifFreq) { this.emailNotifFreq = emailNotifFreq; } Modified: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -80,7 +80,7 @@ } }; // groupPrefsAction.putValue(Action.NAME, i18n.t("Group options")); - groupPrefsAction.putValue(Action.SMALL_ICON, img.prefs()); + groupPrefsAction.putValue(Action.SMALL_ICON, img.prefGrey()); prefsItem = new ButtonDescriptor(groupPrefsAction); prefsItem.withStyles("k-ent-header-btn, k-btn-min"); // k-noborder, Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPanel.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -43,12 +43,15 @@ private static final String BIG_FIELD_SIZE = "310px"; public static final String DAILY_TYPE_ID = "k-ngp-type_daily"; + public static final String EMAIL_FIELD = "k-ngp-emial"; public static final String HOURLY_TYPE_ID = "k-ngp-type_hourly"; public static final String IMMEDIATE_TYPE_ID = "k-ngp-type_immedi"; - private static final String LONG_NAME_FIELD = "k-uogp-lname"; + public static final String LONG_NAME_FIELD = "k-uogp-lname"; public static final String NO_TYPE_ID = "k-ngp-type_no"; public static final String TYPEOFEMAILNOTIF_FIELD = "k-ngp-type_of_email_notif"; + private final Radio dailyRadio; + private final TextField<String> email; private final FieldSet emailNotifTypeFieldSet; private final Radio hourlyRadio; private final Radio immediateRadio; @@ -57,7 +60,6 @@ private final Radio noRadio; private final AdapterField notVerifLabelAdapter; private final AdapterField resendEmailVerifAdapter; - private final Button resendEmailVerifBtn; @Inject @@ -73,6 +75,9 @@ langSelector.setLangSeparator(":"); add(langSelector); + email = userFieldFactory.createUserEmail(EMAIL_FIELD); + add(email); + emailNotifTypeFieldSet = new FieldSet(); emailNotifTypeFieldSet.setHeading(i18n.t("How often do you want to receive email notifications?")); emailNotifTypeFieldSet.addStyleName("k-form-fieldset"); @@ -131,6 +136,11 @@ } @Override + public String getEmail() { + return email.getValue(); + } + + @Override public EmailNotificationFrequency getEmailNotif() { if (immediateRadio.getValue()) { return EmailNotificationFrequency.immediately; @@ -161,6 +171,11 @@ } @Override + public void setEmail(final String email) { + this.email.setValue(email); + } + + @Override public void setEmailNotifChecked(final EmailNotificationFrequency freq) { switch (freq) { case no: Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPresenter.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPresenter.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPresenter.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -43,7 +43,9 @@ public class UserOptGeneralPresenter extends EntityOptGeneralPresenter implements UserOptGeneral { + private boolean changeLanguage = true; private final Provider<UserServiceAsync> userService; + private final UserOptGeneralView userView; @Inject @@ -101,6 +103,7 @@ userView.setEmailNotifChecked(currentUser.getEmailNotifFreq()); userView.setEmailVerified(currentUser.isEmailVerified()); userView.setResendEmailVerifEnabled(!currentUser.isEmailVerified()); + userView.setEmail(currentUser.getEmail()); } @Override @@ -117,6 +120,7 @@ user.setId(currentUser.getId()); final String longName = userView.getLongName(); user.setName(longName); + user.setEmail(userView.getEmail()); final I18nLanguageSimpleDTO lang = userView.getLanguage(); user.setEmailNotifFreq(userView.getEmailNotif()); userService.get().updateUser(session.getUserHash(), user, userView.getLanguage(), @@ -124,19 +128,21 @@ @Override public void onSuccess(final StateAbstractDTO result) { NotifyUser.hideProgress(); - // Change language to new one if needed - i18n.changeToLanguageIfNecessary(lang.getCode(), lang.getEnglishName(), - new I18nLanguageChangeNeeded() { - @Override - public void onChangeNeeded() { - } + if (changeLanguage) { + i18n.changeToLanguageIfNecessary(lang.getCode(), lang.getEnglishName(), true, + new I18nLanguageChangeNeeded() { + @Override + public void onChangeNeeded() { + } - @Override - public void onChangeNotNeeded() { - stateManager.setRetrievedStateAndGo(result); - sendChangeEntityEvent(); - } - }); + @Override + public void onChangeNotNeeded() { + changeLanguage = false; + stateManager.setRetrievedStateAndGo(result); + sendChangeEntityEvent(); + } + }); + } }; }); } Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralView.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralView.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralView.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -26,6 +26,8 @@ public interface UserOptGeneralView extends EntityOptGeneralView { + String getEmail(); + EmailNotificationFrequency getEmailNotif(); I18nLanguageSimpleDTO getLanguage(); @@ -34,10 +36,12 @@ HasClickHandlers getResendEmailVerif(); - void setEmailVerified(boolean verified); + void setEmail(String email); void setEmailNotifChecked(EmailNotificationFrequency freq); + void setEmailVerified(boolean verified); + void setLanguage(I18nLanguageSimpleDTO language); void setLongName(String longName); Modified: trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityUploaderForm.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityUploaderForm.java 2012-03-07 02:43:00 UTC (rev 1744) +++ trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityUploaderForm.java 2012-03-07 04:59:48 UTC (rev 1745) @@ -44,7 +44,7 @@ public EntityUploaderForm(final String servlet, final String btnText) { btn = new EntityOptUploadButton(btnText); - uploader = new MultiUploader(FileInputType.CUSTOM.with(btn)); + uploader = new MultiUploader(FileInputType.CUSTOM.with(btn, true)); uploader.setServletPath(servlet); uploader.setMaximumFiles(1); uploader.setValidExtensions("png", "jpg", "gif", "jpeg", "bmp");
participants (1)
-
Vicente J. Ruiz Jurado