Succed to get the books from our api server and print them dynamically
authorrougeronj
Tue, 17 Mar 2015 16:34:23 +0100
changeset 14 4d27fbc3f9df
parent 13 08f34bbc70ee
child 15 a3b7c0823378
Succed to get the books from our api server and print them dynamically
.pydevproject
client/app/app.js
client/app/home/home.html
client/app/home/home_controller.js
client/app/index.html
client/app/login/login_controller.js
client/app/slideshow/slideshow_controller.js
db.sqlite3
server/ammico/admin.py
server/ammico/models.py
server/ammico/serializers.py
server/ammico/urls.py
server/ammico/views.py
--- a/.pydevproject	Wed Mar 11 17:38:14 2015 +0100
+++ b/.pydevproject	Tue Mar 17 16:34:23 2015 +0100
@@ -1,8 +1,11 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?eclipse-pydev version="1.0"?><pydev_project>
-<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">ammico_python</pydev_property>
-<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.7</pydev_property>
+<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">python_ammico</pydev_property>
+<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 3.0</pydev_property>
 <pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
 <path>/${PROJECT_DIR_NAME}/server</path>
 </pydev_pathproperty>
+<pydev_pathproperty name="org.python.pydev.PROJECT_EXTERNAL_SOURCE_PATH">
+<path>/Users/rougeronj/workspace/Envs/ammicoEnv/lib/python3.4/site-packages</path>
+</pydev_pathproperty>
 </pydev_project>
--- a/client/app/app.js	Wed Mar 11 17:38:14 2015 +0100
+++ b/client/app/app.js	Tue Mar 17 16:34:23 2015 +0100
@@ -54,7 +54,6 @@
       $logProvider.debugEnabled(true);
     })
     .service('searchApi', function($resource, context) {
-        console.log('search 4',$resource, context);
         this.searchResource = function(params){
             return $resource(context.urls.searchUrl,  
                 {
@@ -85,6 +84,7 @@
                     }
                 });
         };
+        this.getResource = $resource(context.urls.ammicoUrl+'/:action', {action:'@action'});
     });
 
 })();
--- a/client/app/home/home.html	Wed Mar 11 17:38:14 2015 +0100
+++ b/client/app/home/home.html	Tue Mar 17 16:34:23 2015 +0100
@@ -1,7 +1,10 @@
 <h1>Ammico Application</h1>
-<p>Liste des pages&nbsp;:</p>
-<ul>
-    <li><a href="#">Home</a></li>
-    <li><a href="#gallery">Galerie</a></li>
-    <li><a href="#slideshow">Diaporama</a></li>
-</ul>
+<p>Liste des books&nbsp;:</p>
+
+<ul class="row ">
+  <li class="" ng-repeat="i in books">
+    <div class="visites-list">
+       <a class="visite" href="">{{ i.title }}</a>
+    </div>
+  </li>
+</ul>
\ No newline at end of file
--- a/client/app/home/home_controller.js	Wed Mar 11 17:38:14 2015 +0100
+++ b/client/app/home/home_controller.js	Tue Mar 17 16:34:23 2015 +0100
@@ -1,33 +1,40 @@
 (function(){
-  'use strict';
+	'use strict';
 
 
-  angular.module('ammicoHome',['ngRoute'])
-    .config(function ($routeProvider) {
-      $routeProvider
-        .when('/', {
-          templateUrl: 'home/home.html',
-          controller: 'homeCtrl'
-        });
-    })
-    .controller('homeCtrl', function($scope, $location){
-      console.log('5-0',$scope, $location);
-      $scope.searchSubmit = function(){
-          $location.path('/search/' + $scope.q);
-      };
-    })
-    .filter('meta', function() {
-        return function(input, metaName) {
-            var nb = input.length, i = 0, found = false;
-            while(found===false && i<nb){
-                if(input[i].name===metaName){
-                    found = true;
-                    return input[i].value;
-                }
-                i++;
-            }
-            return '';
-        };
-    });
+	angular.module('ammicoHome',['ngRoute'])
+	.config(function ($routeProvider) {
+		$routeProvider
+		.when('/', {
+			templateUrl: 'home/home.html',
+			controller: 'homeCtrl'
+		});
+	})
+	.service('booksModel', function(searchApi) {
+		var _this = this;
+		
+		this.books = searchApi.getResource.query({action:'books', format:'json'}, function(data){
+			_this.books = data;
+		});
+	})
+	.controller('homeCtrl', function($scope, $location, booksModel){
+		$scope.books = booksModel.books;
+		$scope.searchSubmit = function(){
+			$location.path('/search/' + $scope.q);
+		};
+	})
+	.filter('meta', function() {
+		return function(input, metaName) {
+			var nb = input.length, i = 0, found = false;
+			while(found===false && i<nb){
+				if(input[i].name===metaName){
+					found = true;
+					return input[i].value;
+				}
+				i++;
+			}
+			return '';
+		};
+	});
 
 })();
--- a/client/app/index.html	Wed Mar 11 17:38:14 2015 +0100
+++ b/client/app/index.html	Tue Mar 17 16:34:23 2015 +0100
@@ -60,6 +60,7 @@
               record: angular.fromJson('{"record": "record value"}'),
               urls: {
                   base_static: "./",
+                  ammicoUrl: "http://127.0.0.1:8080/ammico",
                   searchUrl: "http://ammico.labs.exalead.com/search-api"
               }
           });
