Example #1
0
 private void insertEipTAclUserRoleMap(EipTAclRole aclrole, ALEipUser user) {
   EipTAclUserRoleMap map = Database.create(EipTAclUserRoleMap.class);
   int userid = (int) user.getUserId().getValue();
   // ユーザーID
   TurbineUser tuser = Database.get(TurbineUser.class, Integer.valueOf(userid));
   map.setEipTAclRole(aclrole);
   map.setTurbineUser(tuser);
 }
Example #2
0
  /**
   * ロールをデータベースに格納します。 <br>
   *
   * @param rundata
   * @param context
   * @param msgList
   * @return TRUE 成功 FALSE 失敗
   */
  @Override
  protected boolean insertFormData(RunData rundata, Context context, List<String> msgList) {
    try {
      Date now = Calendar.getInstance().getTime();

      // 新規オブジェクトモデル
      EipTAclRole aclrole = Database.create(EipTAclRole.class);
      aclrole.setRoleName(acl_role_name.getValue());
      aclrole.setNote(note.getValue());

      long aclType = getAclTypeValue();
      aclrole.setAclType(Integer.valueOf((int) aclType));

      EipTAclPortletFeature feature =
          Database.get(EipTAclPortletFeature.class, Integer.valueOf((int) feature_id.getValue()));
      aclrole.setEipTAclPortletFeature(feature);

      // 登録日
      aclrole.setCreateDate(now);
      // 更新日
      aclrole.setUpdateDate(now);

      // userMapの登録
      insertEipTAclUserRoleMap(aclrole, memberList.get(0));

      // メンバー登録
      int size = memberList.size();
      for (int i = 1; i < size; i++) {
        insertEipTAclUserRoleMap(aclrole, memberList.get(i));
      }

      // ロールを登録
      Database.commit();

      // イベントログに保存
      ALEventlogFactoryService.getInstance()
          .getEventlogHandler()
          .log(
              aclrole.getRoleId(),
              ALEventlogConstants.PORTLET_TYPE_ACCESSCTL,
              ALLocalizationUtils.getl10nFormat("ACCESSCTL_EVENTLOG_ADD", aclrole.getRoleName()));

    } catch (Exception ex) {
      Database.rollback();
      logger.error("AccessControlFormData.insertFormData", ex);
      return false;
    }
    return true;
  }
  /**
   * 掲示板カテゴリをデータベースに格納します。 <br>
   *
   * @param rundata
   * @param context
   * @param msgList
   * @return
   */
  @Override
  protected boolean insertFormData(RunData rundata, Context context, List<String> msgList)
      throws ALPageNotFoundException, ALDBErrorException {
    try {
      TurbineUser tuser =
          Database.get(TurbineUser.class, Integer.valueOf(ALEipUtils.getUserId(rundata)));

      // 新規オブジェクトモデル
      EipTMsgboardCategory category = Database.create(EipTMsgboardCategory.class);
      // カテゴリ名
      category.setCategoryName(category_name.getValue());
      // メモ
      category.setNote(note.getValue());
      int accessFlag = (int) access_flag.getValue();
      if (accessFlag == MsgboardUtils.ACCESS_PUBLIC_ALL
          || accessFlag == MsgboardUtils.ACCESS_PUBLIC_MEMBER) {
        category.setPublicFlag(MsgboardUtils.PUBLIC_FLG_VALUE_PUBLIC);
      } else {
        category.setPublicFlag(MsgboardUtils.PUBLIC_FLG_VALUE_NONPUBLIC);
      }

      // ユーザーID
      category.setTurbineUser(tuser);
      // 作成日
      category.setCreateDate(Calendar.getInstance().getTime());
      // 更新日
      category.setUpdateDate(Calendar.getInstance().getTime());

      int size = memberList.size();
      for (int i = 0; i < size; i++) {
        EipTMsgboardCategoryMap map = Database.create(EipTMsgboardCategoryMap.class);
        ALEipUser user = memberList.get(i);
        int userid = (int) user.getUserId().getValue();
        map.setEipTMsgboardCategory(category);
        map.setUserId(Integer.valueOf(userid));
        // O: 自カテゴリ S: 共有カテゴリ(Share)
        if (userid == ALEipUtils.getUserId(rundata)) {
          if (accessFlag == MsgboardUtils.ACCESS_PUBLIC_ALL
              || accessFlag == MsgboardUtils.ACCESS_SEACRET_SELF) {
            // 所属メンバーがログインユーザのみの場合
            map.setStatus(MsgboardUtils.STAT_VALUE_ALL);
          } else {
            map.setStatus(MsgboardUtils.STAT_VALUE_OWNER);
          }
        } else {
          map.setStatus(MsgboardUtils.STAT_VALUE_SHARE);
        }
      }

      // 掲示板カテゴリを登録
      Database.commit();

      // イベントログに保存
      ALEventlogFactoryService.getInstance()
          .getEventlogHandler()
          .log(
              category.getCategoryId(),
              ALEventlogConstants.PORTLET_TYPE_MSGBOARD_CATEGORY,
              category.getCategoryName());

    } catch (Exception e) {
      Database.rollback();
      logger.error("[MsgboardFormData]", e);
      throw new ALDBErrorException();
    }
    return true;
  }
Example #4
0
 /**
  * その他の会社情報を取得する。
  *
  * @param rundata
  * @param context
  * @return
  */
 public static EipMAddressbookCompany getDummyEipMAddressbookCompany(
     RunData rundata, Context context) {
   // default company definition : company_id value is integer 1
   return Database.get(EipMAddressbookCompany.class, Integer.valueOf(1));
 }