/** * Set the value of a boolean field in a document. * * @param doc the document to modify. * @param fieldName the name of the field. * @param value the value. * @return true if <code>doc</code> modified. */ protected boolean updateDocBooleanValue(XWikiDocument doc, String fieldName, Boolean value) { boolean needsUpdate = false; int intvalue = intFromBoolean(value); if (intvalue != doc.getIntValue(getClassFullName(), fieldName)) { doc.setIntValue(getClassFullName(), fieldName, intvalue); needsUpdate = true; } return needsUpdate; }
// Copy & Paste and customise from bugged method in XWiki class. private int checkActive(String user, XWikiContext context) throws XWikiException { int active = 1; // These users are necessarly active if (user.equals(XWikiRightService.GUEST_USER_FULLNAME) || (user.equals(XWikiRightService.SUPERADMIN_USER_FULLNAME))) { return active; } String checkactivefield = context.getWiki().getXWikiPreference("auth_active_check", context); if (checkactivefield.equals("1")) { XWikiDocument userdoc = context.getWiki().getDocument(user, context); active = userdoc.getIntValue("XWiki.XWikiUsers", "active"); } else { mLogger.warn( "XWikiPreferences field auth_active_check != 1 which means all users" + "are always handled as active"); } return active; }