Skip to content

Commit f8a2c99

Browse files
author
Mohamed ElKalioby
committed
Full Bootstrap support, added Default Branch
1 parent 490b3e7 commit f8a2c99

File tree

5 files changed

+66
-9
lines changed

5 files changed

+66
-9
lines changed

webapp/autoDeploy/autodeploy/forms.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,17 @@ def saveFile(file,project_name):
1919

2020
class ProjectsForm(forms.ModelForm):
2121
working_dir=forms.CharField(label="Working Directory",widget=forms.TextInput(attrs={'class':'form-control','size':30}))
22-
repo_type=forms.ChoiceField(choices=repo_type,label="Repo Type")
23-
update_style=forms.ChoiceField(choices=update_style,label="Update Style")
22+
repo_type=forms.ChoiceField(choices=repo_type,label="Repo Type",widget=forms.Select(attrs={"class":"form-control"}))
23+
update_style=forms.ChoiceField(choices=update_style,label="Update Style",widget=forms.Select(attrs={"class":"form-control"}))
2424
cfile=forms.FileField(label="Config File")
2525
name = forms.CharField(label='Project Name',widget=forms.TextInput(attrs={'class':'form-control','size':30}))
2626
repo_link= forms.CharField(label='Repo Link',widget=forms.TextInput(attrs={'class':'form-control','size':30}))
2727
repo= forms.CharField(label='Repo',widget=forms.TextInput(attrs={'class':'form-control','size':30}))
2828
deployment_link= forms.CharField(label='Deployment Link',widget=forms.TextInput(attrs={'class':'form-control','size':30}))
29-
emailUsers=forms.CharField(label='Users emails',help_text="comma seprated list of emails of users to notify when new version deployed",widget=forms.TextInput(attrs={'class':'form-control','size':30}))
29+
emailUsers=forms.CharField(required=False,label='Users emails',help_text="comma seprated list of emails of users to notify when new version deployed",widget=forms.TextInput(attrs={'class':'form-control','size':30}))
30+
default_server=forms.ModelChoiceField(queryset=models.Server.objects.all(),empty_label="Select",widget=forms.Select(attrs={"class":"form-control"}),label="Default Server")
31+
sshKey = forms.ModelChoiceField(queryset=models.SSHKey.objects.all(), empty_label="Select",label="SSH Key",widget=forms.Select(attrs={"class": "form-control"}))
32+
default_branch = forms.CharField(label='Default Branch', widget=forms.TextInput(attrs={'class': 'form-control', 'size': 30}))
3033

3134
def __init__(self, *args, **kwargs):
3235
super(ProjectsForm, self).__init__(*args, **kwargs)
@@ -45,6 +48,7 @@ def save(self,files,name):
4548
P.default_server=self.cleaned_data["default_server"]
4649
P.update_style=self.cleaned_data["update_style"]
4750
P.emailUsers=self.cleaned_data["emailUsers"]
51+
P.default_branch=self.cleaned_data["default_branch"]
4852

4953
print "Files is ",files
5054
f=files.get('cfile','')
@@ -53,7 +57,7 @@ def save(self,files,name):
5357
P.save()
5458
class Meta:
5559
model= models.Project
56-
fields=("name","repo","repo_link","working_dir","update_style","default_server","repo_type","sshKey","deployment_link","cfile","emailUsers")
60+
fields=("name","repo","repo_link","working_dir","update_style","default_branch","default_server","repo_type","sshKey","deployment_link","cfile","emailUsers")
5761

5862
class ServerForm(forms.ModelForm):
5963
ip=forms.CharField(widget=forms.TextInput(attrs={'class':'form-control','size':30}),label="Hostname/IP")
@@ -81,6 +85,6 @@ class Meta:
8185
fields=('name','key')
8286

8387
class CloneForm(forms.Form):
84-
server=forms.ModelChoiceField(queryset=models.Server.objects.all(),label="Server",required=True)
88+
server=forms.ModelChoiceField(queryset=models.Server.objects.all(),label="Server",required=True,widget=forms.Select(attrs={"class":"form-control"}))
8589

