仓库设置部分

dev_forge
caicai8 5 years ago
parent a16fb6052c
commit b8f717561e

@ -329,7 +329,7 @@ class ApplicationController < ActionController::Base
def current_user
# User.current
if Rails.env.development?
user_id = 36390
user_id = 50207
else
user_id = 130328
end

@ -86,6 +86,7 @@ class Detail extends Component{
praises_count:undefined ,
forked_count:undefined,
http_url: undefined,
author:undefined,
branchs:undefined,
branchList:undefined,
@ -132,6 +133,7 @@ class Detail extends Component{
isReporter:result.data.permission && result.data.permission === "Reporter",
isDeveloper:result.data.permission && result.data.permission === "Developer",
http_url: result.data.clone_url,
author:result.data.author,
watchers_count:result.data.watchers_count,
praises_count:result.data.praises_count,

@ -16,6 +16,14 @@ class Branch extends Component{
}
render(){
const { branchList } = this.props;
const branchListRender = (
branchList && branchList.map((item,key)=>{
return(
<Option value={item.name}>{item.name}</Option>
)
})
)
return(
<div className="normalBox">
<div className="normalBox-title font-16">
@ -24,7 +32,7 @@ class Branch extends Component{
<p className="pl15 pt15">请选择一个默认的分支用于合并请求和提交</p>
<div className="addPanel">
<Select className="branchSelect">
<Option value="0">master</Option>
{branchListRender}
</Select>
<a className="small_submitBtn ml20" onClick={this.resetSetting}>更新仓库设置</a>
</div>

@ -132,7 +132,7 @@ class Collaborator extends Component{
// 删除协作者
deleteUser=(id)=>{
this.props.confirm({
content:"确认删除此成员",
content:"确认将此成员从项目中移除",
onOk:()=>{
const { project_id } = this.props;
const url = `/projects/${project_id}/members/remove.json`;
@ -153,8 +153,9 @@ class Collaborator extends Component{
})
}
render(){
const { user , userDataSource , listData , isSpin } = this.state;
const { userDataSource , listData , isSpin } = this.state;
// 获取当前项目的拥有者
const { author } = this.props;
const menu =(id)=> (
<Menu>
{
@ -187,12 +188,21 @@ class Collaborator extends Component{
<div className="collaboratorItem">
<span><Link to={``} className="color-blue">{item.name}</Link></span>
<span>
<Dropdown overlay={menu(`${item.id}`)} placement={"bottomCenter"}>
<span>{operation && operation[0].name}<Icon type="down" /></span>
</Dropdown>
{
author && author.login === item.login ?
<label>{operation && operation[0].name}</label>
:
<Dropdown overlay={menu(`${item.id}`)} placement={"bottomCenter"}>
<span>{operation && operation[0].name}<Icon type="down" /></span>
</Dropdown>
}
</span>
<span style={{justifyContent:"center"}}>
<a className="red_btn" onClick={()=>this.deleteUser(item.id)}>删除</a>
{
author && author.login !== item.login &&
<a className="red_btn" onClick={()=>this.deleteUser(item.id)}>删除</a>
}
</span>
</div>
)

@ -31,16 +31,16 @@ class Index extends Component{
<ul className="settingNav">
<li className={flag?"active":""}><Link to={`/projects/${projectsId}/setting`}>仓库</Link></li>
<li className={pathname.indexOf('setting/collaborator')>-1?"active":""}><Link to={`/projects/${projectsId}/setting/collaborator`}>协作者</Link></li>
<li className={pathname.indexOf('setting/branch')>-1?"active":""}><Link to={`/projects/${projectsId}/setting/branch`}>分支列表</Link></li>
{/* <li className={pathname.indexOf('setting/branch')>-1?"active":""}><Link to={`/projects/${projectsId}/setting/branch`}>分支列表</Link></li> */}
</ul>
<div className="main">
<Switch {...this.props}>
{/* 分支列表 */}
<Route path="/projects/:projectsId/setting/branch"
{/* <Route path="/projects/:projectsId/setting/branch"
render={
(props) => (<Branch {...this.props} {...props} {...this.state}/>)
}
></Route>
></Route> */}
{/* 协作者 */}
<Route path="/projects/:projectsId/setting/collaborator"
render={

@ -10,6 +10,7 @@ class Setting extends Component{
this.state={
CategoryList:undefined,
LanguageList:undefined,
private_check:undefined
}
}
@ -39,6 +40,9 @@ class Setting extends Component{
this.props.form.setFieldsValue({
...result.data
})
this.setState({
private_check:result.data.private
})
}
}).catch(error=>{
console.log(error);
@ -74,10 +78,12 @@ class Setting extends Component{
this.props.form.validateFields((err,values)=>{
if(!err){
const { project_id } = this.props;
const { private_check } = this.state;
const url = `/projects/${project_id}.json`;
axios.put(url,{
name:values.project_name,
description:values.project_description,
private:private_check,
...values
}).then(result=>{
if(result){
@ -108,11 +114,17 @@ class Setting extends Component{
}
})
}
changePrivate=(e)=>{
console.log(e);
this.setState({
private_check:e.target.checked
})
}
render(){
const { getFieldDecorator } = this.props.form;
const { CategoryList , LanguageList } = this.state;
const { CategoryList , LanguageList , private_check } = this.state;
return(
<div>
<div className="normalBox">
@ -139,7 +151,7 @@ class Setting extends Component{
{getFieldDecorator('private', {
rules: [],
})(
<Checkbox >将仓库设为私有</Checkbox>
<Checkbox checked={private_check} onChange={this.changePrivate}>将仓库设为私有</Checkbox>
)}
</Form.Item >
</div>

Loading…
Cancel
Save