--- a/client/app/login/login_controller.js	Wed Mar 11 17:38:14 2015 +0100
+++ b/client/app/login/login_controller.js	Tue Mar 17 16:34:23 2015 +0100
@@ -11,7 +11,7 @@
         });
     })
     .controller('loginCtrl', function($http){
-    	$http.get('http://127.0.0.1:8000/ammico/login/?&username=toto@gmail.com').
+    	$http.get('http://127.0.0.1:8080/ammico/login/?&username=toto@gmail.com').
     	  success(function() {
     	    console.log('KATAPLA !');
     	  });
--- a/client/app/slideshow/slideshow_controller.js	Wed Mar 11 17:38:14 2015 +0100
+++ b/client/app/slideshow/slideshow_controller.js	Tue Mar 17 16:34:23 2015 +0100
@@ -10,16 +10,12 @@
         });
     })
     .service('slideshowModel', function(searchApi) {
-      console.log('slideshow 6',this);
       this.slideshow = searchApi.searchResource({q:'stop_email=toto@gmail.com', of: 'json', synthesis: 'false', nresults:'50', callback: 'JSON_CALLBACK'}).getJsonp();
     })
     .controller('slideshowCtrl', function($scope, $filter, $location, $routeParams, $timeout, searchApi, slideshowModel){
-      //console.log('slideshow 7', $location, $routeParams, searchApi);
-      console.log('slideshow 7');
       $scope.slideshow = slideshowModel.slideshow;
       
       $scope.iSlide = parseInt($routeParams.iSlide) || 0;
-      //console.log('$routeParams',$routeParams);
       if(typeof $routeParams.searched !== 'undefined'){
           var a = $routeParams.searched.split(',');
           var q = a[0], i = parseInt(a[1]);
@@ -49,7 +45,6 @@
       }, 500);
       
       $scope.save = function(){
-          //console.log('8 call save POST',$scope.slideshow);
           $scope.slideshow
           .$save()
           .then(
Binary file db.sqlite3 has changed
--- a/server/ammico/admin.py	Wed Mar 11 17:38:14 2015 +0100
+++ b/server/ammico/admin.py	Tue Mar 17 16:34:23 2015 +0100
@@ -1,5 +1,5 @@
 from django.contrib import admin
-from models import Slide, AmmicoUser, Book
+from .models import Slide, AmmicoUser, Book
 
 
 admin.site.register(Slide)
--- a/server/ammico/models.py	Wed Mar 11 17:38:14 2015 +0100
+++ b/server/ammico/models.py	Tue Mar 17 16:34:23 2015 +0100
@@ -7,9 +7,8 @@
     idUser = models.CharField(max_length=512, unique=True)
     image = models.URLField(max_length=2048, blank=True)
     
-    def __unicode__(self):
-        return unicode(self.user.username)
-
+    def __str__(self):
+        return self.user.username
 
 class Book(models.Model):
     user = models.ForeignKey(AmmicoUser)
@@ -19,8 +18,8 @@
     image = models.URLField(max_length=2048, blank=True)
     date = models.DateTimeField(null=True)
     
-    def __unicode__(self):
-        return unicode(self.title)
+    def __str__(self):
+        return self.title
 
 class Slide(models.Model):
     book = models.ForeignKey(Book)
@@ -28,6 +27,7 @@
     comment = models.CharField(max_length=512, blank=True)
     date = models.DateTimeField(blank=True)
     favorite = models.BooleanField(default=False, db_index=True)
+    #keywords
     
-    def __unicode__(self):
-        return unicode(self.idStop)
\ No newline at end of file
+    def __str__(self):
+        return self.idStop
\ No newline at end of file
--- a/server/ammico/serializers.py	Wed Mar 11 17:38:14 2015 +0100
+++ b/server/ammico/serializers.py	Tue Mar 17 16:34:23 2015 +0100
@@ -1,5 +1,5 @@
 from rest_framework import serializers
-from models import Book, Slide
+from .models import Book, Slide
 
 
 class BookSerializer(serializers.ModelSerializer):
--- a/server/ammico/urls.py	Wed Mar 11 17:38:14 2015 +0100
+++ b/server/ammico/urls.py	Tue Mar 17 16:34:23 2015 +0100
@@ -1,5 +1,5 @@
 from django.conf.urls import patterns, url
-from ammico.views import populateUser, ListBooks, InfoBook, ListSlides, InfoSlide
+from .views import populateUser, ListBooks, InfoBook, ListSlides, InfoSlide
 
 urlpatterns = patterns('',
     url(r'^populateUser/', populateUser, name='populateUser'),
--- a/server/ammico/views.py	Wed Mar 11 17:38:14 2015 +0100
+++ b/server/ammico/views.py	Tue Mar 17 16:34:23 2015 +0100
@@ -5,8 +5,8 @@
 from datetime import datetime
 from django.utils.dateparse import parse_datetime
 from django.contrib.auth.models import User
-from models import Book, AmmicoUser, Slide
-from serializers import BookSerializer, SlideSerializer
+from .models import Book, AmmicoUser, Slide
+from .serializers import BookSerializer, SlideSerializer
 
 from rest_framework.views import APIView
 from rest_framework.response import Response
@@ -49,7 +49,7 @@
             else:
                 comment = ""
             
-            print datetime.strptime(step['DATE'] + " " + step['TIME'], "%d/%m/%Y %H:%M:%S")
+            print (datetime.strptime(step['DATE'] + " " + step['TIME'], "%d/%m/%Y %H:%M:%S"))
             
             Slide.objects.get_or_create(
                 book=book,