8690

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# -*- coding: utf-8 -*-
2+
from __future__ import unicode_literals
3+
4+
from django.db import models, migrations
5+
import datetime
6+
7+
8+
class Migration(migrations.Migration):
9+
10+
dependencies = [
11+
('autodeploy', '0014_auto_20160514_1317'),
12+
]
13+
14+
operations = [
15+
migrations.AlterModelOptions(
16+
name='deployment_server',
17+
options={'get_latest_by': 'id'},
18+
),
19+
# migrations.AddField(
20+
# model_name='deployment_server',
21+
# name='deployed',
22+
# field=models.BooleanField(default=True),
23+
# ),
24+
# # migrations.AddField(
25+
# model_name='project',
26+
# name='autoDeploy',
27+
# field=models.BooleanField(default=False),
28+
# ),
29+
migrations.AddField(
30+
model_name='project',
31+
name='default_branch',
32+
field=models.CharField(max_length=255, null=True),
33+
),
34+
migrations.AlterField(
35+
model_name='project',
36+
name='lastUpdate',
37+
field=models.DateTimeField(default=datetime.datetime(2017, 11, 23, 9, 37, 18, 29660), blank=True),
38+
),
39+
]

webapp/autoDeploy/autodeploy/models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ class Project(models.Model):
4141
deployment_link=models.CharField(max_length=200,blank=True)
4242
newVersion=models.BooleanField(default=False)
4343
emailUsers=models.TextField(default="",blank=True)
44-
44+
autoDeploy = models.BooleanField(default=False)
45+
default_branch=models.CharField(max_length=255,null=True)
4546
def __unicode__(self):
4647
return self.name
4748

webapp/autoDeploy/autodeploy/views.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ def add_project(request):
4343
project.default_server=Server.objects.get(name=request.POST["default_server"])
4444
project.update_style=request.POST["update_style"]
4545
project.emailUsers=request.POST["emailUsers"]
46+
project.default_branch=request.POST["default_branch"]
4647
if request.FILES.get("cfile","")!="":
4748
project.configFile=saveFile(request.FILES["cfile"],project.name)
4849
project.save()
@@ -281,6 +282,8 @@ def listCommits(request,filter=None):
281282
c=None
282283
server=None
283284
project=None
285+
project = Project.objects.get(name=request.session["deploy_project"])
286+
if filter==None: filter=project.default_branch if project.default_branch not in ("",None) else None
284287
print request.GET.get("refresh","False")
285288
if request.GET.get("refresh","False")=="True":
286289
if "commits" in request.session:
@@ -289,7 +292,7 @@ def listCommits(request,filter=None):
289292
return redirect("./listCommits")
290293
if filter or not "commits" in request.session:
291294
server = Server.objects.get(name=request.session["deploy_server"])
292-
project = Project.objects.get(name=request.session["deploy_project"])
295+
293296
c = Client("git", server.ip, server.port,key=project.sshKey.key)
294297
c.Pull(project.repo,project.working_dir,project.sshKey.key)
295298
res = c.ListCommits(project.working_dir,options={"branch":filter})

webapp/autoDeploy/templates/deploy2.html

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,23 @@ <h4>List of Tags <a href="{{ BASE_URL }}listCommits">Show Commits</a>&nbsp;<a hr
3333
{% elif mode == "commits" %}
3434
<h4>List of Commits <a href={{ BASE_URL }}"deploy2?server={{ server }}">Show Tags</a> <a href="?refresh=True"><span class="fa fa-refresh" title="Refresh"></span> </a></h4>
3535
{% if branchs|length > 1 %}
36-
Filter By Branch: <select name="branch" id="branchs">
36+
<div class="row">
37+
<div class="col-md-2" style="position: relative; top:10px;">
38+
<label>Filter By Branch:</label>
39+
</div>
40+
<div class="col-md-4">
41+
<select name="branch" id="branchs" class="form-control">
3742
{% for branch in branchs %}
3843
<option value="{{ branch }}"
3944
{% if current_branch == branch %} selected {% endif %}
4045
>{{ branch }}</option>
4146
{% endfor %}
42-
</select><a href="javascript:void(0);" onclick="filter_branch()"><span class="glyphicon glyphicon-filter"></span> </a>
47+
</select>
48+
</div>
49+
<div class="col-md-1" style="position: relative; top:10px;">
50+
<a href="javascript:void(0);" onclick="filter_branch()"><span class="glyphicon glyphicon-filter"></span> </a>
51+
</div>
52+
</div>
4353
{% endif %}
4454
<div align="center">
4555
{% render_table commits %}

0 commit comments

Comments
 (0)