from django.contrib import admin
# Register your models here.
+from django.contrib import admin
+from .models import TestRecord, TestBranch
+
+class TestRecordAdmin(admin.ModelAdmin):
+ list_display = ('id', 'branch', 'uuid', 'test_machine')
+ list_filter = ('branch',)
+ actions = ['approve_machine']
+
+admin.site.register(TestRecord, TestRecordAdmin)
+
+admin.site.register(TestBranch)
\ No newline at end of file
from django.contrib import admin
# Register your models here.
+from serializer import UserMachineSerializer
+from .models import UserMachine,Alias
+
+class UserMachineAdmin(admin.ModelAdmin):
+ list_display = ('alias', 'machine_sn', 'state')
+ list_filter = ('state',)
+ actions = ['approve_machine']
+
+ def approve_machine(self, request, queryset):
+ for machine in queryset:
+ alias = Alias.objects.filter(is_used=False).order_by('?')[:1]
+ #todo
+ serializer = UserMachineSerializer(machine)
+ serializer.save()
+
+ # rows_updated = queryset.update(state=1)
+ # message_bit = "%s machine(s)" % rows_updated
+ # self.message_user(request, "%s have been approved." % message_bit)
+
+ approve_machine.short_description = u'Approve Machine(Modify the state to active, generate machine_sn, machine_secret, and assign an alias)'
+
+
+admin.site.register(UserMachine, UserMachineAdmin)
is_used = models.BooleanField(default=False,verbose_name="is_used")
add_time = models.DateTimeField(default=timezone.now, verbose_name="add time", help_text="category added time")
+ def __str__(self):
+ return self.name
class UserMachine(models.Model):
"""
user machine
machine_sn = models.CharField(max_length=16, verbose_name="machine sn")
machine_secret = models.CharField(max_length=32, verbose_name="machine secret")
machine_owner = models.ForeignKey(UserProfile)
- alias = models.ForeignKey(Alias, verbose_name="alias", help_text="alias")
+ alias = models.ForeignKey(Alias,blank=True ,verbose_name="alias", help_text="alias")
os_name = models.CharField(max_length=32, verbose_name="operation system name")
os_version = models.CharField(max_length=32, verbose_name="operation system version")
comp_name = models.CharField(max_length=32, verbose_name="compiler name")
add_time = models.DateTimeField(default=timezone.now, verbose_name="machine added time")
STATE_CHOICE = (
- ('prohibited', -1),
- ('pending', 0),
- ('active', 1),
+ (-1, 'prohibited'),
+ (0, 'pending'),
+ (1, 'active'),
)
state = models.IntegerField(choices=STATE_CHOICE, default=0,verbose_name="state", help_text="machine state")
verbose_name_plural = "user machines"
def __str__(self):
- return self.machine_sn
+ return self.alias.__str__() + ' (' + self.os_name + ' ' + self.os_version + '' + self.comp_name + ' ' + self.comp_version + ')'
1. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import include, url
+from django.contrib import admin
from rest_framework_jwt.views import obtain_jwt_token
from rest_framework.authtoken import views
-from django.contrib import admin
-from django.views.generic.base import RedirectView
-
from rest_framework.documentation import include_docs_urls
from rest_framework.routers import DefaultRouter
from test_records.views import TestRecordListViewSet, TestRecordCreate, TestRecordDetailViewSet, \
router.register(r'portal', UserPortalInfoViewSet, base_name="portal")
urlpatterns = [
- # url(r'^admin/', admin.site.urls),
+ url(r'^admin/', admin.site.urls),
+
url(r'^api-auth/', include('rest_framework.urls')),