<< | Index | >>

in src/state/drugs/fachinfo.rb
class RootFachinfo < Fachinfo
...
private
def _has_editor_privilege?
user = @session.user
[
'org.oddb.RootUser',
'org.oddb.AdminUser'
].each do |priv|
return true if user.allowed?('login', priv)
end
return false
end
..
in src/view/drugs/fachinfo.rb
class RootFachinfoComposite < View::Drugs::FachinfoComposite
...
def chapter_view(chapter)
if(@model.company.invoiceable?)
. ..
end
I enabled Comany User to edit fachinfo (their owned fachinfo only).
Add img tag handling for doc.
rwv2 gem have arleady picture handling.
It is called from cpp parser.
module Rwv2
...
class TextHandler
def section_start(section_properties); end
def section_end; end
def page_break; end
def paragraph_start(paragraph_properties); end
def paragraph_end; end
def run_of_text(text, character_properties); end
def picture(pict); end
end
...
end
But picture method are not called, expectedly.
I tried wv2-patch for picture data in rwv2 project.
I patched this patch against wv2-0.4.2
This patch are created against wv2-0.2.3.
It seems that patch is fine without word97_helper.cpp.
$ cmake
$ make
Scanning dependencies of target wv2
[ 2%] Building CXX object src/CMakeFiles/wv2.dir/olestorage.cpp.o
In file included from /home/yasuhiro/Downloads/wv2-0.4.2/src/olestream.h:26:0,
from /home/yasuhiro/Downloads/wv2-0.4.2/src/olestorage.cpp:20:
/usr/include/glib-2.0/glib/giochannel.h:28:2: error: #error "Only <glib.h> can be included directly."
make[2]: *** [src/CMakeFiles/wv2.dir/olestorage.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/wv2.dir/all] Error 2
make: *** [all] Error 2
~/Downloads/wv2-0.4.2 591 $
Fixed this problem another patch from Ports project.
But I could not compile.
[ 30%] Building CXX object src/CMakeFiles/wv2.dir/parser9x.cpp.o /home/yasuhiro/Downloads/wv2-0.4.2/src/parser9x.cpp: In member function ‘void wvWare::Parser9x::processSpecialCharacter(wvWare::UChar, wvWare::U32, wvWare::SharedPtr<const wvWare::Word97::CHP>)’: /home/yasuhiro/Downloads/wv2-0.4.2/src/parser9x.cpp:758:14: error: ‘Drawing’ is not a member of ‘wvWare::TextHandler’ make[2]: *** [src/CMakeFiles/wv2.dir/parser9x.cpp.o] Error 1 make[1]: *** [src/CMakeFiles/wv2.dir/all] Error 2 make: *** [all] Error 2
commented out this line.
// It has to be one of the very special characters...
//case TextHandler::Drawing:
case TextHandler::Picture:
I could complie wv2.
I compiled also extension for rwv2 gem with this wv2.
But result was same :(
parser ignored all images.
wv2-0.4.2 has PictureHandler.
I tried to parser image with this PictureHandler.
But parser got SEGV error.
-- C level backtrace information ------------------------------------------- /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x17d1e8) [0x7ff34095b1e8] vm_dump.c:796 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x5f741) [0x7ff34083d741] error.c:258 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(rb_bug+0xb7) [0x7ff34083e527] error.c:277 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x111d4f) [0x7ff3408efd4f] signal.c:609 /lib64/libpthread.so.0(+0xfb90) [0x7ff3405d0b90] /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/ruby/site_ruby/1.9.1/x86_64-linux/rwv2.so(_ZN15Rwv2TextHandler11pictureDataEN6wvWare9SharedPtrIKNS0_6Word974PICFEEEPh+0xa5) [0x7ff3379f2905] /usr/local/include/wv2/sharedptr.h:112 /usr/lib64/libwv2.so.4(_ZN6wvWare8Parser9x16processParagraphEj+0x90c) [0x7ff3377be72c] hash.c:2600 /usr/lib64/libwv2.so.4(_ZN6wvWare8Parser9x12processPieceIhEEvPT_jjRKNS0_8PositionE+0x1ba) [0x7ff3377c067a] hash.c:221 /usr/lib64/libwv2.so.4(_ZN6wvWare8Parser9x11parseHelperENS0_8PositionE+0x1c8) [0x7ff3377beaf8] hash.c:2044 /usr/lib64/libwv2.so.4(_ZN6wvWare8Parser9x9parseBodyEv+0xe5) [0x7ff3377bf7d5] hash.c:243 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/ruby/site_ruby/1.9.1/x86_64-linux/rwv2.so(rwv2_parser_parse+0x1b) [0x7ff3379f2eab] rwv2_parser.cpp:39 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x176991) [0x7ff340954991] vm_insnhelper.c:404 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x16c709) [0x7ff34094a709] insns.def:1015 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x172b9a) [0x7ff340950b9a] vm.c:1220 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x1772af) [0x7ff3409552af] vm.c:624 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(rb_rescue2+0x16b) [0x7ff3408444fb] eval.c:647 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x16861e) [0x7ff34094661e] vm_eval.c:846 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x176991) [0x7ff340954991] vm_insnhelper.c:404 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x16c709) [0x7ff34094a709] insns.def:1015 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x172b9a) [0x7ff340950b9a] vm.c:1220 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x173b61) [0x7ff340951b61] vm.c:670 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x182f2e) [0x7ff340960f2e] thread.c:453 /home/yasuhiro/.rbenv/versions/1.9.3-p194/lib/libruby.so.1.9(+0x183089) [0x7ff340961089] thread_pthread.c:653 /lib64/libpthread.so.0(+0x7e6c) [0x7ff3405c8e6c] rwv2_properties.cpp:87 /lib64/libc.so.6(clone+0x6d) [0x7ff33fa46b1d] process.c:1600 ... "string contains null byte"
re-compile wv2 with patch.
$ cd wv2-0.4.2/src $ patch < /path/to/ports-patch.patch patching file olestream.h $ cd ../ $ cmake . $ make $ sudo make install