Example #1
0
func (this *ProjectEnvironmentController) AddOrEdit() {

	utility.ViewLogin(this.Ctx)

	projectid := this.Input().Get("projectid")
	envid := this.Input().Get("envid")

	var projectenv models.Projectenvironment
	var title string

	o := orm.NewOrm()

	if envid == "" {
		title = "添加项目及环境信息"

	} else {
		title = "编辑项目及环境信息"
		//var env models.Environmentinfo
		err := o.QueryTable("Projectenvironment").Filter("envid", envid).Filter("projectid", projectid).One(&projectenv)
		if err == orm.ErrMultiRows {
			// 多条的时候报错
			//fmt.Printf("Returned Multi Rows Not One")
		}
	}

	var envs []*models.Environmentinfo
	num, _ := o.QueryTable("Environmentinfo").All(&envs)
	if num > 0 {

	}

	viewenvironmentinfomodels := []*models.ViewEnvironmentinfoModel{}
	for i := 0; i < len(envs); i++ {
		selected := ""

		if envs[i].Id == projectenv.Envid {
			selected = "selected"
		}

		viewenvironmentinfomodels = append(viewenvironmentinfomodels, &models.ViewEnvironmentinfoModel{envs[i].Id, envs[i].Name, envs[i].Description, envs[i].Rundeckapiurl, selected})
	}

	var project models.Projectinfo
	err := o.QueryTable("Projectinfo").Filter("Id", projectid).One(&project)
	if err == orm.ErrMultiRows || err == orm.ErrNoRows {
	}

	this.Data["Title"] = title
	this.Data["projectenv"] = projectenv
	this.Data["project"] = project
	this.Data["envs"] = viewenvironmentinfomodels

	this.Layout = "Template.html"
	this.TplNames = "projectenv/addoredit.html"
	this.LayoutSections = make(map[string]string)
	this.LayoutSections["NavContent"] = "component/nav.html"
	this.LayoutSections["Scripts"] = "projectenv/addoreditjs.html"
	this.LayoutSections["HtmlHead"] = "env/listcss.html"
}
Example #2
0
func (this *ProjectController) Get() {
	utility.ViewLogin(this.Ctx)

	this.Layout = "Template.html"
	this.TplNames = "project/index.html"
	this.LayoutSections = make(map[string]string)
	this.LayoutSections["NavContent"] = "component/nav.html"
}
Example #3
0
func (this *ProjectEnvironmentController) Build() {

	utility.ViewLogin(this.Ctx)

	projectid := this.Input().Get("projectid")
	envid := this.Input().Get("envid")

	var projectenv models.Projectenvironment
	var env *models.Environmentinfo
	var title string

	o := orm.NewOrm()

	var envs []*models.Environmentinfo
	o.QueryTable("Environmentinfo").All(&envs)

	o.QueryTable("Projectenvironment").Filter("envid", envid).Filter("projectid", projectid).One(&projectenv)

	viewenvironmentinfomodels := []*models.ViewEnvironmentinfoModel{}
	for i := 0; i < len(envs); i++ {
		selected := ""

		if envs[i].Id == projectenv.Envid {
			selected = "selected"
			env = envs[i]
		}

		viewenvironmentinfomodels = append(viewenvironmentinfomodels, &models.ViewEnvironmentinfoModel{envs[i].Id, envs[i].Name, envs[i].Description, envs[i].Rundeckapiurl, selected})
	}

	var project models.Projectinfo
	err := o.QueryTable("Projectinfo").Filter("Id", projectid).One(&project)
	if err == orm.ErrMultiRows || err == orm.ErrNoRows {
	}

	title = project.Name + " " + env.Name + " 部署详情"

	var projectbranchs []*models.Projectbranch
	o.QueryTable("Projectbranch").Filter("Projectid", projectid).All(&projectbranchs)

	this.Data["Title"] = title
	this.Data["projectenv"] = projectenv
	this.Data["project"] = project
	this.Data["envs"] = viewenvironmentinfomodels
	this.Data["envid"] = envid
	this.Data["projectbranchs"] = projectbranchs

	this.Layout = "Template.html"
	this.TplNames = "projectenv/build.html"
	this.LayoutSections = make(map[string]string)
	this.LayoutSections["NavContent"] = "component/nav.html"
	this.LayoutSections["Scripts"] = "projectenv/buildjs.html"
	this.LayoutSections["HtmlHead"] = "env/listcss.html"
}
Example #4
0
func (this *TestController) Jia() {

	utility.ViewLogin(this.Ctx)

	log := logs.NewLogger(10000)
	log.SetLogger("console", "")

	//log.Info(strconv.Itoa(int(datatype.Golang)))

	log.Info(this.Ctx.Input.Uri())
	this.TplNames = "test/index.html"
}
Example #5
0
func (this *EnvironmentController) AddOrEdit() {

	utility.ViewLogin(this.Ctx)

	envid := this.Input().Get("envid")

	var env models.Environmentinfo
	var title string

	//envTypes := datatype.EnvTypes

	if envid == "" {
		title = "添加平台信息"

	} else {
		title = "编辑平台信息"

		o := orm.NewOrm()

		//var env models.Environmentinfo
		o.QueryTable("Environmentinfo").Filter("id", envid).One(&env)
		//if err == orm.ErrMultiRows {
		// 多条的时候报错
		//fmt.Printf("Returned Multi Rows Not One")
		//}
	}

	viewEnvTypeModels := []*models.ViewEnvTypeModel{}

	for key, value := range datatype.EnvTypeMap {
		selected := ""
		//fmt.Println(env.Envtype)
		if key == env.Envtype {
			selected = "selected"
		}
		//fmt.Println(key, value, selected)
		viewEnvTypeModels = append(viewEnvTypeModels, &models.ViewEnvTypeModel{key, value, selected})
	}

	this.Data["Title"] = title
	this.Data["env"] = env
	this.Data["envTypes"] = viewEnvTypeModels

	this.Layout = "Template.html"
	this.TplNames = "env/addoredit.html"
	this.LayoutSections = make(map[string]string)
	this.LayoutSections["NavContent"] = "component/nav.html"
	this.LayoutSections["Scripts"] = "env/addoreditjs.html"
	this.LayoutSections["HtmlHead"] = "env/listcss.html"
}
Example #6
0
func (this *ProjectModuleController) AddOrEdit() {

	utility.ViewLogin(this.Ctx)

	projectid := this.Input().Get("projectid")
	moduleid := this.Input().Get("moduleid")

	o := orm.NewOrm()

	var project models.Projectinfo
	o.QueryTable("Projectinfo").Filter("Id", projectid).One(&project)

	var module models.Moduleinfo

	var title string

	//envTypes := datatype.EnvTypes

	for key, value := range datatype.EnvTypeMap {
		fmt.Println(key)
		fmt.Println(value)
	}

	if moduleid == "" {
		title = "添加项目模块信息"

	} else {
		title = "编辑项目模块信息"

		//var env models.Environmentinfo
		o.QueryTable("Moduleinfo").Filter("id", moduleid).One(&module)
		//if err == orm.ErrMultiRows {
		// 多条的时候报错
		//fmt.Printf("Returned Multi Rows Not One")
		//}
	}

	this.Data["Title"] = title
	// this.Data["env"] = env
	this.Data["project"] = project
	this.Data["module"] = module

	this.Layout = "Template.html"
	this.TplNames = "projectmodule/addoredit.html"
	this.LayoutSections = make(map[string]string)
	this.LayoutSections["NavContent"] = "component/nav.html"
	this.LayoutSections["Scripts"] = "projectmodule/addoreditjs.html"
	this.LayoutSections["HtmlHead"] = "env/listcss.html"
}
Example #7
0
func (this *ProjectController) List() {

	utility.ViewLogin(this.Ctx)
	languageType := this.Input().Get("languageType")

	o := orm.NewOrm()

	var projects []models.Projectinfo
	o.QueryTable("Projectinfo").Filter("LanguageType", languageType).All(&projects)
	//fmt.Printf("Returned Rows Num: %s, %s", num2, err2)
	//.Filter("LanguageType", languageType)

	var title string
	switch languageType {
	case "1":
		title = "Go Projects"
	case "2":
		title = "C# Projects"
	case "3":
		title = "Java Projects"
	}

	viewModel := []*models.ViewProjectListModel{}

	for i := 0; i < len(projects); i++ {
		var projectbranchs []*models.Projectbranch
		//num, _ :=
		o.QueryTable("Projectbranch").Filter("Projectid", projects[i].Id).All(&projectbranchs)
		//fmt.Printf("Branch Numbers : %s", num)
		viewModel = append(viewModel, &models.ViewProjectListModel{projects[i], projectbranchs})
	}

	this.Data["Title"] = title
	//this.Data["projectsnum"] = num
	this.Data["projects"] = projects
	this.Data["viewModel"] = viewModel

	this.Layout = "Template.html"
	this.TplNames = "project/list.html"
	this.LayoutSections = make(map[string]string)
	this.LayoutSections["NavContent"] = "component/nav.html"
	this.LayoutSections["Scripts"] = "project/listjs.html"
	this.LayoutSections["HtmlHead"] = "project/listcss.html"
}
Example #8
0
func (this *ProjectModuleController) List() {

	utility.ViewLogin(this.Ctx)

	projectid := this.Ctx.Input.Params["0"]

	o := orm.NewOrm()

	var modules []*models.Moduleinfo
	o.QueryTable("Moduleinfo").Filter("Projectid", projectid).All(&modules)

	this.Data["Title"] = "模块列表"
	//this.Data["envsnum"] = num
	// this.Data["envTypeList"] = envTypeList
	this.Data["modules"] = modules

	this.Layout = "Template.html"
	this.TplNames = "projectmodule/list.html"
	this.LayoutSections = make(map[string]string)
	this.LayoutSections["NavContent"] = "component/nav.html"
	this.LayoutSections["Scripts"] = "projectmodule/listjs.html"
	this.LayoutSections["HtmlHead"] = "env/listcss.html"
}
Example #9
0
func (this *EnvironmentController) List() {

	utility.ViewLogin(this.Ctx)

	o := orm.NewOrm()

	var envs []*models.Environmentinfo
	o.QueryTable("Environmentinfo").All(&envs)

	// var envTypeList []string

	var viewEnvironmentinfoItemModel []*models.ViewEnvironmentinfoItemModel

	for i := 0; i < len(envs); i++ {
		env := envs[i]
		fmt.Println(datatype.EnvTypeMap[env.Envtype])
		// envTypeList = append(envTypeList, datatype.EnvTypeMap[env.Envtype])
		viewEnvironmentinfoItemModel = append(viewEnvironmentinfoItemModel, &models.ViewEnvironmentinfoItemModel{env.Id, env.Name, env.Description, env.Rundeckapiurl, env.Rundeckapiauthtoken, env.Envtype, datatype.EnvTypeMap[env.Envtype]})

	}

	// for key, value := range datatype.EnvTypeMap {
	// }

	this.Data["Title"] = "环境列表"
	//this.Data["envsnum"] = num
	// this.Data["envTypeList"] = envTypeList
	this.Data["envs"] = viewEnvironmentinfoItemModel

	this.Layout = "Template.html"
	this.TplNames = "env/list.html"
	this.LayoutSections = make(map[string]string)
	this.LayoutSections["NavContent"] = "component/nav.html"
	this.LayoutSections["Scripts"] = "env/listjs.html"
	this.LayoutSections["HtmlHead"] = "env/listcss.html"
}
Example #10
0
func (this *ProjectModuleController) ManageJob() {

	utility.ViewLogin(this.Ctx)

	moduleid := this.Input().Get("moduleid")

	o := orm.NewOrm()

	var envs []models.Environmentinfo
	o.QueryTable("Environmentinfo").All(&envs)

	var module models.Moduleinfo
	o.QueryTable("Moduleinfo").Filter("Id", moduleid).One(&module)

	var localenvs []*models.ViewProjectModuleManageModel
	var preenvs []*models.ViewProjectModuleManageModel
	var onlineenvs []*models.ViewProjectModuleManageModel

	var jobs []models.Rundeckjob
	o.QueryTable("Rundeckjob").Filter("Moduleid", moduleid).All(&jobs)

	// var jobmodels []*models.ViewProjectModuleJobModel

	// jobmodels = append(jobmodels, &models.ViewProjectModuleJobModel{"1" + "TTTT", "2"})

	for _, env := range envs {
		var job models.Rundeckjob
		for i := 0; i < len(jobs); i++ {
			if jobs[i].Envid == env.Id {
				job = jobs[i]
				break
			}
		}

		switch env.Envtype {
		case 1:
			localenvs = append(localenvs, &models.ViewProjectModuleManageModel{env, models.ViewRundeckJobModel{job.Id, job.Moduleid, strconv.Itoa(job.Rundeckserverid), job.Rundeckbuildjobid, job.Rundeckpackagejobid}})
		case 2:
			preenvs = append(preenvs, &models.ViewProjectModuleManageModel{env, models.ViewRundeckJobModel{job.Id, job.Moduleid, strconv.Itoa(job.Rundeckserverid), job.Rundeckbuildjobid, job.Rundeckpackagejobid}})
		case 3:
			onlineenvs = append(onlineenvs, &models.ViewProjectModuleManageModel{env, models.ViewRundeckJobModel{job.Id, job.Moduleid, strconv.Itoa(job.Rundeckserverid), job.Rundeckbuildjobid, job.Rundeckpackagejobid}})
		}
	}

	this.Data["Title"] = "模块列表"
	this.Data["golangactive"] = "active"
	this.Data["projectactive"] = "active"

	this.Data["localenvs"] = localenvs
	this.Data["preenvs"] = preenvs
	this.Data["onlineenvs"] = onlineenvs

	//this.Data["envsnum"] = num
	// this.Data["envTypeList"] = envTypeList
	this.Data["module"] = module

	this.Layout = "Template.html"
	this.TplNames = "projectmodule/managejoblist.html"
	this.LayoutSections = make(map[string]string)
	this.LayoutSections["NavContent"] = "component/nav.html"
	this.LayoutSections["Scripts"] = "projectmodule/managejoblistjs.html"
	this.LayoutSections["HtmlHead"] = "env/listcss.html"
}