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
  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2010, Oracle Corporation and/or its affiliates
(revision 20120127.ac94057)
 
 
Close
loading
Please Confirm
Close