Redmine it!
redmine插件开发简介
最稳妥的学习应该是先看官方文档,官方还给了一个具体的插件开发教程,不过如果一步不差按照教程敲代码,其实会发现还是有些问题的,需要稍稍改动。
这里,我自己编写了一个简单的插件,基于redmine-3.4.6-passenger版本。
####
插件名称:field_value_adaption
依赖插件:select_to_select2
插件作用:在issue的自定义字段中,根据某个自定义字段的值,自动填写其他自定义字段的值,这些值存在数据库中,如下数据库,当自定义字段1的值选择’便签’时,自动将686,626填写进入自定义子字段4,
数据库设计:
| Id | field_selector | value | field_selector_by | value_by |
| —— | —— | —— | —— | —— |
| 1 | #issue_custom_field_values_1 | 便签 | #issue_custom_field_values_4 | 686,626 |
| 2 | #issue_custom_field_values_1 | 天气 | #issue_custom_field_values_4 | 691 |
####
控制器 adaption
模型 field_value_relation
#设置开发环境变量
1 |
|
1 |
|
#需要在redmine根目录下执行以下代码,默认是/usr/src/redmine
#新建插件
1 |
|
#新建数据库
1 |
|
#迁移数据库
1 |
|
#将数据库编码设置成utf-8,如果没有中文输入,则没必要修改
1 |
|
#插入数据,可以直接在数据库中插入
1 |
|
#创建控制器
1 |
|
修改控制器代码
1 |
|
编写plugins/field_value_adaption/app/views/adaption/get.js.erb
1 |
|
配置路由
1 |
|
配置issue页面发送请求的js plugins/field_value_adaption/assets/javascripts/fields_adaption_get.js
1 |
|
使用hook机制,在所有载入的url包含issue的请求中调用上述js
plugins/field_value_adaption/lib/fields_adaption_hook_listener.rb
1 |
|
在init.rb中应用该hook
1 |
|
Redmine it!的更多相关文章
- bitnami redmine版本由2.3.1升级至3.2.2过程
环境: 操作系统为ubuntu13.**版本,非长期支持版. 安装目录:/opt/redmine-2.3.1-0/ 所有者用户:root 安装过程: 1. 备份2.3.1数据库 sudo /opt/r ...
- redmine整合GIT版本库
redmine整合GIT版本库 服务器的环境: Ubuntu 11.10 64位 Redmine 1.4.5.stable.10943 git version 1.7.5.4 + gitolite ...
- Centos 6.5 部署 redmine 3.3
验证ruby版本 如果有就卸载安装最新的 yum install gcc* openssl openssl-devel -y wget https://ruby.taobao.org/mirrors/ ...
- Redmine 插件安装
将对应的插件都复制进redmine的plugins 安装对应所需要的GEMS bundle install --without development test rmagick 执行插件合并 bund ...
- redmine问题集锦
当我新建LDAP认证模式时,遇到如下错误:
- Redmine新建问题速度慢
Redmine有时候新建问题 ,更新指派人的时候反应很慢, 很大原因应该是发送邮件方式不对. 1.一种方式是改为异步发送 2.另外检测到Redmine日志 ,会发现发送邮件失败 ,也会导致发 ...
- Testlink与Redmine关联
TestLink是一个开源的测试管理工具,它可以有效地管理整个测试流程(测试需求, 测试计划, 测试用例, 测试执行, 测试结果分析),但不能和开发流程统一起来,从而不能及时参与到开发中去,不能使项目 ...
- redmine常见问题
1.测试Pop3邮件收件任务:rake redmine:email:receive_pop3 RAILS_ENV="production" host=pop.cecgw.cn po ...
- Bitnami Redmine插件记录
1.bitnami安装时自带了开发环境,如ruby.rails.devkit. 为了版本兼容,应使用bitnami的命令行. 2.通过use_redmine启动命令行:运行Bitnami\redmin ...
- redmine export long csv file failed: 502 proxy error
After modified the file \apps\redmine\conf\httpd-vhosts.conf: <VirtualHost *:8080> ServerName ...
随机推荐
- idea创建远程分支
1.先从远程拉取一个完整的分支,master或dev 2.新建一个分支,new,新建的同时checkout 出来 3.把新建的分支push到远程 4.如果新建完分支后写代码了,需要先把代码提交然后一起 ...
- Thread--currentThread()
参考:http://bbs.csdn.net/topics/391872079 package thread.demo01; public class MyThread extends Thread ...
- leetcode 994.腐烂的橘子
题目: 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格: 值 1 代表新鲜橘子: 值 2 代表腐烂的橘子. 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂 ...
- 计蒜客 王子救公主(DFS)
一天,蒜头君梦见自己当上了王子,但是不幸的是,自己的公主被可恶的巫婆抓走了.于是蒜头君动用全国的力量得知,自己的公主被巫婆抓进一个迷宫里面.由于全国只有蒜头君自己可以翻越迷宫外的城墙,蒜头君便自己一人 ...
- Properties in Algebra
附录-Properties in Algebra 部分证明转载自标注,仅作个人整理查阅用. 范数 (norm) \(^{[1]}\) 要更好的理解范数,就要从函数.几何与矩阵的角度去理解,我尽量讲的通 ...
- Promoter complex|转录组水平RNA的复杂度|
生命组学 Promoter complex Tata box识别位点 Enhancer加入之后增强转录 不确定性与确定性之间的关系,原因中存在这不确定性,但是结果表达又是确定的.因为promoter的 ...
- python-day5爬虫基础之正则表达式2
dot: '.'匹配任意的字符 '*'匹配任意多个(0到多个) 如图所示, 程序运行结果是abc,之所以没有匹配\n,是因为\n是换行符,它就代表这个字符串是两行的,而正则表达式是一行一行去匹配的.在 ...
- nginx配置文件说明(包含IP黑名单、代理反射、负载均衡的配置)
先看下nginx配置文件整体结构 图片来源51cto 配置文件及注解: #运行用户 主模块指令,指定Nginx Worker进程运行用户以及用户组,默认由nobody账号运行 user nobody; ...
- Matlab:fsolve No solution found.
代码: clear M = 600;N = 420;p=200;q=2282; eq = @(x) x^M-(1+q/p)*x^(M-N)+q/p; options = optimset('MaxFu ...
- c#为什么要用事物
一.事务的定义 所谓事务,它是一个操作集合,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.典型的例子就像从网上银行系统的帐户A转帐到帐户B,它经过两个阶段:1.从帐户A取出款项.2.把 ...