def execute(self): #检查是否 存在根节点 unitList = self.unitService.getChildUnitListByParenId(0, [False]) if len(unitList) > 0: self.addActionError(u"根节点已经存在,只能有一个根节点。") return ActionResult.ERROR if request.getMethod() == "POST": enname = self.params.safeGetStringParam("enname") title = self.params.safeGetStringParam("title") siteTitle = self.params.safeGetStringParam("siteTitle") if enname == "" or title == "": self.addActionError(u"机构名称和英文名称不能为空。") return ActionResult.ERROR if siteTitle == "": self.addActionError(u"机构网站名称不能为空。") return ActionResult.ERROR if CommonUtil.isValidName(enname) == False: self.addActionError(u"英文名称只能是英文字母、数字并且必须以英文字母开头。") return ActionResult.ERROR unit = Unit() unit.setUnitName(enname) unit.setUnitTitle(title) unit.setSiteTitle(siteTitle) unit.setParentId(0) unit.setUnitPathInfo("") unit.setHasChild(False) self.unitService.saveOrUpdateUnit(unit) unit.setUnitPathInfo("/" + str(unit.unitId) + "/") self.unitService.saveOrUpdateUnit(unit) # 将管理员添加到根机构中。 userService = __spring__.getBean("userService") u = userService.getUserByLoginName("admin") if u != None: u.setUnitId(unit.unitId) u.setUnitPathInfo(unit.unitPathInfo) userService.updateUserUnit(u) return "/WEB-INF/ftl/admin/admin_add_unit_root_success.ftl" return "/WEB-INF/ftl/admin/admin_add_unit_root.ftl"
def execute(self): parentId = self.params.safeGetIntParam("pid") unitId = self.params.safeGetIntParam("unitId") parentUnit = self.unitService.getUnitById(parentId) if parentUnit == None: self.addActionError(u"无效的父节点。") self.addActionLink( u"返回", "admin_edit_unit.py?pid=" + str(parentId) + "&unitId=" + str(unitId)) return ActionResult.ERROR unitLevel = self.unitService.getUnitDeepLevel(parentUnit) if unitLevel > self.unitService.getConfigUnitLevel(): self.addActionError(u"不允许创建更多的子单位。") self.addActionLink(u"返回", "admin_unit_manage.py") return ActionResult.ERROR unit = self.unitService.getUnitById(unitId) unitTypeList = self.unitTypeService.getUnitTypeNameList() request.setAttribute("unitTypeList", unitTypeList) if request.getMethod() == "POST": title = self.params.safeGetStringParam("title") enname = self.params.safeGetStringParam("enname") siteTitle = self.params.safeGetStringParam("siteTitle") unitType = self.params.safeGetStringParam("unitType") if enname == "" or title == "": self.addActionError(u"机构名称和英文名称不能为空。") self.addActionLink( u"返回", "admin_edit_unit.py?pid=" + str(parentId) + "&unitId=" + str(unitId)) return ActionResult.ERROR if unitType == "": self.addActionError(u"机构属性不能为空。") self.addActionLink( u"返回", "admin_edit_unit.py?pid=" + str(parentId) + "&unitId=" + str(unitId)) return ActionResult.ERROR if siteTitle == "": self.addActionError(u"机构网站名称不能为空。") self.addActionLink( u"返回", "admin_edit_unit.py?pid=" + str(parentId) + "&unitId=" + str(unitId)) return ActionResult.ERROR if CommonUtil.isValidName(enname) == False: self.addActionError(u"英文名称只能是英文字母、数字并且必须以英文字母开头。") self.addActionLink( u"返回", "admin_edit_unit.py?pid=" + str(parentId) + "&unitId=" + str(unitId)) return ActionResult.ERROR #检查英文名称是否已经存在 checkUnit = self.unitService.getUnitByName(enname) if checkUnit != None: if unit == None: #新建的机构 self.addActionError(u"机构的英文名称已经存在,请更换一个新的名称。") self.addActionLink( u"返回", "admin_edit_unit.py?pid=" + str(parentId) + "&unitId=" + str(unitId)) return ActionResult.ERROR else: if checkUnit.unitId != unit.unitId: self.addActionError(u"机构的英文名称已经存在,请更换一个新的名称。") self.addActionLink( u"返回", "admin_edit_unit.py?pid=" + str(parentId) + "&unitId=" + str(unitId)) return ActionResult.ERROR if unit == None: unit = Unit() unit.setParentId(parentUnit.unitId) unit.setUnitPathInfo("") unit.setHasChild(False) unit.setUnitName(enname) unit.setUnitTitle(title) unit.setSiteTitle(siteTitle) unit.setUnitType(unitType) self.unitService.saveOrUpdateUnit(unit) if parentUnit.hasChild == False: parentUnit.setHasChild(True) self.unitService.saveOrUpdateUnit(parentUnit) if unitId == 0: self.init_unit_nav(unit) self.genWebparts(unit) request.setAttribute("parentUnit", parentUnit) self.unitService.updateAccessControlUnitTitle(unit) return "/WEB-INF/ftl/admin/admin_edit_unit_success.ftl" request.setAttribute("parentUnit", parentUnit) request.setAttribute("unit", unit) return "/WEB-INF/ftl/admin/admin_edit_unit.ftl"
def execute(self): #检查是否 存在根节点,本程序将进行整个平台的初始化工作, rootUnit = self.unitService.getRootUnit() if rootUnit != None: self.addActionError(u"根机构已经存在,只能有一个根机构。") return ActionResult.ERROR unitList = self.unitService.getChildUnitListByParenId(0) if len(unitList) > 0: self.addActionError(u"组织机构表中已经存在单位,不能再添加,请检查组织机构表。") return ActionResult.ERROR if request.getMethod() == "POST": enname = self.params.safeGetStringParam("enname") title = self.params.safeGetStringParam("title") siteTitle = self.params.safeGetStringParam("siteTitle") if enname == "" or title == "": self.addActionError(u"机构名称、英文名称不能为空。") return ActionResult.ERROR if siteTitle == "": self.addActionError(u"机构网站名称不能为空。") return ActionResult.ERROR if CommonUtil.isValidName(enname) == False: self.addActionError(u"英文名称只能是英文字母、数字并且必须以英文字母开头。") return ActionResult.ERROR unit = Unit() unit.setUnitName(enname) unit.setUnitTitle(title) unit.setSiteTitle(siteTitle) unit.setParentId(0) unit.setUnitPathInfo("") unit.setHasChild(False) self.unitService.saveOrUpdateUnit(unit) unit.setUnitPathInfo("/" + str(unit.unitId) + "/") self.unitService.saveOrUpdateUnit(unit) self.save_or_update_item("site.name", title) self.save_or_update_item("site.title", siteTitle) self.save_or_update_item("siteThemeUrl", request.getContextPath() + "/css/index/") self.configService.reloadConfig() # 将管理员添加到根机构中。 userService = __spring__.getBean("userService") u = userService.getUserByLoginName("admin") if u != None: u.setUnitId(unit.unitId) u.setUnitPathInfo(unit.unitPathInfo) userService.updateUserUnit(u) #初始化一些内容,重新生成导航文件等 self.GenSubjectNav() self.addActionMessage(u"设置成功。") self.addActionLink(u"返回首页", "index.py") self.addActionLink(u"返回其他配置页面", "checksetting.py") return ActionResult.SUCCESS else: try: self.clearAllStaticCacheFile() except: print u"系统初始化错误:删除静态文件时出现错误。" return "/WEB-INF/ftl/admin/admin_add_unit_root.ftl"