基本介绍
custom_field_sql插件为redmine的自定义属性添加了两个sql类型的自定义字段格式。通过自定义的sql语句可以实现自定义字段的自由取值。而且该插件还可以实现自定义字段之间的相互联动,根据一个自定义字段的取值改变另一个自定义字段的取值。图例中的'用户姓名'字段可以根据'选择性别'字段实现按性别筛选。
- sql - "一般的sql查询表达式”格式
- sql搜索 - "带参数的sql查询”格式
数据联动配置案例-1¶
在问题/issue模块中实现根据用户性别联动筛选用户姓名的效果(如下图)。该案例需要'用户'和'问题'模块分别对应新建'性别'和'用户姓名'两个自定义字段。'性别'自定义字段类型为'列表',预设取值:'男、女'。'用户姓名'自定义字段选择sql_search类型,配置方法如图:

sql搜索字段的配置方法:

数据联动配置案例-2¶
实现国内行政区域省、市、县、村镇数据多级联动,自动筛选。

安装指导
- 下载插件压缩包,解压至redmine的plugins目录,确保文件夹名称为 custom_field_sql
- 重新启动redmine
- 管理员登录redmine → 管理 → 自定义属性
- 选择“新建自定义属性” → 关联自定义属性的类型 → 在格式中可以看到插件新增加的“sql"和“sql”搜索两个格式
- 输入sql查询
SQL参数
- 你可以在sql表达式里使用参数. sql format: 支持 id 其中的id可以根据自己的需求定义,它可以是issue或project的id
sql_search格式必须有'value’字段,value将作为字段值。 支持多个参数,同时参数需要jQuery脚本给出。
举例-1:
“sql expression”:
select subject as value, description as label from issues where subject like ? and description like ?
"sql form params":
p0='%'+$('#issue_custom_field_values_31').val()+'%'
p1='%'+$('#issue_custom_field_values_30').val()+'%'
举例-2: (for MySQL):
“sql expression”:
select subject as value from issues where id = if( ? ='new', id, ?);
“sql form params”:
p0=window.location.toString().split('/').pop()
p1=window.location.toString().split('/').pop()
上述表达式中 window.location.toString().split('/').pop() 得到表单里issue id。value = 'new’表示新建问题
版本更新
积分(10)
2.2_1 (2021-05-25)
兼容性: Redmine 3.4.*, 4.0.*, 4.1.*, 4.2.*
- 增加对项目自定义sql字段的支持
- 增加国内行政区扩展数据,快速实现redmine对省份/市/县/村镇数据联动
- 增加简体中文语言支持
文件
2.2 (2021-05-24)
兼容性: Redmine 3.4.*, 4.0.*
文件
评论
添加评论
#1
由 贾 托尼 在 3 个月 之前添加
看着不错,加油
#2
由 Chen Snowman 在 大约一年 之前添加
插件里的“sql表达式"是需要用sql语句写的。资料就是redmine的表结构。
#3
由 伊 angela 在 大约一年 之前添加
这个需要很熟悉sql语言吗,有相关资料推荐么
#4
由 伊 angela 在 大约一年 之前添加
先用着看
#5
由 shuinoo shuinoo 在 大约一年 之前添加
很好
#6
由 ou ye 在 大约一年 之前添加
!!