You must be logged in to do that (read scm)
[subversion:2] faking pk: tracdb_ext models
- From: esimorre@kenai.com
- To: commits@django-trac.kenai.com
- Subject: [subversion:2] faking pk: tracdb_ext models
- Date: Wed, 1 Oct 2008 21:35:52 +0000 (GMT)
Repository: subversion
Revision: 2
Author: esimorre
Date: 2008-10-01 21:35:47 UTC
Log Message:
-----------
faking pk: tracdb_ext models
Modified Paths:
--------------
tracdb/admin.pytracdb/models.pysettings.py
Added Paths:
-----------
tracdb_ext/__init__.pytracdb_ext/models.pytracdb_ext/views.pytracdb/fie
lds.pytracdb_ext/admin.pytracdb_ext
Diffs:
-----
Index: tracdb/admin.py
===================================================================
--- tracdb/admin.py (revision 1)
+++ tracdb/admin.py (revision 2)
@@ -0,0 +1,43 @@
+from django.contrib import admin
+from models import *
+
+class TicketAdmin(admin.ModelAdmin):
+ #date_hierarchy = 'time'
+ list_display=('id', 'summary', 'time', 'component', 'milestone',
'priority', 'status', 'resolution', 'owner', 'reporter')
+ list_filter = ('component', 'milestone', 'priority', 'status',
'resolution', 'owner', 'reporter')
+admin.site.register(Ticket, TicketAdmin)
+
+
+class ComponentAdmin(admin.ModelAdmin):
+ list_display=('name','owner', 'description',)
+ list_filter = ('owner',)
+admin.site.register(Component, ComponentAdmin)
+
+
+class MilestoneAdmin(admin.ModelAdmin):
+ list_display=('name','due', 'completed', 'description',)
+ list_filter = ('due', 'completed')
+admin.site.register(Milestone, MilestoneAdmin)
+
+
+class ReportAdmin(admin.ModelAdmin):
+ list_display=('title', 'author', 'description',)
+ list_filter = ('author',)
+admin.site.register(Report, ReportAdmin)
+
+
+class SystemAdmin(admin.ModelAdmin):
+ list_display=('name', 'value',)
+admin.site.register(System, SystemAdmin)
+
+
+class RevisionAdmin(admin.ModelAdmin):
+ #date_hierarchy = 'time'
+ list_display=('rev','time', 'author', 'message')
+ list_filter = ('author',)
+admin.site.register(Revision, RevisionAdmin)
+
+
+class VersionAdmin(admin.ModelAdmin):
+ list_display=('name','time', 'description')
+admin.site.register(Version, VersionAdmin)
Index: tracdb/models.py
===================================================================
--- tracdb/models.py (revision 1)
+++ tracdb/models.py (revision 2)
@@ -1,157 +1,73 @@
from django.db import models
+import fields
-# direct from inspectdb
-class Attachment(models.Model):
- type = models.TextField(blank=True)
- id = models.TextField(blank=True)
- filename = models.TextField(blank=True)
- size = models.IntegerField(null=True, blank=True)
+class Ticket(models.Model):
+ id = models.IntegerField(null=True, primary_key=True, blank=True)
+ type = fields.ShortTextField(blank=True)
time = models.IntegerField(null=True, blank=True)
+ changetime = models.IntegerField(null=True, blank=True)
+ component = fields.ShortTextField(blank=True)
+ severity = fields.ShortTextField(blank=True)
+ priority = fields.ShortTextField(blank=True)
+ owner = fields.ShortTextField(blank=True)
+ reporter = fields.ShortTextField(blank=True)
+ cc = fields.ShortTextField(blank=True)
+ version = fields.ShortTextField(blank=True)
+ milestone = fields.ShortTextField(blank=True)
+ status = fields.ShortTextField(blank=True)
+ resolution = fields.ShortTextField(blank=True)
+ summary = models.TextField(blank=True)
description = models.TextField(blank=True)
- author = models.TextField(blank=True)
- ipnr = models.TextField(blank=True)
+ keywords = fields.ShortTextField(blank=True)
+
+ def __unicode__(self):
+ return unicode(self.id)
class Meta:
- db_table = u'attachment'
+ db_table = u'ticket'
-class AuthCookie(models.Model):
- cookie = models.TextField(blank=True)
- name = models.TextField(blank=True)
- ipnr = models.TextField(blank=True)
- time = models.IntegerField(null=True, blank=True)
- class Meta:
- db_table = u'auth_cookie'
-
class Component(models.Model):
- name = models.TextField(primary_key=True, blank=True)
- owner = models.TextField(blank=True)
+ name = fields.ShortTextField(primary_key=True, blank=True)
+ owner = fields.ShortTextField(blank=True)
description = models.TextField(blank=True)
class Meta:
db_table = u'component'
-class Enum(models.Model):
- type = models.TextField(blank=True)
- name = models.TextField(blank=True)
- value = models.TextField(blank=True)
- class Meta:
- db_table = u'enum'
-
class Milestone(models.Model):
- name = models.TextField(primary_key=True, blank=True)
- due = models.IntegerField(null=True, blank=True)
- completed = models.IntegerField(null=True, blank=True)
+ name = fields.ShortTextField(primary_key=True, blank=True)
+ due = models.BooleanField(null=True, blank=True)
+ completed = models.BooleanField(null=True, blank=True)
description = models.TextField(blank=True)
class Meta:
db_table = u'milestone'
-class NodeChange(models.Model):
- rev = models.TextField(blank=True)
- path = models.TextField(blank=True)
- node_type = models.TextField(blank=True)
- change_type = models.TextField(blank=True)
- base_path = models.TextField(blank=True)
- base_rev = models.TextField(blank=True)
- class Meta:
- db_table = u'node_change'
-
-class Permission(models.Model):
- username = models.TextField(blank=True)
- action = models.TextField(blank=True)
- class Meta:
- db_table = u'permission'
-
class Report(models.Model):
id = models.IntegerField(null=True, primary_key=True, blank=True)
- author = models.TextField(blank=True)
- title = models.TextField(blank=True)
+ author = fields.ShortTextField(blank=True)
+ title = fields.ShortTextField(blank=True)
query = models.TextField(blank=True)
description = models.TextField(blank=True)
class Meta:
db_table = u'report'
-class Revision(models.Model):
- rev = models.TextField(primary_key=True, blank=True)
- time = models.IntegerField(null=True, blank=True)
- author = models.TextField(blank=True)
- message = models.TextField(blank=True)
- class Meta:
- db_table = u'revision'
-
-class Session(models.Model):
- sid = models.TextField(blank=True)
- authenticated = models.IntegerField(null=True, blank=True)
- last_visit = models.IntegerField(null=True, blank=True)
- class Meta:
- db_table = u'session'
-
-class SessionAttribute(models.Model):
- sid = models.TextField(blank=True)
- authenticated = models.IntegerField(null=True, blank=True)
- name = models.TextField(blank=True)
- value = models.TextField(blank=True)
- class Meta:
- db_table = u'session_attribute'
-
class System(models.Model):
- name = models.TextField(primary_key=True, blank=True)
- value = models.TextField(blank=True)
+ name = fields.ShortTextField(primary_key=True, blank=True)
+ value = fields.ShortTextField(blank=True)
class Meta:
db_table = u'system'
-class Ticket(models.Model):
- id = models.IntegerField(null=True, primary_key=True, blank=True)
- type = models.TextField(blank=True)
+class Revision(models.Model):
+ rev = fields.ShortTextField(primary_key=True, blank=True)
time = models.IntegerField(null=True, blank=True)
- changetime = models.IntegerField(null=True, blank=True)
- component = models.TextField(blank=True)
- severity = models.TextField(blank=True)
- priority = models.TextField(blank=True)
- owner = models.TextField(blank=True)
- reporter = models.TextField(blank=True)
- cc = models.TextField(blank=True)
- version = models.TextField(blank=True)
- milestone = models.TextField(blank=True)
- status = models.TextField(blank=True)
- resolution = models.TextField(blank=True)
- summary = models.TextField(blank=True)
- description = models.TextField(blank=True)
- keywords = models.TextField(blank=True)
+ author = fields.ShortTextField(blank=True)
+ message = fields.ShortTextField(blank=True)
class Meta:
- db_table = u'ticket'
+ db_table = u'revision'
-class TicketChange(models.Model):
- ticket = models.IntegerField(null=True, blank=True)
- time = models.IntegerField(null=True, blank=True)
- author = models.TextField(blank=True)
- field = models.TextField(blank=True)
- oldvalue = models.TextField(blank=True)
- newvalue = models.TextField(blank=True)
- class Meta:
- db_table = u'ticket_change'
-
-class TicketCustom(models.Model):
- ticket = models.IntegerField(null=True, blank=True)
- name = models.TextField(blank=True)
- value = models.TextField(blank=True)
- class Meta:
- db_table = u'ticket_custom'
-
class Version(models.Model):
- name = models.TextField(primary_key=True, blank=True)
+ name = fields.ShortTextField(primary_key=True, blank=True)
time = models.IntegerField(null=True, blank=True)
description = models.TextField(blank=True)
class Meta:
db_table = u'version'
-class Wiki(models.Model):
- name = models.TextField(blank=True)
- version = models.IntegerField(null=True, blank=True)
- time = models.IntegerField(null=True, blank=True)
- author = models.TextField(blank=True)
- ipnr = models.TextField(blank=True)
- text = models.TextField(blank=True)
- comment = models.TextField(blank=True)
- readonly = models.IntegerField(null=True, blank=True)
- class Meta:
- db_table = u'wiki'
-
Index: tracdb/fields.py
===================================================================
--- tracdb/fields.py (revision 0)
+++ tracdb/fields.py (revision 2)
@@ -0,0 +1,9 @@
+from django.db import models
+from django import forms
+
+class ShortTextField(models.TextField):
+ def formfield(self, **kwargs):
+ defaults = {}
+ defaults.update(kwargs)
+ defaults['widget'] = forms.TextInput
+ return super(ShortTextField, self).formfield(**defaults)
Property changes on: tracdb/fields.py
___________________________________________________________________
Name: svn:keywords
+ Id
Index: tracdb_ext/admin.py
===================================================================
--- tracdb_ext/admin.py (revision 0)
+++ tracdb_ext/admin.py (revision 2)
@@ -0,0 +1,27 @@
+from django.contrib import admin
+from models import *
+
+class EnumAdmin(admin.ModelAdmin):
+ list_display=('name','type', 'value')
+ list_filter = ('type',)
+admin.site.register(Enum, EnumAdmin)
+
+
+class PermissionAdmin(admin.ModelAdmin):
+ list_display=('username','action',)
+ list_filter = ('username', 'action')
+admin.site.register(Permission, PermissionAdmin)
+
+'''
+class TicketChangeAdmin(admin.ModelAdmin):
+ #date_hierarchy = 'time'
+ list_display=('ticket','author', 'field', 'oldvalue', 'newvalue')
+ list_filter = ('ticket', 'author', 'field')
+admin.site.register(TicketChange, TicketChangeAdmin)
+
+
+class TicketCustomAdmin(admin.ModelAdmin):
+ list_display=('ticket','name', 'value',)
+ list_filter = ('ticket', 'name',)
+admin.site.register(TicketCustom, TicketCustomAdmin)
+'''
\ No newline at end of file
Property changes on: tracdb_ext/admin.py
___________________________________________________________________
Name: svn:keywords
+ Id
Index: tracdb_ext/views.py
===================================================================
--- tracdb_ext/views.py (revision 0)
+++ tracdb_ext/views.py (revision 2)
@@ -0,0 +1 @@
+# Create your views here.
Property changes on: tracdb_ext/views.py
___________________________________________________________________
Name: svn:keywords
+ Id
Index: tracdb_ext/__init__.py
===================================================================
Property changes on: tracdb_ext/__init__.py
___________________________________________________________________
Name: svn:keywords
+ Id
Index: tracdb_ext/models.py
===================================================================
--- tracdb_ext/models.py (revision 0)
+++ tracdb_ext/models.py (revision 2)
@@ -0,0 +1,110 @@
+from django.db import models
+from django_trac.tracdb import fields
+# declared primary keys are not real primary keys
+
+class Enum(models.Model):
+ type = fields.ShortTextField(blank=True)
+ name = fields.ShortTextField(blank=True, primary_key=True)
+ value = fields.ShortTextField(blank=True)
+
+ def __unicode__(self):
+ return self.name
+
+ class Meta:
+ db_table = u'enum'
+
+
+
+class Permission(models.Model):
+ username = fields.ShortTextField(blank=True, primary_key=True)
+ action = fields.ShortTextField(blank=True)
+
+ def __unicode__(self):
+ return '%s:%s' %(self.username, self.action)
+ class Meta:
+ db_table = u'permission'
+ unique_together = ('username', 'action')
+
+class TicketChange(models.Model):
+ #ticket = models.IntegerField(null=True, blank=True)
+ ticket = models.ForeignKey(Ticket, db_column='ticket',
related_name='changes')
+ time = models.IntegerField(null=True, blank=True,
primary_key=True)
+ author = fields.ShortTextField(blank=True)
+ field = fields.ShortTextField(blank=True)
+ oldvalue = fields.ShortTextField(blank=True)
+ newvalue = fields.ShortTextField(blank=True)
+ class Meta:
+ db_table = u'ticket_change'
+ unique_together = ('ticket','time','field')
+
+class TicketCustom(models.Model):
+ #ticket = models.IntegerField(null=True, blank=True)
+ ticket = models.ForeignKey(Ticket, db_column='ticket',
related_name='customs')
+ name = fields.ShortTextField(blank=True, primary_key=True)
+ value = fields.ShortTextField(blank=True)
+ class Meta:
+ db_table = u'ticket_custom'
+ unique_together = ('ticket','name')
+
+class Attachment(models.Model):
+ type = fields.ShortTextField(blank=True)
+ id = fields.ShortTextField(blank=True)
+ filename = fields.ShortTextField(blank=True)
+ size = models.IntegerField(null=True, blank=True)
+ time = models.IntegerField(null=True, blank=True,
primary_key=True)
+ description = models.TextField(blank=True)
+ author = fields.ShortTextField(blank=True)
+ ipnr = fields.ShortTextField(blank=True)
+ class Meta:
+ db_table = u'attachment'
+ unique_together = ('type','id','filename')
+
+class AuthCookie(models.Model):
+ cookie = fields.ShortTextField(blank=True)
+ name = fields.ShortTextField(blank=True)
+ ipnr = fields.ShortTextField(blank=True)
+ time = models.IntegerField(null=True, blank=True,
primary_key=True)
+ class Meta:
+ db_table = u'auth_cookie'
+ unique_together = ('cookie','ipnr','name')
+
+class Session(models.Model):
+ sid = fields.ShortTextField(blank=True, primary_key=True)
+ authenticated = models.BooleanField(null=True, blank=True)
+ last_visit = models.IntegerField(null=True, blank=True)
+ class Meta:
+ db_table = u'session'
+
+class SessionAttribute(models.Model):
+ sid = fields.ShortTextField(blank=True, primary_key=True)
+ authenticated = models.BooleanField(null=True, blank=True)
+ name = fields.ShortTextField(blank=True)
+ value = fields.ShortTextField(blank=True)
+ class Meta:
+ db_table = u'session_attribute'
+ unique_together = ('sid','authenticated','name')
+
+
+class NodeChange(models.Model):
+ rev = fields.ShortTextField(blank=True, primary_key=True)
+ path = fields.ShortTextField(blank=True)
+ node_type = fields.ShortTextField(blank=True)
+ change_type = fields.ShortTextField(blank=True)
+ base_path = fields.ShortTextField(blank=True)
+ base_rev = fields.ShortTextField(blank=True)
+ class Meta:
+ db_table = u'node_change'
+ unique_together = ('rev','path','change_type')
+
+class Wiki(models.Model):
+ name = fields.ShortTextField(blank=True)
+ version = models.IntegerField(null=True, blank=True)
+ time = models.IntegerField(null=True, blank=True,
primary_key=True)
+ author = fields.ShortTextField(blank=True)
+ ipnr = fields.ShortTextField(blank=True)
+ text = models.TextField(blank=True)
+ comment = fields.ShortTextField(blank=True)
+ readonly = models.BooleanField(null=True, blank=True)
+ class Meta:
+ db_table = u'wiki'
+ unique_together = ('name','version')
Property changes on: tracdb_ext/models.py
___________________________________________________________________
Name: svn:keywords
+ Id
Index: settings.py
===================================================================
--- settings.py (revision 1)
+++ settings.py (revision 2)
@@ -78,4 +78,5 @@
'django.contrib.sites',
'django.contrib.admin',
'django_trac.tracdb',
+ 'django_trac.tracdb_ext',
)
|
[subversion:2] faking pk: tracdb_ext models |
esimorre | 10/01/2008 |





